Contributing
Get started with Gitpod
The repository has a gitpod.yml
and Gitpod offers 50 hours/month for free for working on public repos. The easiest way to get started with development.
After opening the repo in Gitpod you can instantly experiment with the e2e/docs apps, explore code etc.
If you want to submit a PR, you can just create a new branch (e.g. fix-123
) and start working on it. On the first time you try to push it, access will be denied and Gitpod will prompt you to fork the repository.
Package development
Run dev servers with local packages
Run in repo root:
yarn dev
It will rebuild and rebundle packages on changes and run next dev
of the e2e app and the docs app in parallel.
Serve an e2e app production build with local packages
Required to test and evaluate things around Strict CSPs. Run in repo root:
yarn start
It will (re)build all packages in the repo that have changed and serve a production build of the e2e app with next start
and local package builds.
Deploy the e2e app with local packages to Vercel
So see the behavior of the package in a production environment, you can deploy the e2e app to Vercel. It will always use the local packages built from the last commit you pushed/deployed.
First, fork this repo. Then click the deploy button and import your fork:
Afterwards, you need to customize commands in Vercel project settings to make it work with Yarn 3 monorepo structure.
In your Vercel project settings:
Set apps/e2e
as "Root Directory" and enable "Include source files outside of the Root Directory in the Build Step."
In "Build & Development Settings":
Set "Framework Preset" to Next.js
and override the following commands:
Build Command:
cd ../.. && yarn build:e2e:vercel
Install Command:
yarn install --immutable --immutable-cache
Serve a docs app production build with local packages
yarn start:docs
It will (re)build all packages in the repo that have changed and serve a production build of the docs app with next start
and local package builds.
Submit PRs
TODO
Report bugs
TODO
Suggest features and enhancements
TODO
Ask questions
TODO
Commit and code conventions
TODO + setup for ESLint, Prettier, husky and lint-staged will be provided at some point.
Repository structure
TODO
Attributions
Policy icon used as icon of this website and README created by Kiranshastry - Flaticon