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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@shuyun-ep-team/shuyun-version

v0.0.9

Published

自动化版本控制 CLI,自动化生成版本号、CHANGELOG.md、发布 npm 包、生成标签、提交至远程 Git

Downloads

11

Readme

shuyun-version

自动化版本控制 CLI,自动化生成版本号、CHANGELOG.md、发布 npm 包、生成标签、提交至远程 Git

安装

安装

npm i --save-dev @shuyun-ep-team/shuyun-version

在 package.json 中增加 script

{
  "scripts": {
    "release": "shuyun-version -r"
  }
}

CLI 使用

如果是 scope 包,如:@shuyun-ep-team/shuyun-version,以@shuyun-ep-team开头,请先使用npm publish --access public,提交第一个版本。

# 查看帮助
shuyun-version -h

# 自动化发布npm包
shuyun-version -r

# 自动化发布npm包并提交git
shuyun-version -p

# 自动更新版本并生CHANGELOG.md
shuyun-version -log

# 自动更新版本并生CHANGELOG.md、打Git标签
shuyun-version -lt

配置

--release [target]       自动化发布npm包
          [target]       目标目录
--publish [target]       自动化发布npm包并提交git
--changelog [target]     自动更新版本并生CHANGELOG.md
--changelogTag [target]  自动更新版本并生CHANGELOG.md

changelog 支持的 commit 类型:

"types": [
    {"type": "feat", "section": "Features"},
    {"type": "fix", "section": "Bug Fixes"},
    {"type": "chore", "hidden": true},
    {"type": "docs", "hidden": true},
    {"type": "style", "hidden": true},
    {"type": "refactor", "hidden": true},
    {"type": "perf", "hidden": true},
    {"type": "test", "hidden": true}
]

一个项目开发及版本管理的流程

假如你是 npm 包

  • 做了一些修改
  • 然后把修改提交了一些 git commit
  • 确认 git 工作区是干净的
  • 执行npx shuyun-version -r,假如是「dist」目录,则npx shuyun-version -r dist
  • 执行脚本后会提示你输入要发布的版本号,假如你输入版本号:0.0.1
  • 版本号无误后,会更改 package.json 中的版本号
  • 生成 CHANGELOG.md,并执行git add . && git commit -m "chore(release): 0.0.1" && git tag -a v0.0.1 -m "release: 0.0.1"
  • 下面再npm publish
  • 如果想要在发布 npm 的同时 push 到 git 远程,则可以执行npx shuyun-version -p

假如你是一个业务项目

你可能只需要一些 changelog 的操作,比如我们每个月发版要打 tag 的操作

  • 做了一些修改
  • 然后把修改提交了一些 git commit
  • 确认 git 工作区是干净的
  • 执行npx shuyun-version -log
  • 执行脚本后会提示你输入要发布的版本号(就是要打的 tag),假如你输入版本号:0.0.1
  • 版本号无误后,会更改 package.json 中的版本号
  • 生成 CHANGELOG.md
  • npx shuyun-version -log仅仅会更新 CHANGELOG.md,如果想要打 tag 需执行npx shuyun-version -lt
  • 最后,别忘了git push提交到远程

为什么造轮子

只是将conventional-changelog-cli与 npm 流程及 Git 提交流程做了相结合,抛砖引玉,希望大家贡献想法,一起优化。