Skip to content

kurone-kito/is-prerelease

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ†• @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-prerelease

Usage

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 version outputs 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
fi

How 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.

License

MIT

About

πŸ†• The simple CLI app based on Node.js that determines whether the project is a pre-release version; since 2025.12

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors