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

@uedlinker/cz-conventional-changelog

v0.5.1

Published

根据 Angular git commit 提交规范定制的适配器

Downloads

4

Readme

cz-conventional-changelog

根据 Angular git commit 提交规范定制的适配器

Status: npm version Build Status

commitizen 家族的一部分, 提示定制化后的 conventional changelog 标准。

先来看看效果

git-cz

使用

该工具有 2 种使用方法,一种是项目配置,另一种是个人配置

命令行工具

如果想直接用git cz 代替 git commit ,需要全局安装 commitizen 或者 使用 npx git cz (NPM 5.2+)

$ npm i -g commitizen
$ git cz

$ npx git cz

如果只想在特定项目中使用,则需要在安装了 commitizen 模块的项目中配置 npm script

{
  "script": {
    "commit": "git-cz"
  }
}

配置完成后每次提交时执行如下命令即可

$ npm run commit

注意: 如果你因为使用 husky 这样的工具而附带使用了 precommit 这样的钩子,你需要将脚本命名为除“commit”之外的其他名称(例如“cm”:“git-cz”)。因为 npm-scripts 有一个“特性”,它在运行xxx名称的脚本时会自动运行名称为 prexxx 的脚本。实际上,如果你将脚本命名为 “commit”,则 npm 和 husky 将运行两次 “precommit” 脚本,解决方法就是通过更改名称来阻止 npm 触发的 precommit 脚本。

项目配置

直接在项目的 package.json 中配置好,所有参与此项目的开发人员只需正常安装所有依赖包,在提交 git commit 的时候用 git cz 或配置好的 npm script 来代替 git commit 命令即可

此方法 优点 是单点维护,所有变更和依赖包升级都根据项目进行变化,开发者不需要关心,减轻开发人员设置工作,缺点 如果是通过 npm script 运行,则脱离此项目后无法在别的项目中使用

配置适配器

执行如下命令配置所用的适配器

如果你的 NPM 5.2+ ,你可以直接通过 npx 进行初始化

$ npx commitizen init @uedlinker/cz-conventional-changelog --save-dev --save-exact

如果你的 NPM 版本 < 5.2,你可以执行如下命令进行配置

如果已全局安装 commitizen

$ commitizen init @uedlinker/cz-conventional-changelog --save-dev --save-exact

如果在项目中安装 commitizen

$ ./node_modules/.bin/commitizen init @uedlinker/cz-conventional-changelog --save-dev --save-exact

上面的命令帮助我们做了下面 3 件事。

  1. 安装 npm 模块 @uedlinker/cz-conventional-changelog
  2. package.json 文件中的 dependenciesdevDependencies 保存依赖包信息
  3. package.json 文件中的根节点上添加 config.commitizen 节点信息,如下:
{
  ...
  "config": {
    "commitizen": {
      "path": "./node_modules/@uedlinker/cz-conventional-changelog"
    }
  }
}

上面的配置用来告知 commitizen 用哪一个适配器来提交这个仓库的 commit , commitizen.path 通过 require.resolve 解决路径的读取并支持如下特性:

  • npm 模块
  • 相对于 index.js 的文件
  • 相对于根目录(process.cwd())的以 js 作为扩展名的文件名称
  • 完整的相对路径
  • 绝对路径

初始化结束之后即可用 git cz 或配置好的 npm script 来代替 git commit 命令

个人配置

通过在个人电脑上全局安装所需依赖包和设置适配器,配置好之后即可正常使用 git cz 命令

此方法 优点 是设置不受具体项目影响,设置好之后即可在各项目中使用 git cz 命令,缺点 是需要每个开发者对自己的环境进行配置,同时如果多个项目之间使用的适配器版本不同的话还存在冲突的可能性

安装

全局安装 commitizen@uedlinker/cz-conventional-changelog

$ npm install -g commitizen @uedlinker/cz-conventional-changelog

配置适配器

home 文件夹中创建 .czrc 文件,路径引用全局安装的 commitizen 适配器

windos 下暂时还未测试应该创建在哪个文件夹下,欢迎测试后完善此处内容

$ echo '{ "path": "@uedlinker/cz-conventional-changelog" }' > ~/.czrc

配置成功后,凡是需要使用 git commit 提交的时候一律改为 git cz 即可。