Comet
Comet DXP
Install / Use
/learn @vivid-planet/CometREADME
Comet DXP
Docs
Visit https://docs.comet-dxp.com/ to view the documentation.
Create a new Comet DXP project
Use @comet/create-app to create a new Comet DXP project. More information can be found in the docs.
Development
Prerequisites
The following tools need to be installed on your local machine.
Setup workspace
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.
MUI X Data Grid Pro License
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
Build packages
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.
Start development processes
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/adminStart the development process for
@comet/admin:pnpm exec dev-pm start @comet-adminCreate 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:pnpm exec dev-pm start @cms-apiStart Demo API:
pnpm exec dev-pm start @demo-apiThe 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:pnpm exec dev-pm start @cms-adminStart Demo API and Admin:
pnpm exec dev-pm start @demo-api @demo-adminThe Demo Admin will be available at http://localhost:8000/
See dev-pm.config.js for a list of all available processes and process groups.
Start Demo
pnpm exec 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
pnpm exec dev-pm start @demo-api # (@demo-api|@demo-admin|@demo-site)
Start Storybook
pnpm run storybook
Storybook will be available at http://localhost:26638/
Start Docs
pnpm exec 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.
Stop processes
pnpm exec dev-pm shutdown
Dev scripts
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.
Developing in an external project
Requirements
Setup
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
Contributing
Please read our Contributing file.
