- Developer guides
Register a component in the component map
A component map contains a list of all the components in your Content SDK app. Each component is mapped to a corresponding component within SitecoreAI, allowing marketers to use it in Pages. You can view the component map at .sitecore/component-map.ts. By default, Content SDK generates a component map when you execute the build and dev scripts.
The following code snippets shows the structure of a component map in a Content SDK app that contains imports for the built-in components, components from the app itself, and other components. The component name is written first, followed by the imported component itself:
Automatic component map generation trades flexibility for simplicity. Advanced use-cases involving Next.js dynamic() imports require a self-managed component map. To disable automatic component map generation, remove the following from the build and dev scripts:
Component map configuration
The configuration for automatic component map generation lives inside the sitecore.cli.config.ts file. Out-of-the-box, the configuration is as shown:
This configuration generates the component map using all the components that live inside src/components. In addition to the paths parameter, the componentMap object also allows the following parameters:
excludedestinationcomponentImportsmapTemplate
See the table below for detailed descriptions of these parameters and their types:
Property | Type | Description |
|---|---|---|
|
| Provide a list of paths (glob or otherwise) for the component map to pull and register components from. One component is imported per component file to support SXA variants. For example, in the default starter kit app, a component is imported as shown: |
|
| Provide a list of rules (provided as glob paths) to exclude components from being registered. The logic considers all components under |
|
| Provide a custom destination folder for the generated
|
|
| Fine tune your component imports within the component map or add components from module dependencies. For example, to import some components from a package and create a named import, use the below This imports You can also use individual This imports |
|
| Provide an override for the function that forms the component-map template. It accepts component definitions for component files parsed from the |
Registering a component manually
You can also manually manage component maps. Before doing so, make sure your SitecoreAI environment has the component you intend to map your component to. Also, ensure you've turned off automatic component map generation by removing the following from the build and dev scripts:
To register a component, import the component and its variants to the component map.
Configure using one or more variants
If you're importing a component and you want to include variants, name the original component the Default variant and add variant names for variant imports.
In the following example, the Default component has a standard variant named Variant1.