Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,11 @@ jobs:
registry-url: 'https://registry.npmjs.org'
cache: 'pnpm'

- name: Update npm to latest
run: npm install -g npm@latest
# Node 22 bundles npm 10.9.x, which predates OIDC trusted publishing, so
# this step is required. Pin the major: npm@latest broke the release once
# by raising its own Node floor past .nvmrc (npm 12 wants >= 22.22.2).
- name: Update npm for trusted publishing
run: npm install -g npm@^11.5.1

- name: Install dependencies
run: pnpm install --frozen-lockfile
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
22.14.0
22.23.2
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ NFDomains SDK (`@txnlab/nfd-sdk`) — a TypeScript SDK for interacting with Non-
- **`packages/sdk/`** — the SDK package (published as `@txnlab/nfd-sdk`)
- **`examples/`** — React/Vite example apps demonstrating SDK features
- Package manager: **pnpm v10+** with workspaces (pinned by the root `packageManager` field, which CI reads too)
- Node version: **22.14.0** (see `.nvmrc`)
- Node version: **22.23.2** (see `.nvmrc`)

## Commands

Expand Down
2 changes: 2 additions & 0 deletions PUBLISHING.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,5 @@ Overriding `--plugins` restricts the run to analysis and note rendering, which i
**`npm ERR! 404` or an auth error during publish.** The trusted publisher configuration on npmjs.com no longer matches the workflow — check the repository, workflow filename and environment recorded there against `release.yml`.

**A `node version ... is required` error.** semantic-release supports a narrow Node range; the workflow pins it from `.nvmrc`. Locally, run `nvm use` first.

**`EBADENGINE` in the "Update npm for trusted publishing" step.** The pinned npm major has outgrown the Node version in `.nvmrc`. Node's bundled npm is too old for trusted publishing, so the step cannot simply be dropped — raise `.nvmrc` to a Node release the pinned npm supports. This is why the step pins a major rather than tracking `npm@latest`: releases should not break because npm shipped a new floor.