publish manager for multiple registry (jsr, npm and private registries)
- Customize with plugin
- GitHub release draft format
- Adjust tasks (Add, Remove, Sorting)
It is designed to be easy to managing publish to multiple registry.
pubm [version]
You can have either package.json or jsr.json.
pubm tasks
- Notify new version ✅
- Checking required information ✅
- Select SemVer increment or specify new version ✅
- Select the tag for this pre-release version in npm: (if version is prerelease) ✅
- checking for the existence of either package.json or jsr.json ✅
- Prerequisite checks = skip-pre (for deployment reliability) ✅
- Checking if remote history is clean... ✅
- Checking if the local working tree is clean... ✅
- Checking if commits exist since the last release... ✅
- Verifying current branch is a release branch... ✅
- Checking git tag existence... ✅
- Required conditions checks (concurrently) = skip-required (for pubm tasks) ✅
- Verifying if npm CLI and jsr CLI are installed... ✅
- Ping registries... ✅
- Checking if test and build scripts exist... ✅
- Checking git version... ✅
- Checking available registries for publishing... ✅
- in jsr permission check token exist and ask token ✅
- if first time -> Checking package name availability... ✅
- if scoped package and scope reserved contact message ✅
- Running tests... ✅
- Building the project... ✅
- Bumping version... ✅
- Publishing... (concurrently) ✅
- npm ✅
- Running npm publish... ✅
- Verifying two-factor authentication... ✅
- jsr ✅
- Running jsr publish... ✅
- npm ✅
- Pushing tags to GitHub...
- Creating release draft on GitHub...
np tasks
- Show New files and New dependencies
- Check commits exist since last release
- Check package name availabliity
- Input SemVer version
- Input tag (if version is prerelease)
- Check hasn't been published scoped package
- Prerequisite tasks
- Ping npm registry
- Check package manager version
- Verify user is authenticated
- Check git version
- Check git remote
- Validate version
- Check for prerelease vesion
- if not private and is prerelease version and tag option not exist -> throw error should set tag
- Check git tag existence
- Git tasks
- Check current branch is release branch
- Check local working tree is clean
- Check remote history is clean
- Cleanup
- Install dependencies
- Tests
- Bumping version
- Publish package
- two-factor authentication
- Push tags
- Release draft