😁 Excited to hear that you are interested in contributing to this project! Thanks!
Node.js >=16.14.0
This project uses pnpm to manage the dependencies, install it if you haven't via
npm i -g pnpm
Clone this repo to your local machine and install the dependencies.
pnpm install --filter=\!garfish-docs
To build all the packages at once, run the following command on the project root
pnpm build
Build with watch mode
pnpm build:watch
To run Garfish locally, you can run
pnpm dev
pnpm build:watch
The server will restart automatically every time the builds get updated.
We use monorepo to manage multiple packages
website
packages
browser-snapshot/ - snapshot sandbox
browser-vm/ - vm sandbox
core/ - core module with sandbox、loader、hooks、router
garfish/ - main entry
hooks/ - hooks
loader/ - loader
remote-module/ - cjs loader
es-module/ - esm loader and compiler
css-scope/ - css scope compiler
router/ - router
utils/ - common utils
# Debug dev package
$ pnpm dev
# Pack all package
$ pnpm build
# Build with watch mode
$ pnpm build:watch
# Run unit tests
$ pnpm test
# Release a latest package (beta, alpha in the same way)
$ pnpm release