Repository navigation
chore(toolchain): Node.js 24 + pnpm 12.14.0 - #164
Merged
Merged
Conversation
Convert from npm to pnpm@12.14.0 (pnpm-lock.yaml imported from package-lock.json so resolved versions are preserved), move overrides to pnpm-workspace.yaml, add allowBuilds for esbuild, declare the previously phantom eslint dependency (imported by eslint.config.mts), switch CI to Node 24 + pnpm/action-setup@v6. Release artifacts are byte-identical to the npm baseline. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
pnpm update --no-save; package.json and overrides unchanged. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
4 tasks
Member
Author
|
🎉 This PR is included in version 1.6.3 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
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.



Closes #163 · Part of firstsun-dev/.github#38
Changes
packageManager: pnpm@12.14.0;pnpm-lock.yamlcreated withpnpm importfrom package-lock.json (resolved versions preserved);package-lock.jsonremoved after validation.package.json#overrides(all security overrides kept, incl.npm, undici, sigstore, tar, ...) moved verbatim topnpm-workspace.yaml#overrides.allowBuilds: { esbuild: true }.eslint.config.mtsimportseslint/configbuteslintwas not declared (npm hoisting hid it; pnpm lint failed). Addedeslint@9.39.4(devDependency, same version npm had resolved). No other upgrades..npmrc(tag-version-prefix) kept: npm-version-only setting, not a pnpm setting.scripts/typecheck-compat.mjsstill usesnpm install --prefixinto a cache dir (isolated, npm ships with Node).pnpm/action-setup@v6(SHA-pinned like other actions, readspackageManager),cache: pnpm,pnpm install --frozen-lockfile(existing--ignore-scriptskept),pnpm exec semantic-release, paths-filter uses pnpm-lock.yaml/pnpm-workspace.yaml. All jobs (lint, unit, build, E2E, package, publish, attestations) preserved.Validation evidence
rm -rf node_modules && pnpm install --frozen-lockfile(pnpm 12.14.0, Node 24.18): OKpnpm run lint: 0 errors;pnpm run build(tsc + Obsidian 1.11.0 compat + esbuild): OKpnpm run test: 76 files / 953 tests passed (4 consecutive runs; see note below); with--coverageOKpnpm run test:e2e -- --provider gitea(real Gitea in Docker): 36 passed, 18 skippednpm publish(npmPublish false).Lockfile refresh
Separate commit
chore(deps): refresh lockfile within existing ranges(pnpm update --no-save;git diff package.jsonempty, overrides untouched; revert that commit alone to undo). Notable bumps: vitest/@vitest/* 4.1.11->4.1.12, typescript-eslint 8.68.0->8.71.2, eslint-plugin-sonarjs 4.2.0->4.2.2, @types/node 24.13.2->24.19.2, @semantic-release/github ->12.0.10, obsidian typings 1.13.1->1.14.4, ignore 7.0.6->7.0.12.Re-validated: frozen clean install, lint, build (incl. Obsidian 1.11.0 compat), 953/953 tests. manifest.json/styles.css hashes unchanged. main.js changed (239643 -> 243397 bytes, sha256 b88b1b25...) because the bundled runtime dependency
ignoremoved 7.0.6 -> 7.0.12 (the baseline-identical hash above applies to the pre-refresh commit b79061f).Risks / interactions
publishjob torelease-metadata, adds release-build.yml; itsnpm ci/npx semantic-releaselines will conflict with mine). Resolution when the later one merges: keep the pnpm setup steps/commands and apply the other PR's structure; release-build.yml from Fix release provenance, E2E cleanup race, and stale docs #157 will also need the same pnpm/action-setup +pnpm install --frozen-lockfile+ Node 24 treatment.Post-merge status (checked 2026-10-20 02:26 UTC)
Merged into
mainat 2026-10-20T02:17:46Z as665c839.Push CI on the merge commit: CI/CD: in_progress/null.
Tracking: chore(toolchain): standardize Node.js 24 and pnpm 12 across active repositories .github#38.
🤖 Generated with Claude Code
CI note
Self-hosted provider-e2e legs intermittently failed in
pnpm/action-setup(Cannot find module .../@pnpm/exe.linux-x64/bin/pnpm.mjs): the runners share a persistent pnpm 11 store (/cache/pnpm-store) and the two parallel legs race while switching to 12.14.0 (infra interaction, first run's gitlab leg hung ~30m, second run both legs failed at setup). Fixed on the branch (commit "fix(ci): isolate pnpm store per self-hosted E2E leg"): each leg usespnpm_config_store_dir=$RUNNER_TEMP/pnpm-store-<provider>. Latest run: all checks green incl. github/gitlab/gitea E2E, Required Checks, Release/Package (Publish skipped on PR).