From 9ccd938a4da854d04460b8b385c0a2bba8cdf616 Mon Sep 17 00:00:00 2001 From: willbot Date: Mon, 28 Sep 2026 13:31:02 +0200 Subject: [PATCH] feat(cli): mount prisma contract print, from @prisma/orm-toolchain 8.0.0-rc.13 The ORM command family gained contract print in prisma/orm#30315. Development builds of the family carried it before any release did, so the dev publish failed the mount coverage check. This moves the pin to the release that has the command and mounts it. Co-Authored-By: Claude Fable 5.1 Signed-off-by: willbot Signed-off-by: Will Madden --- packages/cli/package.json | 2 +- packages/cli/src/cli.ts | 5 +++-- packages/cli/tests/e2e-coverage.test.ts | 1 + packages/cli/tests/mount-coverage.test.ts | 1 + packages/cli/tests/orm-mount.test.ts | 1 + packages/prisma/package.json | 2 +- pnpm-lock.yaml | 23 ++++++++++++----------- 7 files changed, 20 insertions(+), 15 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 5e0e59cd..40f68106 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -53,7 +53,7 @@ "@prisma/composer-cli": "0.23.0", "@prisma/compute-sdk": "0.43.0", "@prisma/management-api-sdk": "1.79.0", - "@prisma/orm-toolchain": "8.0.0-rc.12", + "@prisma/orm-toolchain": "8.0.0-rc.13", "@vercel/detect-agent": "^1.2.3", "better-result": "^2.9.2", "cross-spawn": "^7.0.6", diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index c82cbb12..7afbb9cc 100644 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -324,9 +324,9 @@ export const cliGroups: Readonly< }, contract: { brief: - "Author your data contract: the PSL source of your data model. Emit, infer, format", + "Author your data contract: the PSL source of your data model. Emit, infer, format, print", description: - "A contract is the declarative description of your application's data model, authored in PSL (Prisma Schema Language). Migrations are planned from it, and live databases are verified and signed against it. Emit generates its artifacts, infer derives a contract from an existing database, and format normalizes the source.", + "A contract is the declarative description of your application's data model, authored in PSL (Prisma Schema Language). Migrations are planned from it, and live databases are verified and signed against it. Emit generates its artifacts, infer derives a contract from an existing database, format normalizes the source, and print writes the contract your config loads as PSL.", }, db: { brief: @@ -426,6 +426,7 @@ export const mountedCommands: Readonly> = { "db verify": ormCommandFamily.commands["db verify"], "db migrate": ormCommandFamily.commands["db migrate"], "contract format": ormCommandFamily.commands["contract format"], + "contract print": ormCommandFamily.commands["contract print"], // `orm init` keeps this path: only the top-level `init` (the compute // config wizard) was removed, by the 2026-08-21 PM review. "orm init": ormCommandFamily.commands["orm init"], diff --git a/packages/cli/tests/e2e-coverage.test.ts b/packages/cli/tests/e2e-coverage.test.ts index 755fda31..a7e5f58a 100644 --- a/packages/cli/tests/e2e-coverage.test.ts +++ b/packages/cli/tests/e2e-coverage.test.ts @@ -59,6 +59,7 @@ const EXCLUSIONS: Readonly> = { "db update": ORM_FAMILY_REASON, "db verify": ORM_FAMILY_REASON, "contract format": ORM_FAMILY_REASON, + "contract print": ORM_FAMILY_REASON, lsp: ORM_FAMILY_REASON, "db migrate": ORM_FAMILY_REASON, "migration check": ORM_FAMILY_REASON, diff --git a/packages/cli/tests/mount-coverage.test.ts b/packages/cli/tests/mount-coverage.test.ts index e3db29ab..d1275329 100644 --- a/packages/cli/tests/mount-coverage.test.ts +++ b/packages/cli/tests/mount-coverage.test.ts @@ -91,6 +91,7 @@ const EXPECTED_MOUNT_PATHS: readonly string[] = [ "contract emit", "contract format", "contract infer", + "contract print", "db init", "db migrate", "db schema", diff --git a/packages/cli/tests/orm-mount.test.ts b/packages/cli/tests/orm-mount.test.ts index e9403562..909ad853 100644 --- a/packages/cli/tests/orm-mount.test.ts +++ b/packages/cli/tests/orm-mount.test.ts @@ -147,6 +147,7 @@ describe("the ORM family answers from the assembled tree", () => { it.each([ [["contract", "format"], "contract format"], + [["contract", "print"], "contract print"], [["db", "migrate"], "db migrate"], [["migration", "ref", "list"], "migration ref list"], [["migration", "ref", "set"], "migration ref set"], diff --git a/packages/prisma/package.json b/packages/prisma/package.json index e2da8e57..86a76ffe 100644 --- a/packages/prisma/package.json +++ b/packages/prisma/package.json @@ -54,7 +54,7 @@ "@prisma/composer-cli": "0.23.0", "@prisma/compute-sdk": "0.43.0", "@prisma/management-api-sdk": "1.79.0", - "@prisma/orm-toolchain": "8.0.0-rc.12", + "@prisma/orm-toolchain": "8.0.0-rc.13", "@vercel/detect-agent": "^1.2.3", "better-result": "^2.9.2", "cross-spawn": "^7.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aa18215b..fd46878e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,8 +39,8 @@ importers: specifier: 1.79.0 version: 1.79.0 '@prisma/orm-toolchain': - specifier: 8.0.0-rc.12 - version: 8.0.0-rc.12(@prisma/cli-engine@packages+cli-engine)(magicast@0.5.3)(typanion@3.14.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + specifier: 8.0.0-rc.13 + version: 8.0.0-rc.13(@prisma/cli-engine@packages+cli-engine)(magicast@0.5.3)(typanion@3.14.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@vercel/detect-agent': specifier: ^1.2.3 version: 1.2.4 @@ -222,8 +222,8 @@ importers: specifier: 1.79.0 version: 1.79.0 '@prisma/orm-toolchain': - specifier: 8.0.0-rc.12 - version: 8.0.0-rc.12(@prisma/cli-engine@packages+cli-engine)(magicast@0.5.3)(typanion@3.14.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + specifier: 8.0.0-rc.13 + version: 8.0.0-rc.13(@prisma/cli-engine@packages+cli-engine)(magicast@0.5.3)(typanion@3.14.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@vercel/detect-agent': specifier: ^1.2.3 version: 1.2.4 @@ -1333,16 +1333,16 @@ packages: '@prisma/management-api-sdk@1.79.0': resolution: {integrity: sha512-GkqNeovHk+dDoGVGCQbBg924CozWRpPw7/V8crJPuEGnXTf0Mh1pIa0yK1HZjP3QwqFk5hp9ZC3v3k5/tcKnDg==} - '@prisma/orm-framework@8.0.0-rc.12': - resolution: {integrity: sha512-+CEHlSwRh+79mRHCXER42Mz9unYeJczWbnYCMlK4X/0YDd+PdkkfRX/U+In5DlrangLn/F3csRLirG+wy/fUaA==} + '@prisma/orm-framework@8.0.0-rc.13': + resolution: {integrity: sha512-cN8IQ1STbFhiJX1DKkHGEheKLZuKBq0/fJgHWWvb3//Y58rqBnLuztkqmz2Igl0/JNjhFlJoskwPvOh6jl2XeA==} peerDependencies: typescript: '>=5.9' peerDependenciesMeta: typescript: optional: true - '@prisma/orm-toolchain@8.0.0-rc.12': - resolution: {integrity: sha512-sTrEaqo1ps++iXbur5kf7pH8opSjH3oLQcW4iyvrIpGV1ULLXFDMtMLXYMygr1lF+fD+QN/awjewZhiNvgklvw==} + '@prisma/orm-toolchain@8.0.0-rc.13': + resolution: {integrity: sha512-qtqYAtwsxI21wWp8qbLAbLfoonbQinacDAGs9UIqft+uJ1XJfaVPUJHFL+Hed7L7uSGRX/citOOaWf1zuGXKgA==} peerDependencies: '@prisma/cli-engine': 0.6.1 typescript: '>=5.9' @@ -4143,19 +4143,20 @@ snapshots: dependencies: openapi-fetch: 0.14.0 - '@prisma/orm-framework@8.0.0-rc.12(typescript@6.0.3)': + '@prisma/orm-framework@8.0.0-rc.13(typescript@6.0.3)': dependencies: '@standard-schema/spec': 1.1.0 arktype: 2.2.3 pathe: 2.0.3 + tinyglobby: 0.2.17 uniku: 0.5.0 optionalDependencies: typescript: 6.0.3 - '@prisma/orm-toolchain@8.0.0-rc.12(@prisma/cli-engine@packages+cli-engine)(magicast@0.5.3)(typanion@3.14.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': + '@prisma/orm-toolchain@8.0.0-rc.13(@prisma/cli-engine@packages+cli-engine)(magicast@0.5.3)(typanion@3.14.0)(typescript@6.0.3)(vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@prisma/cli-engine': link:packages/cli-engine - '@prisma/orm-framework': 8.0.0-rc.12(typescript@6.0.3) + '@prisma/orm-framework': 8.0.0-rc.13(typescript@6.0.3) '@vercel/detect-agent': 1.2.4 arktype: 2.2.3 c12: 3.3.4(magicast@0.5.3)