npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

bumpster

v0.1.2

Published

A CLI tool for semantic version management

Readme

bumpster

一个智能的语义化版本管理命令行工具,专为现代 JavaScript/TypeScript 项目设计。

简介

bumpster 是一个交互式的版本管理工具,它遵循语义化版本规范,支持正式版本和预发布版本的管理。该工具通过友好的命令行界面,自动化处理版本号更新、Git 提交和标签创建等繁琐的发布流程。

职责

本工具负责以下核心任务:

  • 版本号管理:自动计算和更新符合语义化版本规范的版本号
  • 版本号验证:验证版本号是否符合语义化版本规范
  • Git 集成:自动创建规范的提交信息和标签
  • 发布流程自动化:一键完成版本更新、提交、标签创建和推送
  • 预发布版本支持:管理 dev、alpha、beta、rc 等预发布版本的迭代

功能特性

🎯 版本管理功能

  • 交互式界面:通过友好的命令行交互界面选择版本类型和更新方式
  • 智能版本计算:自动根据当前版本和选择的类型计算下一个版本号
  • 预发布版本管理
    • 支持 dev、alpha、beta、rc 四种预发布类型
    • 自动处理预发布版本间的升级路径
    • 支持预发布版本转正式版本
  • Git 工作流集成
    • 自动提交 package.json 和 package-lock.json
    • 创建带注释的 Git 标签
    • 一键推送到远程仓库
  • 安全保护
    • 检查工作区是否有未提交的更改
    • 警告非主分支发布(可选择继续)
    • 执行前显示详细的执行计划

🔍 版本验证功能

  • 版本号格式验证:检查版本号是否符合语义化版本规范
  • 详细信息展示:显示版本号的各个组成部分
  • 预发布类型识别:自动识别并展示预发布版本类型

📦 支持的版本类型

  1. 正式版本

    • Patch (修订号): 错误修复 (1.0.0 → 1.0.1)
    • Minor (次版本号): 新功能,向后兼容 (1.0.0 → 1.1.0)
    • Major (主版本号): 重大更新,可能不兼容 (1.0.0 → 2.0.0)
  2. 预发布版本

    • Dev: 开发版本,用于开发过程中的版本管理
    • Alpha: 内部测试版本,功能可能不完整
    • Beta: 公开测试版本,功能基本完整
    • RC: 候选发布版本,即将成为正式版

安装

全局安装

npm install -g bumpster

项目内安装

npm install --save-dev bumpster

使用方法

命令语法

bump [command] [options]
# 或使用别名
bump-js [command] [options]

可用命令

  • 无命令(默认): 交互式版本管理
  • validate : 验证版本号是否符合语义化版本规范

选项

  • -h, --help: 显示帮助信息
  • -v, --version: 显示工具版本号

版本管理(默认模式)

当不带任何命令运行时,进入交互式版本管理模式:

bump
# 或
bump-js

使用流程

  1. 启动工具

    bump
  2. 选择发布类型

    • 正式版本 (Production)
    • Dev 版本
    • Alpha 版本
    • Beta 版本
    • RC 版本
  3. 选择版本递增类型(仅在需要时)

    • Patch: 修复 bug
    • Minor: 新增功能(向后兼容)
    • Major: 重大更改(可能不兼容)
  4. 确认执行计划

    • 查看版本变更详情
    • 确认执行步骤
    • 输入 y 确认或 n 取消

版本验证

验证版本号是否符合语义化版本规范:

bump-version-js validate <version>
# 或
bvj validate <version>

示例

# 验证正式版本
bump validate 1.0.0
# ✅ 版本号 "1.0.0" 符合语义化版本规范

# 验证预发布版本
bump validate 2.1.0-alpha.3
# ✅ 版本号 "2.1.0-alpha.3" 符合语义化版本规范
# 显示详细信息包括预发布类型

# 验证无效版本
bump validate invalid-version
# ❌ 版本号 "invalid-version" 不符合语义化版本规荣

API 参考

bump / bump-js

统一的命令行工具,支持版本管理和版本验证功能。

默认模式(版本管理)

语法

bump [options]
bump-js [options]

功能

  • 自动检测当前版本
  • 提供版本升级选项
  • 执行 Git 操作
  • 推送到远程仓库

环境变量

  • BUMP_VERSION_SKIP_PUSH: 设置后跳过 Git 推送步骤(用于测试)
  • BUMP_VERSION_DEFAULTS: JSON 格式的默认选项(用于测试)

validate 子命令

语法

bump validate <version>
bump-js validate <version>

参数

  • version: 要验证的版本号字符串

返回值

  • 成功:退出码 0
  • 失败:退出码 1

通用选项

  • -h, --help: 显示帮助信息
  • -v, --version: 显示工具版本号

注意事项

  1. 工作目录:必须在包含 package.json 的项目根目录运行
  2. Git 状态:执行版本更新前确保工作区干净(无未提交的更改)
  3. 分支管理:建议在 main 分支上进行版本发布
  4. 网络连接:推送操作需要网络连接和远程仓库访问权限
  5. 版本回退:版本号只能递增,不支持回退操作
  6. 标签管理:自动创建的标签格式为 v{version}(如 v1.0.0)

许可证

ISC

相关链接