fix: pair @unthrown/prisma with the unthrown the catalog now pins - #19
Merged
Conversation
Collapsing the graph onto unthrown 5.5.0 left `@unthrown/prisma` at 0.2.0, which depends on `unthrown@^5.1.0` and was built against that line's type shape. Under 5.5.0 the `mapErrCases`/`match` callbacks in `prisma-order-repository.ts` lost their inference and became implicit `any`, failing `pnpm typecheck` — on a clean install only, which is why it passed locally and broke on main. 0.3.2 depends on `unthrown@^5.5.0`. Verified on Node 24, the version CI's Type Check job runs: 20/20 turbo tasks. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the pnpm catalog + lockfile to align @unthrown/prisma with the repository’s pinned unthrown version, addressing the TypeScript inference regression that caused TS7006 implicit-any errors in CI.
Changes:
- Bump
@unthrown/prismain the workspace catalog from0.2.0to0.3.2. - Update
minimumReleaseAgeExcludeto reflect the new@unthrown/prismaversion. - Regenerate
pnpm-lock.yamlto remove all0.2.0references and pin0.3.2consistently.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| pnpm-workspace.yaml | Updates catalog + release-age exclusion to @unthrown/prisma@0.3.2 to match pinned unthrown@5.5.0. |
| pnpm-lock.yaml | Locks the new @unthrown/prisma@0.3.2 resolution and removes the old 0.2.0 entry throughout. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
`order-infrastructure`'s `test` and `typecheck` scripts each began with
`prisma generate`, while turbo also ran the workspace's own `generate` task —
so on a cold cache the two fired concurrently and raced:
EEXIST: file already exists, mkdir .../src/generated/prisma/models
It only shows when both tasks miss the cache at once, which a dependency change
guarantees and an ordinary run almost never does. Turbo's `test` / `typecheck` /
`test:types` now depend on `generate` as well as `^generate`, and the scripts
no longer call the generator themselves — one generator, ordered, rather than
two that usually miss each other.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
mainis red; this fixes it.ci / Type Checkfails on35ca4bbwith fiveTS7006implicit-anyerrors inexamples/order-infrastructure/src/prisma-order-repository.ts.Cause
PR #18's last commit collapsed the graph onto one
unthrown(5.5.0) to close the dual-copy hazardCLAUDE.mdnames. It left@unthrown/prismaat0.2.0, which depends onunthrown@^5.1.0and was built against that line's type shape. Under 5.5.0 themapErrCases/matchcallbacks in the repository lose their inference and their parameters become implicitany.@unthrown/prisma@0.3.2depends onunthrown@^5.5.0. That is the coherent pairing.Why it passed locally and broke on main
My local
node_modulesstill carried the pre-bump resolution; CI installs clean. That is the whole gap, and it is worth writing down: a green localpnpm typecheckafter a catalog change proves nothing until the lockfile has been rebuilt from a fresh resolution. Thepnpm clean --lockfilein #18 rebuilt the lockfile but not my tree.Verification
Run on Node 24, the version CI's Type Check job uses — not the Node 22 my shell defaults to, which is how the original slipped through:
pnpm typecheck— 20/20 turbo taskspnpm lint,pnpm format --check,pnpm knip— cleanpackages/start's documentedbinds 9000One thing I could not reproduce and am not chasing here: on this machine under Node 24,
examples/order-temporal's suite times out at 120 s. It passes on Node 22 locally, and CI passed Node 22.19, 24 and 26 on35ca4bb, so it is this machine's Temporal native bridge rather than the code. Flagging it rather than burying it.Also confirmed by 35ca4bb's run
The two open questions from the
-amqpdesign are now answered on real CI: the supply-chain age policy cleared, andci / Testspassed on all three Node versions — so testcontainers and its RabbitMQ work on the runner with no workflow change. That was the design's largest unverified risk.🤖 Generated with Claude Code