Skip to content

Latest commit

 

History

History
106 lines (71 loc) · 2.58 KB

File metadata and controls

106 lines (71 loc) · 2.58 KB

Contentful Logo

Contentful Personalization & Analytics

Node SSR Only Reference Implementation

Warning

The Optimization SDK Suite is pre-release (alpha). Breaking changes may be published at any time.

This is a reference implementation for the Optimization Node SDK and is part of the Contentful Optimization SDK Suite.

Setup

All steps should be run from the monorepo root.

  1. Install pnpm packages:

    pnpm install
  2. Ensure the required packages can be built:

    pnpm --stream build
  3. Configure the environment in a .env file in implementations/node-sdk based on the .env.example included file. The file is pre-populated with values that are valid only against the mock server implementation. To test the implementation against a live server environment, see the mocks package for information on how to set up Contentful space with test data.

  4. Start the mock API and application servers:

    pnpm --dir implementations/node-sdk --ignore-workspace serve
  5. The application can be accessed via Web browser at http://localhost:3000

  6. Stop the mock API and application servers:

    pnpm --dir implementations/node-sdk --ignore-workspace serve:stop

See implementations/node-sdk/package.json for more commands.

Running From Root Scripts

You can run this implementation from the monorepo root via the root package.json implementation scripts.

  1. Start servers:

    pnpm run implementation:node-sdk -- serve
  2. Stop servers:

    pnpm run implementation:node-sdk -- serve:stop
  3. Run E2E:

    pnpm run implementation:node-sdk -- test:e2e

Running E2E Tests

E2E tests are run using Playwright.

  1. Install Playwright dependencies:

    pnpm --dir implementations/node-sdk --ignore-workspace exec playwright install --with-deps
  2. Run the E2E test suite:

    pnpm --dir implementations/node-sdk --ignore-workspace test:e2e

    The tests can alternatively be run using Playwright's GUI:

    pnpm --dir implementations/node-sdk --ignore-workspace test:e2e:ui