Visit https://docs.comet-dxp.com/ to view the documentation.
Use @comet/create-app
to create a new Comet DXP project. More information can be found in the docs.
The following tools need to be installed on your local machine.
Run the install.sh
script to install dependencies and setup needed symlinks.
# Optionally set domain to use instead of localhost (add to e.g. ~/.bashrc)
export DEV_DOMAIN=myname.dev.vivid-planet.cloud # Vivid Planet network
sh install.sh
It is recommended to run install.sh
every time you switch to the main
branch.
If you want to use features from @mui/x-data-grid-pro
, you need to configure your MUI license key. Create a .env.local
file in your project root and add your license key:
.env.local
:
MUI_LICENSE_KEY=your_license_key_here
Before starting individual development processes, build all Comet packages at least once.
pnpm run build:packages
It is recommended to build all packages every time you switch to the main
branch.
dev-process-manager is used for local development. We recommend only running the development process you will need. Typically, you will need a subset of the available development processes.
Here are a few examples:
-
You want to add a new component to
@comet/admin
Start the development process for
@comet/admin
:npx dev-pm start @comet-admin
Create a development story in Storybook:
pnpm run storybook
-
You want to add a CMS feature to the API
Start the development process for
@comet/cms-api
:npx dev-pm start @cms-api
Start Demo API:
npx dev-pm start @demo-api
The Demo API will be available at http://localhost:4000/
-
You want to add a CMS feature to the Admin
Start the development process for
@comet/cms-admin
:npx dev-pm start @cms-admin
Start Demo API and Admin:
npx dev-pm start @demo-api @demo-admin
The Demo Admin will be available at http://localhost:8000/
See dev-pm.config.js for a list of all available processes and process groups.
npx dev-pm start @demo
Demo will be available at
- Admin: http://localhost:8000/
- API: http://localhost:4000/
- Site: http://localhost:3000/
It is also possible to start specific microservices
npx dev-pm start @demo-api # (@demo-api|@demo-admin|@demo-site)
pnpm run storybook
Storybook will be available at http://localhost:26638/
npx dev-pm start @docs
The docs will be available at http://localhost:3300/
This will also start Storybook, due to some docs-pages being generated from storybook stories.
npx dev-pm shutdown
We provide dev:*
scripts for the most common use cases.
For example, to start the Demo, you can also run:
pnpm run dev:demo
However, we recommend directly using dev-process-manager for greater control over which development processes to start.
See package.json for a list of all available dev scripts.
Configure wml
to sync the comet node_modules
to the external project:
./wml-add.sh /path/to/my-project
It may be necessary to configure watchman
to watch your globally installed wml
:
watchman watch $(dirname "$(dirname "$(which node)")")/lib/node_modules/wml/src
Start syncing the comet node_modules
to the external project:
wml start
Please read our Contributing file.