Next-generation platform

Directory layout of the application

Review and understand the directory layout of the application.

Table 1. Directory structure for the application-provided source code
Directory path or file Description
packages Contains the application-provided store root application, single-spa enabled angular applications, and libraries.
packages/apps/store-root-app The store-root-application is a vanilla JavaScript application, which leverages single-spa framework to act as a router or orchestrator to compose multiple single-spa enabled angular applications.
Note: You cannot customize this application.
packages/apps/store-root-app/src/assets/root-config/config Contains the JSON configuration files for registering the UMD (Universal Module Definition) modules of the application-provided angular applications and all the routes of each angular application.
  • core-import-map.json: The UMD modules of the application-provided angular applications that cannot be customized.
  • feature-import-map.json: The UMD modules of the application-provided angular applications that can be customized.
  • core-routes.json: The pre-authentication routes to be registered with the single-spa framework.
  • feature-routes.json: The post-authentication routes to be registered with the single-spa framework.
packages/libs Contains the application-provided angular libraries.
packages/features Contains the application-provided single-spa enabled angular applications.
packages/libs/core The angular library that contains reusable singleton angular services, components, and utility services.
packages/libs/common-components The angular library that contains reusable angular components, directives, and pipes.

The components in this library do not support customization.

packages/libs/functional-components The angular library that contains reusable angular functional components. These components are built for addressing specific domain or functional use case. You can use these components in screens such as Notes modal, Address capture/display, Product details modal, and so on.
app-config.json The application configuration JSON that contains the development server configuration such as port, contextRoot, and so on for all the application-provided angular applications. For more information about app-config.json schema definition, see Table 1.
Note: Ensure that you do not edit or modify the app-config.json file for customization.
packages/libs/styles This library contains global and common component styles, icons, and images that are used in the application.
Table 2. Directory structure to store the extensions source code of a customer
Directory path or file Description
extensions Contains extended single-spa enabled angular applications and libraries.
extensions/features Contains extended single-spa enabled angular applications. This includes newly created custom applications and overridden application-provided screens.
extensions/libs extensions/libs
extensions/features/override-component Angular application for overriding the application-provided components by using differential extensibility.
extensions/features/override-modals Angular application for overriding the application-provided modals by using differential extensibility.
extensions/override-static-assets/root-config/custom Contains JSON configuration files used for customization.
  • import-map.json: This file registers the JavaScript module to load for a specific application. For more information about import-maps, see .
  • routes.json: This file links the route in the micro-frontend application with angular application that renders the route.
app-config-overrides.json The application configuration overrides JSON containing the development server configuration such as port, contextRoot for all the custom angular applications. Additionally, if you serve custom applications from a remote server, it can be achieved by configuring useRemote: true. For more information about app-config.json schema definition, see Table 1.
extensions/libs/styles Use this library to override the application-provided SASS style variables, and adds custom styles to use in extensions.
extensions/override-static-assets Use this folder to override the application-provided JSON configuration files such as translation bundle JSON, persona configuration JSON, and other similar JSON configuration files.