Skip to content

chore(deps): apply open Renovate upgrades and fix pnpm 12 CI - #200

Merged
elonehoo merged 1 commit into
mainfrom
cursor/renovate-upgrades-ci-a144
Oct 20, 2026
Merged

elonehoo merged 1 commit into
mainfrom
cursor/renovate-upgrades-ci-a144

Conversation

@elonehoo

@elonehoo elonehoo commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Applies the dependency upgrades from the nine open Renovate PRs in one branch, with a lockfile regenerated by pnpm 12.14.0 and the follow-on fixes required for CI to install, build, and test. The existing Renovate PRs are left open.

Upgrades

Where a minor PR and a major PR touched the same package, the major range is what landed.

Why CI was red

pnpm/action-setup with version: latest installs pnpm 12. That release fails pnpm install in two ways the Renovate lockfiles do not satisfy:

pnpm/action-setup v6 also errors when a version input is set and package.json packageManager is set. pnpm is pinned as packageManager: pnpm@12.14.0, Node is installed before pnpm, and the workflow no longer passes version: latest.

Other fixes

  • allowBuilds.esbuild: true so the esbuild postinstall is allowed. minimumReleaseAge: 0 so --no-frozen-lockfile does not reject a same-day publish. ignore-workspace-root-check, strict-peer-dependencies, and auto-install-peers moved from .npmrc into pnpm-workspace.yaml, because pnpm 12 only reads auth and registry settings from .npmrc.
  • @antfu/eslint-config v9 requires shellEmulator: true, trustPolicy: no-downgrade, and minimumReleaseAgeExcludePrune: true in the workspace file, and a sorted key order.
  • TypeScript 7 has no compiler API. tsup 9's rollup-plugin-dts fails on typescript@7.0.2, and typescript-eslint (pulled in by the antfu config) throws on TS 7. The typescript dependency is npm:@typescript/typescript6@^6.0.2 so tsup and eslint keep importing the TS 6 API. @typescript/native is TypeScript 7.0.2, and the tsc bin is 7.0.2.
  • ESLint 10 / antfu 9: image alt text on the READMEs, and Object.hasOwn() in isEmptyObject.

pnpm run lint, pnpm run build, and pnpm run test pass locally on Node 22 and Node 26.12.0. pnpm install --frozen-lockfile passes with pnpm 12.14.0.

Not changed

  • The nine Renovate PRs are left open.
  • test/ still uses Vitest 3, Vite 6, and @vitest/coverage-v8 3. None of the open PRs bump them, and the test job passes on Node 26 without a Vitest major.
  • Docs are not built in CI.
Open in Web Open in Cursor 

Note

Medium Risk
Broad dev-dependency and pnpm/CI toolchain changes affect install, build, and lint everywhere, though runtime library behavior is unchanged aside from a minor isEmptyObject implementation tweak.

Reviewed by Cursor Bugbot for commit 5faf32a. Bugbot is set up for automated code reviews on this repo. Configure here.

Pin pnpm 12.14.0 with packageManager so action-setup stops floating
to a latest that rejects fresh lockfile entries and unapproved
install scripts. Keep the TypeScript 6 compiler API installed for
tsup and eslint while TypeScript 7 provides tsc.

Co-authored-by: Elone Hoo <hi@elonehoo.me>
@bolt-new-by-stackblitz

Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@elonehoo
elonehoo merged commit 50b1a62 into main Oct 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants