Skip to content

chore: raise the pnpm pin to ^12.4.1 - #2012

Merged
dinwwwh merged 1 commit into
middleapi:mainfrom
dinwwwh:claude/cloudflare-workers-deploy-27c7cc
Sep 12, 2026
Merged

chore: raise the pnpm pin to ^12.4.1#2012
dinwwwh merged 1 commit into
middleapi:mainfrom
dinwwwh:claude/cloudflare-workers-deploy-27c7cc

Conversation

@dinwwwh

@dinwwwh dinwwwh commented Sep 12, 2026

Copy link
Copy Markdown
Member

Raises the pnpm pin in devEngines.packageManager from ^12.0.0 to ^12.4.1 and records 12.4.1 in pnpm-lock.yaml. This unblocks the docs deploy: Cloudflare Workers Builds launches pnpm through Corepack, which resolves the range to the newest 12.x on npm (12.4.1 today) and does not let pnpm switch to the version recorded in the lockfile, so pnpm install --frozen-lockfile failed with ERR_PNPM_FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE while the lockfile still pinned 12.0.0.

Behavior

  • The lockfile pin matches what Corepack resolves, so the Workers build installs again.
  • The lockfile diff is limited to the packageManagerDependencies block and the @pnpm/exe.* platform packages for 12.4.1.
  • The range keeps the trade-off from chore: declare pnpm via devEngines.packageManager #2008: the next pnpm 12.x release moves Corepack ahead of the lockfile again, and the pin then needs another refresh (pnpm self-update <version> followed by pnpm install).

Testing

  • pnpm install --frozen-lockfile passes with pnpm 12.4.1 launched the way Corepack launches it (COREPACK_ROOT set, CI=true, cold policy cache): the supply-chain check passes and the resolution step is skipped.
  • The same install passes without Corepack, and eslint package.json passes.

Cloudflare Workers Builds runs pnpm through Corepack, which resolves the
devEngines range to the newest 12.x on npm and does not let pnpm switch
to the version recorded in pnpm-lock.yaml. With the lockfile still
pinning 12.0.0, `pnpm install --frozen-lockfile` failed with
ERR_PNPM_FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE. The pin now matches
what Corepack resolves today.
@pullfrog

pullfrog Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

This run was cancelled 🛑

The workflow was cancelled before completion. Please check the link below for details.

Pullfrog  | View workflow run | via Pullfrog𝕏

@dinwwwh
dinwwwh merged commit 8b4ee55 into middleapi:main Sep 12, 2026
7 of 8 checks passed
dinwwwh added a commit to middleapi/openapi-spec that referenced this pull request Sep 12, 2026
Raises the pnpm pin in `devEngines.packageManager` from `^12.0.0` to
`^12.4.1` and records 12.4.1 in `pnpm-lock.yaml` (previously 12.0.0),
the same change as middleapi/orpc#2012. With a range pin, any
environment that launches pnpm through Corepack resolves the range to
the newest 12.x on npm and cannot switch to the version recorded in the
lockfile, so an older lockfile pin fails `pnpm install
--frozen-lockfile` with
`ERR_PNPM_FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE`. Keeping the pin at
the current release avoids that.

## Behavior

- The lockfile diff is limited to the `packageManagerDependencies` block
and the `@pnpm/exe.*` platform packages for 12.4.1.
- The next pnpm 12.x release needs another refresh (`pnpm self-update
<version>` followed by `pnpm install`).

## Testing

- `pnpm install --frozen-lockfile` passes with pnpm 12.4.1: the
supply-chain check passes and the resolution step is skipped.
- `eslint package.json` passes.
dinwwwh added a commit to middleapi/standard-server that referenced this pull request Sep 12, 2026
Raises the pnpm pin in `devEngines.packageManager` from `^12.0.0` to
`^12.4.1` and records 12.4.1 in `pnpm-lock.yaml` (previously 12.3.4),
the same change as middleapi/orpc#2012. With a range pin, any
environment that launches pnpm through Corepack resolves the range to
the newest 12.x on npm and cannot switch to the version recorded in the
lockfile, so an older lockfile pin fails `pnpm install
--frozen-lockfile` with
`ERR_PNPM_FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE`. Keeping the pin at
the current release avoids that.

## Behavior

- The lockfile diff is limited to the `packageManagerDependencies` block
and the `@pnpm/exe.*` platform packages for 12.4.1.
- The next pnpm 12.x release needs another refresh (`pnpm self-update
<version>` followed by `pnpm install`).

## Testing

- `pnpm install --frozen-lockfile` passes with pnpm 12.4.1: the
supply-chain check passes and the resolution step is skipped.
- `eslint package.json` passes.
@codecov

codecov Bot commented Sep 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@codspeed-hq

codspeed-hq Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 30 untouched benchmarks


Comparing dinwwwh:claude/cloudflare-workers-deploy-27c7cc (1840233) with main (8f1f9e4)

Open in CodSpeed

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.

1 participant