@coveo/headless
    Preparing search index...

    @coveo/headless

    npm version

    Coveo Headless

    Using the library: Coveo Headless Library Official Documentation.

    Entry points

    The @coveo/headless package exposes several entry points.

    The entry point from which you will import Coveo Headless resources depends on the engine type you are using:

    Engine type Entry point
    Search engine @coveo/headless
    Search SSR engine @coveo/headless/ssr
    CaseAssist engine @coveo/headless/case-assist
    Commerce engine @coveo/headless/commerce
    Commerce SSR engine (in open beta) @coveo/headless/ssr-commerce
    Insight engine @coveo/headless/insight
    Recommendation engine @coveo/headless/recommendation

    Once you have cloned the repo, follow the instructions in the top-level README.md to install dependencies and link packages.

    To start the project in development mode, run:

    npm run dev
    

    To build the library for production, run:

    npm run build
    

    To run the unit tests, run:

    npm test
    

    To run the unit tests and watch, run:

    npm run test:watch
    

    To use @coveo/headless locally, you have to build the package by running:

    npm run build
    

    The headless project intensively uses "Redux" along with "Redux Toolkit", so prior knowledge is necessary.

    The base of the /src folder should only contain exports.

    /app contains app-wide setup: Redux store, root reducer, middlewares.

    /state contains interfaces for the various application states.

    /features has folders that each owns the functionalities of a feature, which is a subpart of the redux state. Following the "ducks pattern", those files contain Redux slices & reducers that define the state shape. Each feature folder has a file with actions that can be exported with the project.

    /controllers contains all the headless controllers in folders. Those controllers are exported and used to provide abstraction from the store's features by being closer to the actual UI controllers of a customer's application.

    /utils contains common useful utilities.

    /api contains everything regarding api calls.

    /test contains test mocks.

    Contribution guide: Adding a new controller.

    Please see the contributor guide for guidance.

    Contribution guide: Troubleshooting bundle content.

    Please see the contributor guide for guidance.