chore: bump dev-dependencies group, hold back workers-types/wrangler - #507
Conversation
…ith 7 updates Bumps the dev-dependencies group with 7 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@cloudflare/vitest-pool-workers](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers) | `0.20.2` | `0.21.3` | | [@cloudflare/workers-types](https://github.com/cloudflare/workerd) | `5.20260804.1` | `5.20260816.1` | | [eslint](https://github.com/eslint/eslint) | `10.8.0` | `10.8.1` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.66.0` | `8.67.0` | | [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) | `4.119.0` | `4.123.0` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.1.2` | `26.2.0` | | [esbuild](https://github.com/evanw/esbuild) | `0.28.1` | `0.28.2` | Updates `@cloudflare/vitest-pool-workers` from 0.20.2 to 0.21.3 - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/vitest-pool-workers/CHANGELOG.md) - [Commits](https://github.com/cloudflare/workers-sdk/commits/@cloudflare/vitest-pool-workers@0.21.3/packages/vitest-pool-workers) Updates `@cloudflare/workers-types` from 5.20260804.1 to 5.20260816.1 - [Release notes](https://github.com/cloudflare/workerd/releases) - [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md) - [Commits](https://github.com/cloudflare/workerd/commits) Updates `eslint` from 10.8.0 to 10.8.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v10.8.0...v10.8.1) Updates `typescript-eslint` from 8.66.0 to 8.67.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.67.0/packages/typescript-eslint) Updates `wrangler` from 4.119.0 to 4.123.0 - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.123.0/packages/wrangler) Updates `@types/node` from 26.1.2 to 26.2.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `esbuild` from 0.28.1 to 0.28.2 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](evanw/esbuild@v0.28.1...v0.28.2) --- updated-dependencies: - dependency-name: "@cloudflare/vitest-pool-workers" dependency-version: 0.21.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: "@cloudflare/workers-types" dependency-version: 5.20260812.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: "@types/node" dependency-version: 26.2.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: esbuild dependency-version: 0.28.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-dependencies - dependency-name: eslint dependency-version: 10.8.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-dependencies - dependency-name: typescript-eslint dependency-version: 8.67.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: wrangler dependency-version: 4.122.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…wrangler @cloudflare/workers-types >=5.20260807.2 adds a global `declare const Buffer: any` (nodejs_compat ambient global). Merged into a package's `types` array alongside `@types/node` (cf-shims, server, conformance-target), it breaks resolution of Node's own `Buffer` overloads: any `buf.toString(encoding)` call across the workspace resolves to the zero-arg `Object.prototype.toString` instead, since verified with a minimal repro and by bisecting each of the 7 bumped packages individually. This is present in every workers-types release through 5.20260822.1, so it is not transient. wrangler >=4.120.0 peer-depends on workers-types `^5.20260811.1`, and vitest-pool-workers 0.21.3 pulls in that wrangler, so the three are held back together to avoid an unmet-peer warning. eslint, typescript-eslint, @types/node, and esbuild keep their bumps.
davidwkeith
left a comment
There was a problem hiding this comment.
Reviewed against CONTRIBUTING.md. The dependency-bump logic and root-cause writeup for holding back @cloudflare/workers-types/wrangler/@cloudflare/vitest-pool-workers look sound. Two conformance issues worth fixing before merge (GitHub won't let me self-request-changes on this PR, so flagging as a comment instead):
-
PR title scope (inline comment on
package.json):chore(deps-dev): …uses a scope that isn't a package name. PerCONTRIBUTING.md§6, this repo-wide change should drop the scope entirely:chore: bump dev-dependencies group, hold back workers-types/wrangler. Since this repo squash-merges PRs, the title is what lands ingit log— worth getting right. -
"Packages affected" section is inaccurate. It lists "Root
package.json,@dwk/conformance-target,@dwk/server", but the diff doesn't touchpackages/conformance-target/package.jsonat all, and it omits@dwk/cf-shimsand@dwk/deno-host, both of which do have@types/nodebumped in this PR. Please correct the list to: rootpackage.json,@dwk/cf-shims,@dwk/deno-host,@dwk/server.
Minor: the changeset checkbox reason ("not applicable … no publishable package affected") is slightly misleading — @dwk/cf-shims and @dwk/deno-host are publishable packages; the real reason a changeset isn't needed is that dev-dependency bumps don't affect the published artifact/version. Worth tightening the wording so it doesn't read as a factual claim that's contradicted by the diff.
CI was still in progress (build-test, image, integration) at review time — please confirm all five local-gate equivalents are green before merging, per the checklist.
Generated by Claude Code
|
Addressed both review points:
All five CI checks are green ( Generated by Claude Code |
Summary
Supersedes #491, whose CI (
build-test,image,integration) failedon the same single root cause:
@cloudflare/workers-types>=5.20260807.2adds a global
declare const Buffer: any(nodejs_compat ambient global).In any package that lists both
"node"and"@cloudflare/workers-types"in its
tsconfig.jsontypesarray (@dwk/cf-shims,@dwk/server,@dwk/conformance-target), this collides with@types/node's ownBuffertyping, and everybuf.toString(encoding)call in scope(hex/base64/etc.) resolves to the zero-arg
Object.prototype.toStringinstead of Node's overload — a hard
tscerror, not just a lint nit.Verified with a minimal repro and by bisecting each of the 7 originally
bumped packages individually (installing each old/new combination and
re-running
pnpm typecheck). The bug is present in every@cloudflare/workers-typesrelease up through 5.20260822.1 (checkedagainst npm), so it isn't a transient regression that will resolve
itself on the next patch release.
This PR takes the same dependency bump as #491 but holds back the
correlated Cloudflare trio:
@cloudflare/workers-types(5.20260804.1, unchanged) — carries the bugwrangler(4.119.0, unchanged) — 4.120.0+ peer-depends on@cloudflare/workers-types@^5.20260811.1, which is inside the brokenrange
@cloudflare/vitest-pool-workers(0.20.2, unchanged) — pulls in thenewer
wrangleras a nested dependencyeslint,typescript-eslint,@types/node, andesbuildkeep theirbumps from the original PR.
@dwk/conformance-target'spackage.jsonends up unchanged net of both commits (its
workers-typesbump is heldback too), so it no longer appears in the diff.
Full local CI gate (
pnpm lint && pnpm format:check && pnpm typecheck && pnpm build && pnpm test) andnode scripts/release-gate.mjspasscleanly against this combination. All five CI checks (
build-test,image,integration,release-gate, CodeQL) are green.Packages affected
Root
package.json,@dwk/cf-shims,@dwk/deno-host,@dwk/server(devDependency version pins only — no source changes)
Checklist
spec/packages/and updated them ifbehaviour changed — not applicable, dependency version pins only
src/*.test.ts) — not applicable, no behaviour changepnpm lint && pnpm format:check && pnpm typecheck && pnpm build && pnpm testpnpm changeset) if this touches a publishablepackage — not applicable;
@dwk/cf-shimsand@dwk/deno-hostarepublishable, but a devDependency-only bump doesn't change their
published artifact or warrant a version bump
catalog.json/conformance/status.jsonif this adds a newmountable worker or changes conformance status — not applicable