Contentful Personalization & Analytics
    Preparing search index...

    Contentful Logo

    Contentful Personalization & Analytics

    Web SDK Vanilla JS Reference Implementation

    Readme · Guides · Reference · Contributing

    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 Web SDK and is part of the Contentful Optimization SDK Suite.

    All steps should be run from the monorepo root.

    1. Install pnpm packages:

      pnpm install
      
    2. Build the local package tarballs consumed by implementations:

      pnpm build:pkgs
      
    3. Install this implementation so its local @contentful/* dependencies resolve from pkgs/:

      pnpm implementation:run -- web-sdk implementation:install
      
    4. Configure the environment in a .env file in implementations/web-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.

    5. Start the mock API and application servers:

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

    7. Stop the mock API and application servers:

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

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

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

    1. Start servers:

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

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

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

    E2E tests are run using Playwright.

    1. Install Playwright dependencies:

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

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

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

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