Skip to content

fix(deps): build composer-cli against @prisma/cli-engine 0.6.2, the engine the next prisma CLI ships - #325

Merged
wmadden-electric merged 2 commits into
mainfrom
claude/engine-0.6.2
Sep 30, 2026
Merged

wmadden-electric merged 2 commits into
mainfrom
claude/engine-0.6.2

Conversation

@wmadden-electric

Copy link
Copy Markdown
Contributor

At a glance

The peer dependency of @prisma/composer-cli, in packages/9-public/composer-cli/package.json:

   "peerDependencies": {
-    "@prisma/cli-engine": "0.6.1"
+    "@prisma/cli-engine": "0.6.2"
   },

What engine 0.6.2 changes, shown with the example from prisma/prisma-cli#313 (a CLI named prisma-test):

-→ Apply the migration: {bin} db migrate
+→ Apply the migration: prisma-test db migrate

What this pull request does

It moves every pin of @prisma/cli-engine in this repository from 0.6.1 to 0.6.2 and refreshes the lockfile. No source file changes.

Background

@prisma/cli-engine is the package that runs the commands of the prisma CLI. It is released from prisma/prisma-cli. The commands come from other packages. @prisma/composer-cli is one of them, and @prisma/orm-toolchain is the other.

A command package and the prisma CLI must use the same copy of the engine. With two copies, the types and the runtime classes of one copy do not match the other. So @prisma/composer-cli declares the engine as a peer dependency at one exact version, and the prisma CLI carries the only real dependency. If the versions differ, the install fails, or npm installs a second copy.

Why the version moves

prisma/prisma-cli#313 released engine 0.6.2. The next prisma release ships that engine. Its release check refuses a command package that peers a different engine version. @prisma/composer-cli 0.25.0 peers 0.6.1, so prisma/prisma-cli currently holds a temporary exception for it. prisma/prisma-cli#314 tracks the removal of that exception.

What engine 0.6.2 changes

A command does not know the name of the CLI that runs it, so it writes the placeholder {bin} in a hint. Engine 0.6.1 replaced {bin} only in help examples and in redirect messages. Engine 0.6.2 also replaces it in next actions, warnings, errors, and the text of summary and list blocks.

In this repository {bin} appears only in the help examples of the deploy, destroy, dev, and log commands. Engine 0.6.1 already replaced those. So the output of the composer commands does not change, and no test expectation changes.

What was checked

All commands ran locally on the branch tip, on macOS.

Command Result
pnpm install --frozen-lockfile passed
pnpm build passed
pnpm lint passed
pnpm lint:deps passed
pnpm lint:casts passed
pnpm typecheck passed
pnpm check:cli-engine-pin passed
pnpm check:publish-deps passed
pnpm check:family-static-graph passed
pnpm check:skill-packaging passed
pnpm check:npm-effect-resolution passed
pnpm check:floor-imports passed
pnpm test:scripts passed
pnpm turbo run test:types passed
pnpm turbo run test --filter=@internal/local-target passed
pnpm turbo run test --filter='!@internal/local-target' 64 of 65 tasks passed

pnpm check:cli-engine-pin printed: OK — @prisma/cli-engine@0.6.2 is exact, agreed across manifests, external in the CLI tarball, and absent from the library.

The task that failed is @prisma/integration-tests. Its script test/local-dev-store.integration.ts stops with no main.js/main.mjs found in bundle dir .../examples/store/.prisma-composer/artifacts/storefront. The same script fails with the same error on an unchanged checkout of main (commit a2544c31) on the same machine. It was not run in CI before this pull request was opened.

What depends on this

Linked issue

Refs prisma/prisma-cli#314 and prisma/prisma-cli#313.

Agent: keen-finch-33
🤖 Generated with Claude Code

wmadden-electric and others added 2 commits September 28, 2026 09:24
…ngine the prisma CLI ships

The prisma CLI ships @prisma/cli-engine 0.6.2 from prisma/prisma-cli#313, and its release check refuses a command family built against a different engine: npm would install two engines. composer-cli 0.23.0 peers engine 0.6.1.

Every engine pin moves from 0.6.1 to 0.6.2. Engine 0.6.2 substitutes {bin} in next actions, diagnostics, errors, and summary and list blocks, and changes no API composer calls, so there are no source changes.

pnpm-lock.yaml is not in this commit. It can be refreshed only after 0.6.2 is on npm.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ckfile

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@prisma-gizmo

prisma-gizmo Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

✅ Gizmo reviewed ca4e67c — posted 0 inline comment(s) this pass.

Open findings: none

Change walkthrough

This PR moves every @prisma/cli-engine pin in the repository from 0.6.1 to 0.6.2 and refreshes the lockfile, so @prisma/composer-cli builds against — and peers — the engine version the next prisma CLI will ship (prisma/prisma-cli#313), letting prisma/prisma-cli drop its temporary release exception (prisma/prisma-cli#314). Manifests. Seven one-line pin bumps cover the engine's three required agreement points and its workspace consumers: packages/9-public/composer-cli/package.json:32 (peer) and line 37 (dev) — bumped in lockstep, which is exactly what scripts/check-cli-engine-pin.mjs enforces (peer = dev pin, exact version, no range); packages/0-framework/3-tooling/cli/package.json:24 (@internal/cli dependency) — the third leg of the tandem-release agreement; the examples (auth, orm-demo, store modules) and the Prisma Cloud target extension — devDependencies only. No source files change. A grep confirms no 0.6.1 pin survives in any manifest, and the lockfile's importers all resolve to 0.6.2(@prisma/management-api-sdk@1.80.0). Behavioral impact. None expected. {bin} appears in this repo only in the help examples of the deploy, destroy, dev, and log commands (deploy.ts:18 and siblings), which engine 0.6.1 already substituted; 0.6.2 only widens substitution to next-actions, warnings, errors, and summary/list blocks, none of which this repo uses. The check script reads pins dynamically, so no script update was needed.

@pkg-pr-new

pkg-pr-new Bot commented Sep 29, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@prisma/composer@325
npm i https://pkg.pr.new/@prisma/composer-cli@325
npm i https://pkg.pr.new/@prisma/composer-prisma-cloud@325

commit: ca4e67c

@prisma-gizmo prisma-gizmo Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New findings: 🟡 1 minor · trace

Findings outside the diff

  • 🟡 Minor · consistency pnpm-lock.yaml — External @prisma/orm-toolchain@8.0.0-rc.13 still peers cli-engine 0.6.1, so workspace installs now report a peer mismatch until its follow-up release
    The bump moves every in-repo pin to 0.6.2, but the external @prisma/orm-toolchain@8.0.0-rc.13 package (pinned by packages/1-prisma-cloud/1-extensions/target, packages/1-prisma-cloud/2-shared-modules/auth, and packages/9-public/composer-prisma-cloud) still declares "@prisma/cli-engine": "0.6.1" as a peer in its published manifest. pnpm resolves the peer against the single 0.6.2 copy — the lockfile's peer suffixes all read @prisma/cli-engine@0.6.2(...) — so no second engine copy exists and pnpm install succeeds, but it emits a peer-dependency mismatch warning for each of those packages until the matching @prisma/orm-toolchain release that peers 0.6.2 lands. The PR description tracks this follow-up (prisma/prisma-cli#314), so this is a known transient rather than a defect, recorded here so reviewers see why installs warn.
    Recommended fix: Land the coordinated @prisma/orm-toolchain release that peers @prisma/cli-engine 0.6.2 and bump the workspace's 8.0.0-rc.13 pins in a follow-up, as planned in prisma/prisma-cli#314.

@prisma-gizmo prisma-gizmo Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Gizmo review threads are resolved and the head commit has been reviewed. Approving.

@wmadden-electric
wmadden-electric merged commit 58e858b into main Sep 30, 2026
24 checks passed
@wmadden-electric
wmadden-electric deleted the claude/engine-0.6.2 branch September 30, 2026 05:33
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