You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix(ts): move api fully onto @bufbuild/protobuf 2.14.0 (#188)
* fix(ts): relax @bufbuild/protobuf pin to ^2.12.0
The published @heddleco/api pinned @bufbuild/protobuf to the exact
"2.12.0". Downstream consumers (tapestry) declare "^2.14.0", which
cannot unify with an exact pin, so package managers install two copies:
2.14.0 hoisted and 2.12.0 nested under @heddleco/api. When both are
bundled, @connectrpc/connect binds the hoisted 2.14.0 while this
package's generated code runs on the nested 2.12.0, splitting every RPC
across two protobuf runtimes and throwing
"serialize binary: ... this.encodeUtf8Into is not a function"
(a 2.14 BinaryWriter method invoked on a 2.12 writer).
Relaxing to "^2.12.0" lets a single 2.14.0 copy satisfy both, while
still permitting 2.12.x for consumers pinned lower. api's generated code
has been proven on the wire to encode/decode byte-identically on 2.14.0.
Lockstep patch bump 0.20.0 -> 0.20.1 across Cargo.toml, package.json,
and the TS package so the dep change can ship via the tag-driven release
flow; lockfiles regenerated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(ts)!: move api fully onto @bufbuild/protobuf 2.14.0
Relaxing only the runtime caret left api's own workspace resolving 2.12
while downstream got 2.14 — inconsistent. Move the whole repo onto the
2.14.0 release so codegen, workspace, and consumers all agree:
- runtime dep (packages/typescript): @bufbuild/protobuf ^2.12.0 -> ^2.14.0
- dev toolchain (root): @bufbuild/protobuf and @bufbuild/protoc-gen-es
2.12.0 -> 2.14.0 (they release in lockstep; codegen is protoc-gen-es)
- regenerated TypeScript bindings with protoc-gen-es 2.14.0
- lockfile refreshed to the 2.14.0 graph
Byte-compat guard: regenerating every heddle/api/v1alpha1/*_pb.ts with
protoc-gen-es 2.14.0 vs 2.12.0 produces output that is identical except
the "@generated by protoc-gen-es vX" header comment (zero semantic diff),
and tools/verify-ts-vectors.mjs passes. Generated bindings live in
gitignored build staging, so there is no generated-file diff to commit.
Version stays at the 0.20.1 lockstep patch bump already applied.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>