@kurone-kito/is-prerelease
v0.1.0-alpha.1
Published
The simple CLI app based on Node.js that determines whether the project is a pre-release version
Downloads
176
Maintainers
Readme
🆕 @kurone-kito/is-prerelease
A simple CLI app based on Node.js that determines whether a given version is a pre-release version using semver.
Features
- Detects pre-release versions (e.g.,
1.0.0-alpha.1,2.0.0-beta.3) - Returns exit codes for easy CI/CD integration
- Zero configuration required
Requirements
- Node.js
^20.11 || ^22 || >=24
Installation
npm i -D @kurone-kito/is-prereleaseUsage
Command Syntax
is-prerelease <version> [pre]Arguments
| Argument | Required | Description |
| --------- | -------- | ------------------------------------------------------------------------------- |
| version | Yes | The version string to check (JSON format, e.g., "1.0.0" or "1.0.0-alpha.1") |
| pre | No | If provided, the command expects a pre-release version |
Exit Codes
| Condition | Exit Code |
| ------------------------------------------------------ | ------------- |
| Pre-release version and pre argument provided | 0 (success) |
| Stable version and pre argument not provided | 0 (success) |
| Otherwise | 1 (failure) |
Examples
Check if a version is a pre-release
# Returns exit code 0 if pre-release
is-prerelease '"1.0.0-alpha.1"' pre
# Returns exit code 0 if stable release
is-prerelease '"1.0.0"'Integration with npm scripts
{
"scripts": {
"is:prerelease": "is-prerelease $(npm pkg get version) pre",
"is:release": "is-prerelease $(npm pkg get version)"
}
}Note:
npm pkg get versionoutputs a JSON-formatted string (e.g.,"1.0.0"), which is the expected input format.
CI/CD Usage Example
# Publish to npm only if it's a pre-release version
if npm run is:prerelease; then
npm publish --tag next
fi
# Publish to npm only if it's a stable release
if npm run is:release; then
npm publish --tag latest
fiHow It Works
This CLI uses the prerelease() function from the
semver package to detect
pre-release identifiers in version strings.
1.0.0→ Stable release (no pre-release identifier)1.0.0-alpha.1→ Pre-release (identifier:['alpha', 1])2.0.0-beta.3→ Pre-release (identifier:['beta', 3])
Contributing
Welcome to contribute to this repository! For more details, please refer to CONTRIBUTING.md.
