使用 pnpm 的變更集
注意
撰寫此文件時,最新的 pnpm 版本為 v6.14。最新的 變更集 版本為 v2.16.0。
設定
要在 pnpm 工作區設定變更集,請在工作區的根目錄中將變更集安裝為開發相依性
pnpm add -Dw @changesets/cli
然後執行變更集的 init 指令
pnpm changeset init
新增變更集
要產生新的變更集,請在儲存庫的根目錄中執行 pnpm changeset
。產生的 markdown 檔案應提交至 .changeset
目錄中的儲存庫。
釋出變更
- 執行
pnpm changeset version
。這將提升先前使用pnpm changeset
指定的套件版本 (以及其任何依賴項),並更新變更日誌檔案。 - 執行
pnpm install
。這將更新鎖定檔並重新建置套件。 - 提交變更。
- 執行
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 }}
有關此動作的更多資訊和文件,請參閱 此處。