This monorepo uses NPM workspaces and is managed with Turborepo.
Install all dependencies.
npm install
Build all packages.
npm run build
Start a dev server for git-server
npm run dev:git-server
Start a dev server for web-gui
npm run dev:web-gui
Login to npm account.
npm login
Good practice to add one per package for cleaner changelogs.
npm run changeset
Follow the prompts in the CLI.
Press spacebar to select and enter to confirm.
Press enter without selecting anything to skip (eg. the major bumps).
Can continue editing the changelog summary later in the generated markdown file.
Commit after adding a changeset(s).
Can add multiple changesets before consuming them.
npm run changeset:version
This consumes all changesets, and updates to the most appropriate semver version based on those changesets. It also writes changelog entries for each consumed changeset.
Commit after running this command and reviewing all the changes.
Can review what each package will publish to NPM with the following command. Run this in the root directory of the package to review.
npm publish --dry-run
npm run changeset:publish
Immediately publishes the current commit to NPM.
Do not add commits between versioning and publishing as it assumes the versioning commit to be the publishing commit.
Git tags will be created. Remember to push the git tags.