panrelease
v0.18.0
Published
Utility to release software
Readme
Panrelease (Node.js)
Panrelease is a versatile release automation tool that manages version bumping, changelog updates, and Git operations. This package provides the Node.js implementation of Panrelease, powered by WebAssembly, allowing it to run seamlessly in any Node.js environment without requiring a Rust installation.
Features
- Semantic Versioning - Automatic major, minor, patch, and post-release version bumping.
- Node.js Native Support - Direct support for
package.jsonand lockfiles (package-lock.json,yarn.lock,pnpm-lock.yaml). - Changelog Automation - Updates
CHANGELOG.mdfollowing Keep a Changelog format. - Git Integration - Commits version changes, creates tags, and supports GPG signing.
- Monorepo Friendly - Can manage multiple modules in a single project.
- WebAssembly Powered - Fast and consistent execution across different platforms.
Installation
Install as a development dependency in your project:
npm
npm install --save-dev panreleaseyarn
yarn add --dev panreleasepnpm
pnpm add --save-dev panreleaseQuick Start
1. Configure Panrelease
Create a .panproject.toml file in your project root:
[vcs]
software = "Git"
[modules.root]
path = "."
packageManager = "Npm"
main = true2. Add a Script to package.json
{
"scripts": {
"release": "panrelease"
}
}3. Run a Release
# Release a new patch version (e.g., 1.0.0 -> 1.0.1)
npm run release -- patch
# Or run directly via npx
npx panrelease minorCommands
| Command | Description | Example |
|---------|-------------|---------|
| patch | Increment patch version | 1.0.0 -> 1.0.1 |
| minor | Increment minor version | 1.0.0 -> 1.1.0 |
| major | Increment major version | 1.0.0 -> 2.0.0 |
| post | Create post-release (build metadata) | 1.0.0 -> 1.0.0+r1 |
| show | Show current project version | panrelease show |
| <version> | Set explicit version | panrelease 2.1.0 |
Documentation
For full configuration options, advanced features like hooks, and strict mode, please refer to the Main Repository Documentation.
License
This project is licensed under the MIT License - see the LICENSE file for details.
