跳至主要內容
版本:9.x

使用 pnpm 的變更集

注意

撰寫此文件時,最新的 pnpm 版本為 v6.14。最新的 變更集 版本為 v2.16.0。

設定

要在 pnpm 工作區設定變更集,請在工作區的根目錄中將變更集安裝為開發相依性

pnpm add -Dw @changesets/cli

然後執行變更集的 init 指令

pnpm changeset init

新增變更集

要產生新的變更集,請在儲存庫的根目錄中執行 pnpm changeset。產生的 markdown 檔案應提交至 .changeset 目錄中的儲存庫。

釋出變更

  1. 執行 pnpm changeset version。這將提升先前使用 pnpm changeset 指定的套件版本 (以及其任何依賴項),並更新變更日誌檔案。
  2. 執行 pnpm install。這將更新鎖定檔並重新建置套件。
  3. 提交變更。
  4. 執行 pnpm publish -r。此指令將發布所有已提升版本且尚未存在於註冊表的套件。

使用 GitHub Actions

若要自動化此程序,您可以與 GitHub Actions 一起使用 changeset version

提升套件版本

此動作將偵測變更集檔案何時到達 main 分支,然後開啟一個新的公關,列出所有已提升版本的套件。合併後,套件將更新,您可以透過新增 publish 屬性來決定是否發布。

發布

新增一個執行 pnpm publish -r 的新腳本 ci:publish。當 changeset version 開啟公關時,它將發布至註冊表。

package.json

{
"scripts": {
"ci:publish": "pnpm publish -r"
},
...
}
name: Changesets
on:
push:
branches:
- main
env:
CI: true
PNPM_CACHE_FOLDER: .pnpm-store
jobs:
version:
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: checkout code repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: setup node.js
uses: actions/setup-node@v3
with:
node-version: 14
- name: install pnpm
run: npm i pnpm@latest -g
- name: Setup npmrc
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
- name: setup pnpm config
run: pnpm config set store-dir $PNPM_CACHE_FOLDER
- name: install dependencies
run: pnpm install
- name: create and publish versions
uses: changesets/action@v1
with:
version: pnpm ci:version
commit: "chore: update versions"
title: "chore: update versions"
publish: pnpm ci:publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

有關此動作的更多資訊和文件,請參閱 此處