Використання Changesets з pnpm
На момент написання цієї документації останньою версією pnpm була v6.14. Остання версія Changesets була v2.16.0.
Встановлення
Щоб встановити changesets у робочому просторі pnpm, встановіть changesets як залежність dev у корені робочого простору:
pnpm add -Dw @changesets/cli
Потім виконайте команду changesets init:
pnpm changeset init
Додавання нових наборів змін
Щоб згенерувати новий набір змін, виконайте pnpm changeset у корені сховища.
Згенеровані файли markdown в теці .changeset слід зафіксувати в репозиторії.
Випуск змін
- Виконайте 
pnpm changeset version. Це призведе до зміни версій пакунків, раніше вказаних за допомогоюpnpm changeset(і будь-яких залежних від них), а також оновить файли журналу змін. - Виконайте 
pnpm install. Це оновить файл блокування і перезбере пакунки. - Зафіксуйте зміни.
 - Виконайте 
pnpm publish -r. Ця команда опублікує всі пакунки, які мають версії, яких ще немає в реєстрі. 
Використання GitHub Actions
Для автоматизації процесу ви можете використовувати changeset version з GitHub actions.
Підвищення версій пакунків
Дія визначить, коли файли набору змін надійдуть до гілки main, а потім відкриє новий PR зі списком усіх пакунків з оновленими версіями. Після злиття пакунки буде оновлено, і ви зможете вирішити, публікувати їх чи ні, додавши властивість publish.
Публікація
Додайте новий скрипт ci:publish, який виконує pnpm publish -r.
Він буде публікувати до реєстру, як тільки PR буде відкрито за допомогою 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 }}
Більше інформації та документації щодо цієї дії можна знайти тут.