Dextinity CMS
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗
Visit https://cms-docs.dextinity.com/ to view the documentation.
Use @dextinity/create-app to create a new Dextinity 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 Dextinity 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 @dextinity/admin
Start the development process for @dextinity/admin:
pnpm exec dev-pm start @dextinity-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 @dextinity/cms-api:
pnpm exec dev-pm start @cms-api
Start Demo API:
pnpm exec 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 @dextinity/cms-admin:
pnpm exec dev-pm start @cms-admin
Start Demo API and Admin:
pnpm exec 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.
pnpm exec dev-pm start @demo
Demo will be available at
It is also possible to start specific microservices
pnpm exec dev-pm start @demo-api # (@demo-api|@demo-admin|@demo-site)
To run several checkouts at once without port collisions, assign a free port offset before starting:
pnpm run assign-ports
pnpm exec dev-pm start @demo
assign-ports.mts reads every *_PORT entry from .env, finds an offset (+100, …, +900) at which all ports are free, and writes the offset ports to .env.local. If the base ports are free, no overrides are written. Afterwards, the site configs are regenerated so that they use the assigned site port.
pnpm run storybook
Storybook will be available at http://localhost:26638/
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.
pnpm exec 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 Dextinity 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 Dextinity node_modules to the external project:
wml start
Please read our Contributing file.