npm 包 @continous-auth/semantic-release-npm 使用教程

阅读时长 7 分钟读完

前言

@continous-auth/semantic-release-npm 是一个用于自动化管理 npm 包版本的工具。与传统的手动管理版本不同,它通过根据 Git 提交记录自动判断需要发布的版本号,并自动生成 CHANGELOG,方便后续的版本追踪和管理。本文将介绍如何使用这个工具。

安装

安装完毕后,需要在项目的根目录下创建一个 release.config.js 文件来配置,示例代码如下:

-- -------------------- ---- -------
-------------- - -
  -------- -
    ------------------------------------
    --------------------------------------------
    ------------------------------
    ------------------------
    ------------------------
  --
  ------- ----------
--

其中 plugins 是 semantic-release 的插件列表,preset 是预设的 commit 格式。这里采用了 angular 风格的 commit 格式,同时还需要安装以下依赖:

配置环节

package.json 配置

package.json 文件中添加 scripts 脚本:

这样,通过执行 npm run release 命令,就可以自动执行版本发布的过程。

git 分支

另外,在使用 semantic-release 时,需要在 Git 仓库中使用特定的分支。默认情况下,分支名以 release 开头的分支才会被认为是用于发布的分支,例如 release/1.0.0。

环境变量

在使用 semantic-release 时,还需要配置一些环境变量,在 .env 文件中添加以下内容:

其中,GH_TOKEN 是 GitHub Personal Access Token,用于发布 release 和生成 changelog。NPM_TOKEN 是 npm 登陆时使用的 Token,用于发布 npm 包。

配置中使用私有仓库

如果需要在 npm 包中使用私有仓库,可以通过 @semantic-release/npm 的配置实现。如下:

-- -------------------- ---- -------
-------------- - -
  -------- -
    ------------------------------------
    --------------------------------------------
    ------------------------------
    -
      ------------------------ -
        ------------- -----
        ------------- ------
      -
    --
    -
      ------------------------ -
        --------- ---------------- ----------------
        ---------- ------------- ---------------------- ----- -----------------------------
      --
    --
  --
  ------- ----------
--

其中 tarballDir 是发布的 npm 包所在的目录,这里指定为 dist 目录,表示发布后的包会放置在该目录中。同时可通过 'private': true 使得 npm 包不会被其它人访问到。

GPG 签名

如果使用了 GPG 签名,在命令行中执行如下命令:

-- -------------------- ---- -------
--- ------- ---------- ---------------- --------------------------- ---------------------- --------------------- --------------------- ----------------------------------------- ---------------------------------

- ------ ---------
---- ------- ------- -----

- -- --- ---
--- ---------

- -- --- ---
--- ------------------ -------------- ----

- ----- --- --- -------- - ---------
--- ------------------------- ---------- ----
     ----------------------------------------
---           ---------- ---- --- ----------------------
--- --------------------------- ---------- ---

- -- --
--- ----------- -------------------- ----------- ----------------------------------------

- ------
---- ------- --------------- -- ---------
------ ---------

- -- ---
--- ------ -------- --------------- ----------------------------------------
--- ------ -------- -------------- ----

- -- ----------------
---- -- --------- ------- ---------- - ------------------------------------ -------------------------------------------- ------------------------------ -------------------------- -------------- ---- --- --------- ------------------------- - ------------- ---- --- ------------------------- ---------- ---------------- ---------------- ---------- ---------------- ------------------------- - -- - ----------

- --
--- --- ----------------

如果没有使用 GPG 签名,则无需执行以上步骤。

使用

发布新版本时,只需要进行以下操作:

  1. 提交代码

使用规范的 git commit message 格式,然后执行:

  1. 执行发布

执行完成后,会自动生成 CHANGELOG,并将发布内容推送到 npm 和 GitHub 上。

总结

@continous-auth/semantic-release-npm 是一个能够自动化管理 npm 包版本的工具,使用起来非常方便。通过该工具,可以规范化版本发布的流程,避免了手动发布版本的繁琐,提高了发布效率。当然,在使用中还需要一些必要的配置,但这并不会对使用造成多大的困扰。建议开发者使用该工具,可以提高团队发布流程的效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/101336