From 888910a9319dbc5b35416a717b706fe580417af8 Mon Sep 17 00:00:00 2001 From: willbot Date: Fri, 6 Nov 2026 17:00:14 +0100 Subject: [PATCH 1/2] chore(release): bump to 8.0.0-rc.31 Co-Authored-By: Claude Opus 5.5 Signed-off-by: willbot Signed-off-by: Will Madden --- package.json | 2 +- packages/cli-conformance/package.json | 4 +-- packages/cli-engine/package.json | 4 +-- packages/cli-telemetry/package.json | 4 +-- packages/cli/package.json | 8 ++--- packages/compute/package.json | 2 +- packages/prisma/package.json | 8 ++--- packages/tsconfig/package.json | 2 +- pnpm-lock.yaml | 30 +++++++++++-------- skills/prisma-platform-core-concepts/SKILL.md | 2 +- 10 files changed, 35 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 2018a598..73ed10f5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "prisma-cli", - "version": "8.0.0-rc.30", + "version": "8.0.0-rc.31", "private": true, "engines": { "node": "^24.11.0 || >=26.0.0" diff --git a/packages/cli-conformance/package.json b/packages/cli-conformance/package.json index 2ce388f4..1a085e79 100644 --- a/packages/cli-conformance/package.json +++ b/packages/cli-conformance/package.json @@ -1,7 +1,7 @@ { "name": "@repo/cli-conformance", "private": true, - "version": "8.0.0-rc.30", + "version": "8.0.0-rc.31", "description": "Reusable conformance checks for the engine's consumers: import purity over built output, config-section validators that never throw, and verification of the tarballs a registry would receive. Depends on no package it checks.", "type": "module", "exports": { @@ -24,7 +24,7 @@ "test": "pnpm run typecheck && vitest run" }, "devDependencies": { - "@repo/tsconfig": "workspace:8.0.0-rc.30", + "@repo/tsconfig": "workspace:8.0.0-rc.31", "@types/node": "^22.19.19", "es-module-lexer": "^2.1.0", "tsx": "^4.22.4", diff --git a/packages/cli-engine/package.json b/packages/cli-engine/package.json index fba550ca..68c1a642 100644 --- a/packages/cli-engine/package.json +++ b/packages/cli-engine/package.json @@ -59,8 +59,8 @@ }, "devDependencies": { "@prisma/management-api-sdk": "1.80.0", - "@repo/cli-conformance": "workspace:8.0.0-rc.30", - "@repo/tsconfig": "workspace:8.0.0-rc.30", + "@repo/cli-conformance": "workspace:8.0.0-rc.31", + "@repo/tsconfig": "workspace:8.0.0-rc.31", "@types/node": "^22.19.19", "ci-info": "^4.3.1", "tsdown": "^0.21.10", diff --git a/packages/cli-telemetry/package.json b/packages/cli-telemetry/package.json index 89bda67a..b318c36d 100644 --- a/packages/cli-telemetry/package.json +++ b/packages/cli-telemetry/package.json @@ -1,7 +1,7 @@ { "name": "@repo/cli-telemetry", "private": true, - "version": "8.0.0-rc.30", + "version": "8.0.0-rc.31", "description": "CLI telemetry child sender: the detached subprocess the engine hands a composed payload to, its system probes, and the POST", "type": "module", "sideEffects": [ @@ -35,7 +35,7 @@ "@vercel/detect-agent": "^1.2.3" }, "devDependencies": { - "@repo/tsconfig": "workspace:8.0.0-rc.30", + "@repo/tsconfig": "workspace:8.0.0-rc.31", "@types/node": "^22.19.19", "tsdown": "^0.21.10", "typescript": "^6.0.3", diff --git a/packages/cli/package.json b/packages/cli/package.json index 85ad9a48..3bb3ceaf 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@prisma/cli", - "version": "8.0.0-rc.30", + "version": "8.0.0-rc.31", "description": "Command-line interface for the Prisma Developer Platform.", "type": "module", "bin": { @@ -64,9 +64,9 @@ "devDependencies": { "@prisma/composer": "0.37.0", "@prisma/credentials-store": "^7.8.0", - "@repo/cli-conformance": "workspace:8.0.0-rc.30", - "@repo/cli-telemetry": "workspace:8.0.0-rc.30", - "@repo/tsconfig": "workspace:8.0.0-rc.30", + "@repo/cli-conformance": "workspace:8.0.0-rc.31", + "@repo/cli-telemetry": "workspace:8.0.0-rc.31", + "@repo/tsconfig": "workspace:8.0.0-rc.31", "@types/node": "^22.19.19", "@types/cross-spawn": "^6.0.6", "tsdown": "^0.21.10", diff --git a/packages/compute/package.json b/packages/compute/package.json index 47dfab5f..e3e03e48 100644 --- a/packages/compute/package.json +++ b/packages/compute/package.json @@ -42,7 +42,7 @@ "test": "vitest run" }, "devDependencies": { - "@repo/tsconfig": "workspace:8.0.0-rc.30", + "@repo/tsconfig": "workspace:8.0.0-rc.31", "@types/node": "^22.19.19", "tsdown": "^0.21.10", "typescript": "^6.0.3", diff --git a/packages/prisma/package.json b/packages/prisma/package.json index f34e792b..5a4125c3 100644 --- a/packages/prisma/package.json +++ b/packages/prisma/package.json @@ -1,6 +1,6 @@ { "name": "prisma", - "version": "8.0.0-rc.30", + "version": "8.0.0-rc.31", "description": "The Prisma CLI: one binary for the ORM, Composer, and the Prisma Developer Platform.", "type": "module", "bin": { @@ -63,10 +63,10 @@ "open": "^11.0.0" }, "devDependencies": { - "@prisma/cli": "workspace:8.0.0-rc.30", + "@prisma/cli": "workspace:8.0.0-rc.31", "@prisma/credentials-store": "^7.8.0", - "@repo/cli-telemetry": "workspace:8.0.0-rc.30", - "@repo/tsconfig": "workspace:8.0.0-rc.30", + "@repo/cli-telemetry": "workspace:8.0.0-rc.31", + "@repo/tsconfig": "workspace:8.0.0-rc.31", "@types/node": "^22.19.19", "tsdown": "^0.21.10", "typescript": "^6.0.3", diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json index f68d1e88..90a5f383 100644 --- a/packages/tsconfig/package.json +++ b/packages/tsconfig/package.json @@ -1,7 +1,7 @@ { "name": "@repo/tsconfig", "private": true, - "version": "8.0.0-rc.30", + "version": "8.0.0-rc.31", "description": "Base tsconfig providing package for the monorepo", "license": "Apache-2.0", "files": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 08762a12..2ae96947 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,13 +67,13 @@ importers: specifier: ^7.8.0 version: 7.8.0 '@repo/cli-conformance': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../cli-conformance '@repo/cli-telemetry': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../cli-telemetry '@repo/tsconfig': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../tsconfig '@types/cross-spawn': specifier: ^6.0.6 @@ -97,7 +97,7 @@ importers: packages/cli-conformance: devDependencies: '@repo/tsconfig': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../tsconfig '@types/node': specifier: ^22.19.19 @@ -143,10 +143,10 @@ importers: specifier: 1.80.0 version: 1.80.0 '@repo/cli-conformance': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../cli-conformance '@repo/tsconfig': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../tsconfig '@types/node': specifier: ^22.19.19 @@ -171,7 +171,7 @@ importers: version: 1.2.4 devDependencies: '@repo/tsconfig': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../tsconfig '@types/node': specifier: ^22.19.19 @@ -189,7 +189,7 @@ importers: packages/compute: devDependencies: '@repo/tsconfig': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../tsconfig '@types/node': specifier: ^22.19.19 @@ -244,16 +244,16 @@ importers: version: 11.0.0 devDependencies: '@prisma/cli': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../cli '@prisma/credentials-store': specifier: ^7.8.0 version: 7.8.0 '@repo/cli-telemetry': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../cli-telemetry '@repo/tsconfig': - specifier: workspace:8.0.0-rc.30 + specifier: workspace:8.0.0-rc.31 version: link:../tsconfig '@types/node': specifier: ^22.19.19 @@ -3201,6 +3201,10 @@ snapshots: optionalDependencies: picomatch: 4.0.4 + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 + fflate@0.8.3: {} figures@6.1.0: @@ -3647,8 +3651,8 @@ snapshots: vite@7.3.5(@types/node@22.19.19)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.1): dependencies: esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 postcss: 8.5.15 rollup: 4.62.2 tinyglobby: 0.2.17 diff --git a/skills/prisma-platform-core-concepts/SKILL.md b/skills/prisma-platform-core-concepts/SKILL.md index 7a99ccd1..5a20db66 100644 --- a/skills/prisma-platform-core-concepts/SKILL.md +++ b/skills/prisma-platform-core-concepts/SKILL.md @@ -2,7 +2,7 @@ name: prisma-platform-core-concepts metadata: library: "prisma" - library_version: "8.0.0-rc.30" + library_version: "8.0.0-rc.31" version: 2026.9.2 description: >- Use when hosting, deploying, or operating an app on the Prisma Platform: From f12df2dd4b75103b0fa244df1f4e12ec8b82f6ed Mon Sep 17 00:00:00 2001 From: willbot Date: Fri, 6 Nov 2026 17:00:19 +0100 Subject: [PATCH 2/2] docs: add the CONFIG namespace to the error reference Composer 0.37.0 raises three new CONFIG codes. The namespace had no section, so ten older CONFIG codes were missing too; this lists all 13. Co-Authored-By: Claude Opus 5.5 Signed-off-by: willbot Signed-off-by: Will Madden --- docs/reference/error-reference.md | 57 +++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/docs/reference/error-reference.md b/docs/reference/error-reference.md index e40d13f2..5951ca59 100644 --- a/docs/reference/error-reference.md +++ b/docs/reference/error-reference.md @@ -19,6 +19,7 @@ Namespaces: | `BRANCH` | Branch listing (`prisma branch`) | | `BUCKET` | Bucket and bucket-key management (`prisma bucket`) | | `CLI` | Engine-level invocation: arguments, config loading, prompts, consent, credentials, child processes | +| `CONFIG` | The `composer` section of `prisma.config.ts` and its `config` and `secrets` adapters (`prisma dev`, `prisma deploy`) | | `DEPLOY` | Deploying, listing and destroying a Composer app (`prisma deploy`, `prisma deploy list`, and the `deploy` and `destroy` operations of `@prisma/composer/control`) | | `DEV` | Running an app on this machine with Composer (`prisma dev`, `prisma dev url`, `prisma dev stop`, `prisma emulator list`) | | `FEEDBACK` | Sending product feedback (`prisma feedback`) | @@ -247,6 +248,62 @@ The `prisma telemetry status|enable|disable` commands could not resolve the user The typed path routed to no command (stricli's route failure, mapped at the adapter boundary) and no redirect claims it; next actions carry up to three "did you mean" suggestions ranked by edit distance over command paths and their prefixes, plus a pointer to `--help`. Exits 2. Meta: none. +## CONFIG + +These codes come from Composer, the command family behind `prisma dev` and `prisma deploy`. They report a problem with the `composer` section of `prisma.config.ts`, or with what its `config` and `secrets` adapters return, and are raised before Composer starts the app. + +### CONFIG.ADAPTER_FAILED + +An adapter in `composer.config` or `composer.secrets` threw while reading the values for the environment. `why` carries the adapter's own error message, and `where.path` is the `prisma.config.ts` that lists it. The fix is to fix the adapter, or to remove it from the list. Meta: `field` (the list and index, such as `secrets[0]`). + +### CONFIG.ADAPTER_INVALID + +An adapter in `composer.config` or `composer.secrets` returned something other than an object of values: a function (usually an adapter factory listed without calling it, such as `dotenv` instead of `dotenv()`), a non-object, or, in `secrets`, a value that is not text. The fix is to return an object whose keys are the value names and, for secrets, whose values are strings. `where.path` is the `prisma.config.ts` that lists the adapter. Meta: `field` (the list and index, such as `config[1]`). + +### CONFIG.DESCRIPTOR_KIND_MISMATCH + +A configured extension has a descriptor for a node type the app uses, but it is the wrong kind of descriptor for the step that needs it. The message names the step that needs the descriptor and the kind it needs. Meta: `extension`, `type`, `kind` (the kind the descriptor has). + +### CONFIG.DESCRIPTOR_MISSING + +A configured extension has no descriptor for a node type the app uses. `why` lists the node types the extension does know. Meta: `extension`, `type`. + +### CONFIG.ENTRY_MISSING + +No entry module is set, so there is no app to load. The entry is the module whose default export is the app root, built with `module(...)`. The fix is to set `entry: './module.ts'` in the `composer` section of `prisma.config.ts`, or to pass `--entry `. Meta: `field` (the field at fault, when there is one), `findings` (every problem the check found; the envelope reports the first). + +### CONFIG.EXTENSION_DUPLICATE + +The same extension is listed more than once in `composer.extensions`. The fix is to remove the repeated entry. Meta: `field` (the field at fault, when there is one), `findings` (every problem the check found; the envelope reports the first). + +### CONFIG.EXTENSION_MISSING + +The app uses a node from an extension that is not listed in `composer.extensions`. The fix is to import the extension's `/control` entry in `prisma.config.ts` and add its descriptor to `extensions`. Meta: `extension`, `type`. + +### CONFIG.FIELD_INVALID + +A field of the `composer` section has the wrong shape, for example an `entry` that is not a non-empty string, a `state` that is not a state descriptor, or an extension entry whose `nodes` is not an object. The summary names the field and the shape it must have. Meta: `field` (the field at fault, when there is one), `findings` (every problem the check found; the envelope reports the first). + +### CONFIG.FIELD_RETIRED + +The `composer` section uses a field Composer no longer reads, such as `configPath`, which pointed at the retired `prisma-composer.config.ts`. The fix is to move what that field pointed at into the `composer` section itself. Meta: `field` (the field at fault, when there is one), `findings` (every problem the check found; the envelope reports the first). + +### CONFIG.FIELD_UNKNOWN + +The `composer` section has a field Composer does not know. The section takes only `entry`, `extensions`, `state`, `config` and `secrets`. The fix is to remove the field, or, when the field is `composer`, to pass the `composer` property of the config export rather than the whole export. Meta: `field` (the field at fault, when there is one), `findings` (every problem the check found; the envelope reports the first). + +### CONFIG.FILE_MISSING + +The config file Composer was given does not exist. The fix is to pass the path of the `prisma.config.ts` that declares the `composer` section. Meta: `field` (the field at fault, when there is one), `findings` (every problem the check found; the envelope reports the first). + +### CONFIG.FILE_RETIRED + +A `prisma-composer.config.*` file sits beside `prisma.config.ts`. Composer no longer reads that file, so its settings would be ignored without notice. The fix is to move its settings into the `composer` section of `prisma.config.ts` and delete the file. Meta: `field` (the field at fault, when there is one), `findings` (every problem the check found; the envelope reports the first). + +### CONFIG.SECRET_AS_PLAIN_VALUE + +A plain value would hold the value of a secret that an `envSecret()` in the app reads: either a field of the root input or a configuration key. Composer writes every plain value it read to a file for the app's process and never writes a secret to a file, so it refuses. The message names where the value is and which secret, never the value. The fix is to read the secret with `envSecret('')` where it is used, or to give the plain value text that does not contain the secret. Meta: none. + ## DEPLOY These codes come from Composer, the command family behind `prisma deploy`, `prisma deploy list`, and the `deploy` and `destroy` operations of `@prisma/composer/control`. The deploy and destroy operations share a pipeline that loads the config and app, assembles each service, connects to the deploy target, runs each extension's preflight (on the Prisma Cloud target, the environment-variable check), and hands the generated stack program to the deploy engine (alchemy).