Monoweave

View GitHub Project

Contributing to Monoweave

We offer a devcontainer which takes care of most environment setup for you. If you choose not to use the devcontainer, you will need Corepack installed and enabled.

If not using a devcontainer...

There is a bootstrap script you can source that will validate your environment for local development. It is recommended to have nvm installed, however it is not required. Running the bootstrap script will enable corepack for you. If you do not want this behaviour, run

. script/bootstrap --no-corepack
.

You can run

. script/bootstrap
whenever dependencies change, it will run
yarn
for you.

Technologies

This project uses:

Tests

Unit & Integration Tests

yarn test:watch

End-to-end Testing (E2Es)

yarn test:e2e

You can run

yarn :e2e test:registry:logs
to see a live stream of the registry logs.

Build

You can execute

yarn build
to generate the build assets that ultimately gets uploaded to the NPM registry. It will also leave the intermediate
lib
artifacts, which contain the transpiled code.

Running the local version of monoweave against a repository

yarn run-local --cwd <PATH_TO_OTHER_MONOREPO>

Tips

Configuring Your IDE

VSCode

You'll need to download the ZipFS extension to be able to use functionality such as "Go To Definition" with the zipped npm packages.

In a Typescript file, Cmd + Shift + P will open the command menu. Select "TypeScript: Select Typescript Version..." and use the version from the workspace.

Debugging Yarn API Packages

You can unpack all yarn zips via:

yarn unplug @yarnpkg/*

This will let you inspect yarn source code to debug stack traces.