Detail

Detail

Requirements with workaround

Use pnpm and set packageManager (opens in a new tab) in package.json correctly

So that GitHub Action can set up pnpm correctly. You can also manually setup the pnpm version in the GitHub Action workflow file.

Use Conventional Commits (opens in a new tab) and follow Semantic Versioning (opens in a new tab)

So that it can provide recommended version in CI. It's OK to not follow this rule if you manually decide the next version and disable GitHub release.

What it does

Disable built-in npm, version plugins

Provide recommended version in CI

  1. code and idea from conventional-changelog (opens in a new tab)
  2. Support preMajor (opens in a new tab) option.

Use bumpp (opens in a new tab) for the next version locally

Bump all packages to the new version

Run pnpm -r publish --access public --no-git-checks

  1. pnpm publish (opens in a new tab)
  2. Appendix --tag {tag} if it's a pre-release.

Generate changelog locally if needed

Run changelogithub (opens in a new tab) for GitHub release if needed

  1. It will read GitHub token from GITHUB_TOKEN environment variable or gh auth token output.