Thanks for showing interest to contribute to pintora 💓.
Project directories of this monorepo:
pintora
├── package.json
├── packages
│ ├── development-kit # some wrapper methods for compiling grammars
│ ├── pintora-cli # node.js cli
│ ├── pintora-core # core type defs and registries
│ ├── pintora-diagrams # buitin diagrams, most of the code goes here
│ ├── pintora-renderer # svg and canvas renderer
│ ├── pintora-standalone # main API, wiring up all buitin diagrams and renderers and the core registry
│ └── test-shared # develop only, some example data
├── demo # a vite project for demo pages, including live-editor and preview
│ └── vite.config.ts
└── website # a docusaurus project for doc site
└── docusaurus.config.js
Run this command to better understand the package dependencies.
pnpm exec turbo run compile --graph=dep-graph.html
- pnpm as package manager.
- turborepo to build packages. The cache system works well with Vercel deployments.
- Changeset for changes documentation, changelog generation, and release management.
Install using pnpm, and some postinstall scripts will be executed.
pnpm i
Currently we need two shells to develop the live-editor demo.
- Watch packages.
./scripts/watch-for-browser.sh
- Start the demo. When the CLI stops rolling, open
https://localhost:3001/demo/live-editor/
in your browser and you will see the editor page. It will reload oncedemo/src
or its dependency packages change.
pnpm run demo:dev
Compile all packages, ready for publishing.
pnpm run compile
Build demo and docs site.
pnpm run build-site