😁 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 pnpmClone this repo to your local machine and install the dependencies.
pnpm install --filter=\!garfish-docsTo build all the packages at once, run the following command on the project root
pnpm buildBuild with watch mode
pnpm build:watchTo run Garfish locally, you can run
pnpm devpnpm build:watchThe 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