Repository navigation
chore(deps): update Node.js to v26.13.0 and pnpm to v12.17.0 - #24
Merged
Merged
Conversation
3 tasks done
nissy-dev
approved these changes
Nov 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Update Node.js and pnpm to the latest versions that satisfy
minimumReleaseAge: 4320(3 days)..node-version(read by CI vianode-version-fileand by mise)package.jsondevEngines.packageManager.version(read by pnpm/action-setup and mise)engines,packageManager,.nvmrc, Dockerfile, or workflownode-version.Official pnpm 12 support was added in pnpm/action-setup v6.1.0 (#288), which #23 brings in. CI on this PR still uses v6.0.8, and it passes: the log shows
Done in 3.8s using pnpm v12.17.0andnode: v26.13.0. So the two PRs can be merged in either order.pnpm-workspace.yamlare now an error (ERR_PNPM_UNRECOGNIZED_WORKSPACE_SETTINGS). We only haveminimumReleaseAge, which is valid. → no impact--frozen-lockfile falseandpnpm install --resolution-onlywere removed. → not used (CI usespnpm install --frozen-lockfile)packageImportMethod: autoon Linux,engineStrict,filterLoghook, and sudo restrictions. → we have no git deps, no hooks, and noengineStrictlockfileVersionstays'9.0'. Since 12.1.0, pnpm records thedevEnginespin in the lockfile. That's whypnpm-lock.yamlgains a leading YAML document withpackageManagerDependencies(pnpm 12.17.0 and its per-platform@pnpm/exe.*binaries with integrity hashes). The existing document below it is unchanged.minimumReleaseAge: since 12.3.0, setting it explicitly makesminimumReleaseAgeStrictdefault totrue. A version younger than 3 days now fails or prompts instead of being skipped silently. That's the stricter behavior we want.pnpm publish --no-git-checksin release.yml):NPM_ID_TOKENwhen itsaudmatches the target registry.pnpm pack --dry-run --jsonbetween pnpm 11.1.2 and 12.17.0, and the file list is identical (83 files).userAgentenv expansion sent to registries.pnpm loginsending credentials to redirects.variationsvalidation.ERR_PNPM_REGISTRY_NAME_MISMATCH.${ENV}expansion in project.npmrc/pnpm-workspace.yaml(GHSA-3qhv-2rgh-x77r).devEngines.packageManager.onFailis"error", so local pnpm must be 12.17.0. mise picks it up frompackage.json(mise ls --currentshowspnpm 12.17.0 … package.json).Pre-existing issue found while checking (not changed here)
.npmrchassave-exact=true, butpnpm config get save-exactreturnsundefinedwith pnpm 12.17.0 (and with 11.1.2, checked in a scratch directory). pnpm 11+ reads only auth/registry-related settings from.npmrc, so this setting seems to have no effect today. Moving it topnpm-workspace.yamlassaveExact: truewould restore it. That's a separate fix, so I didn't include it here.Changes by version
Node.js 26.12.1 → 26.13.0
pnpm 11.1.2 → 12.17.0
All releases:
https://github.com/pnpm/pnpm/releases/tag/v<version>minimumReleaseAge/ trustPolicy; self-update respectsminimumReleaseAgepnpm stage,trustLockfile,pkg/repo/set-script_authTokenleak fix; git commit SHA validationhoistingLimits, staged publish trust${ENV}expansion in project.npmrc/pnpm-workspace.yaml(GHSA-3qhv-2rgh-x77r). Our.npmrchas no env references.frozenStore,publish --batch, security: reject path-traversal aliases in lockfileinstall --dry-run, package-map, sbom extensionssbom --exclude-peers, peer determinism_authsetting, self-update to v12pnpm access, security: prevent writes outside the virtual store via crafted lockfiles, reject symlinked lockfiles--filterversioning.epics,pnpm change,teampackignore-rule fixpnpm doctor, RegExp inrunsupportedArchitectureschange detectionupdate/auditsections,--save-exactpeer prefix fixpublishConfig.name=insave-prefix,minimumReleaseAge+ latest fixupdate -g -i, sudo warningcache path,minimumReleaseAgeExcludePrune, security: project workspace yaml can't choose the credential storepnpm config get/listnames, warn on unknown settingsaudit.ignorePruneworkspace:in catalogs, hide credentials in URLstrustPolicyExcludePrune, fetch-timeoutpn/pnxuse the adjacent pnpmNPM_ID_TOKENaud check, registry name mismatch, embedded Node 26.12.1)scopeignored, devEngines range pin recorded in the lockfileworkspace:in catalogs, deploy withoutinjectWorkspacePackagesminimumReleaseAgeStrictdefaults totruewhenminimumReleaseAgeis set explicitly; native global shimsimportkeeps lockfile versionspnpm pipeline,.npmrcregistry takes precedence over the saved loginupdateConfighook gets the full configpnpm addby PURL, ecosystem-specificregistriesautoDedupe,add --tilde, security: shims, control characters in deprecation messages; publish allowed on detached HEAD.node-version,install --allow-build,publish --publish-wait-timeout, security (4 fixes).env,--devalso installs optionalDependenciesnodeLinker: loaded, security (path traversal, config dependency validation, lockfilevariations, audit signatures, 64 MiB archive limit)minimumReleaseAge,--provenance=falseunder trusted publishing, pack/publish ignore matching.npmignore/.gitignoreno longer packed,registry.npmjs.comtreated as an alias of.org--workspace-concurrency=InfinityaddMissingPeerTypes,allowBuilds: falsewins overdangerouslyAllowAllBuildsNPM_ID_TOKENaud check, OIDC fordist-tagpnpm profile/pnpm token,files: []behaviorsideEffectsCache.exclude, pack honors gitignore for main/browser/binincludefield, zstd, security:ERR_PNPM_REGISTRY_NAME_MISMATCH, OIDC with path-based registries--env-filefilesprecedence in pack/publishpeers check --global,:prodoverrides, outdated/update also cover devEnginesCode changes required by this update
None.
Unverified
Verification
Run locally with Node.js 26.13.0 and pnpm 12.17.0 (via mise):
pnpm install --frozen-lockfilepnpm buildpnpm typecheckpnpm test(8 passed, 0 failed)pnpm pack --dry-run: same 83 files as with pnpm 11.1.2