This repository uses Changesets and PNPM workspaces to version and publish the Aleo adaptor packages. The pnpm publish-packages script builds and tests the whole monorepo and then runs changeset publish, so a single command completes the release once a changeset is in place.
- Node.js
>=18and PNPM>=10(seepackage.jsonengines) - Access to the
ProvableHQnpm organization (runnpm whoamito confirm) - 2FA or auth tokens configured for npm publishing
- A clean
masterbranch synced with GitHub (.changeset/config.jsonexpectsmaster)
git checkout master
git pull origin master
pnpm install
pnpm build
pnpm lint
pnpm testBuilding/linting/testing before creating a changeset ensures you are releasing a healthy commit.
Changesets describe which packages are being released and the type of version bump (major, minor, patch).
pnpm changeset- Select every package that changed (e.g.,
@provablehq/aleo-wallet-adaptor-core,@provablehq/aleo-wallet-adaptor-react, each wallet implementation, etc.). - Choose the bump type (for version 1.0.0 releases, pick major).
- Enter a short summary of the changes.
Commit the generated .changeset/*.md file along with any code changes:
git add .
git commit -m "Prepare release"Optional: inspect what the next release will produce.
pnpm changeset status --verboseWhen you are ready to publish the release (usually after merging the PR containing the changeset into master), run:
pnpm publish-packagesThis script performs:
turbo run build lint test— builds every package, runs ESLint, and executes tests.changeset publish— bumps versions, updates each packageCHANGELOG.md, tags the release, and publishes to npm using thepublishConfig.access: "public"settings in each package.
Stay logged into npm for the entire publish command; if 2FA is enabled you will be prompted at the end.
git push origin master --follow-tags- Verify the packages on npm (e.g.,
npm view @provablehq/aleo-wallet-adaptor-core version). - Create a GitHub release if desired, linking the npm versions and summarizing the update.
You now have a new release of the Aleo wallet adaptor packages on npm.