@prisma/orm-mongo 8.0.0-rc.9-dev.9 → 8.0.0-rc.9-dev.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -8
- package/skills/prisma-8/SKILL.md +1 -1
- package/skills/prisma-8/references/build.md +1 -1
- package/skills/prisma-8/references/feedback.md +8 -8
- package/skills/prisma-8/references/migrations.md +1 -1
- package/skills/prisma-8/references/quickstart.md +2 -2
- package/skills/prisma-8/upgrading/app/upgrades/8.0.0-rc.9-to-8.0.0-rc.10/instructions.md +42 -1
- package/skills/prisma-8/upgrading/extension/upgrades/8.0.0-rc.9-to-8.0.0-rc.10/instructions.md +29 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/orm-mongo",
|
|
3
|
-
"version": "8.0.0-rc.9-dev.
|
|
3
|
+
"version": "8.0.0-rc.9-dev.10",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
"skills"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@prisma/orm-family-mongo": "8.0.0-rc.9-dev.
|
|
14
|
-
"@prisma/orm-framework": "8.0.0-rc.9-dev.
|
|
15
|
-
"@prisma/orm-target-mongo": "8.0.0-rc.9-dev.
|
|
16
|
-
"@prisma/orm-toolchain": "8.0.0-rc.9-dev.
|
|
13
|
+
"@prisma/orm-family-mongo": "8.0.0-rc.9-dev.10",
|
|
14
|
+
"@prisma/orm-framework": "8.0.0-rc.9-dev.10",
|
|
15
|
+
"@prisma/orm-target-mongo": "8.0.0-rc.9-dev.10",
|
|
16
|
+
"@prisma/orm-toolchain": "8.0.0-rc.9-dev.10",
|
|
17
17
|
"pathe": "^2.0.3"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@internal/mongo": "8.0.0-rc.9-dev.
|
|
21
|
-
"@repo/tsconfig": "8.0.0-rc.9-dev.
|
|
22
|
-
"@repo/tsdown": "8.0.0-rc.9-dev.
|
|
20
|
+
"@internal/mongo": "8.0.0-rc.9-dev.10",
|
|
21
|
+
"@repo/tsconfig": "8.0.0-rc.9-dev.10",
|
|
22
|
+
"@repo/tsdown": "8.0.0-rc.9-dev.10",
|
|
23
23
|
"tsdown": "0.22.14",
|
|
24
24
|
"typescript": "5.9.3"
|
|
25
25
|
},
|
package/skills/prisma-8/SKILL.md
CHANGED
|
@@ -67,7 +67,7 @@ Set `logLevel: 'debug'` only while troubleshooting; default `'info'` in committe
|
|
|
67
67
|
### 4. Verify the dev loop
|
|
68
68
|
|
|
69
69
|
1. Start `vite dev`.
|
|
70
|
-
2. Watch for the success log: `[prisma
|
|
70
|
+
2. Watch for the success log: `[prisma] emitted contract.d.ts + contract.json`.
|
|
71
71
|
3. Edit `prisma/schema.psl` (e.g. add a field to a model).
|
|
72
72
|
4. Within ~150ms (the debounce), watch for a re-emit log line.
|
|
73
73
|
5. Type-check your application code that uses the new field — should pass without restarting the dev server.
|
|
@@ -9,12 +9,12 @@ The skill's job is to pick the *right channel* — GitHub issue or Discord — a
|
|
|
9
9
|
|
|
10
10
|
Canonical channels:
|
|
11
11
|
|
|
12
|
-
- **GitHub Issues** (bugs + concrete feature requests): <https://github.com/prisma/
|
|
12
|
+
- **GitHub Issues** (bugs + concrete feature requests): <https://github.com/prisma/orm/issues/new/choose>
|
|
13
13
|
- **Prisma Discord** (Q&A, design feedback, direct team contact — including extension authors): <https://pris.ly/discord>
|
|
14
14
|
|
|
15
15
|
## When to Use
|
|
16
16
|
|
|
17
|
-
- A capability-gap entry from another `prisma-
|
|
17
|
+
- A capability-gap entry from another `prisma-8` skill fired and the user said *"yes, file the feature request"*.
|
|
18
18
|
- User says *"this is a bug"*, *"file this"*, *"report this"*, *"file an issue against PN"*, *"send feedback"*, *"this should be a feature"*.
|
|
19
19
|
- User describes an unexpected behaviour — wrong exit code, error message that didn't match what happened, type signature that doesn't match runtime behaviour, planner refused a migration that looked safe — and wants it on the framework team's radar.
|
|
20
20
|
- User asks *"can I ask the Prisma team about this?"*, *"is there somewhere I can talk to the team?"*, *"is this the intended way to do X?"*, *"how should I integrate <my extension / my tool> with PN?"*, or any other open-ended Q&A or design-feedback prompt — including extension authors asking integration questions.
|
|
@@ -42,7 +42,7 @@ The user wants to hand something off to the team. Which channel?
|
|
|
42
42
|
|
|
43
43
|
- The user describes a concrete bug (see *Classify* below for the bug-vs-feature split).
|
|
44
44
|
- The user has a concrete feature request — a named capability, a specific API shape, a specific CLI flag — that they want on the backlog.
|
|
45
|
-
- A capability-gap entry from another `prisma-
|
|
45
|
+
- A capability-gap entry from another `prisma-8` skill routed them here for a feature request.
|
|
46
46
|
|
|
47
47
|
**Prisma Discord** (<https://pris.ly/discord>) if any of:
|
|
48
48
|
|
|
@@ -103,7 +103,7 @@ For **feature requests**, additionally:
|
|
|
103
103
|
|
|
104
104
|
### 4. Render the body
|
|
105
105
|
|
|
106
|
-
The repository ships GitHub Issue Forms (`.github/ISSUE_TEMPLATE/bug_report.yml` and `feature_request.yml`). When the user lands on <https://github.com/prisma/
|
|
106
|
+
The repository ships GitHub Issue Forms (`.github/ISSUE_TEMPLATE/bug_report.yml` and `feature_request.yml`). When the user lands on <https://github.com/prisma/orm/issues/new/choose> they pick the matching template and fill in the form fields; the skill produces the body in the same structured shape so it maps onto the form one-to-one (and so `gh issue create --body-file` produces a parseable artifact even when the form isn't in play).
|
|
107
107
|
|
|
108
108
|
Bug-report body shape (fields named to match `.github/ISSUE_TEMPLATE/bug_report.yml`):
|
|
109
109
|
|
|
@@ -195,7 +195,7 @@ Preferred. Two steps:
|
|
|
195
195
|
If `gh` is not installed: open the prefilled new-issue URL in the browser:
|
|
196
196
|
|
|
197
197
|
~~~text
|
|
198
|
-
https://github.com/prisma/
|
|
198
|
+
https://github.com/prisma/orm/issues/new/choose
|
|
199
199
|
~~~
|
|
200
200
|
|
|
201
201
|
…and instruct the user to paste the rendered body. The agent can copy the body to the clipboard via `pbcopy` (macOS), `xclip` (Linux), or by simply printing it in the chat for the user to copy.
|
|
@@ -205,7 +205,7 @@ https://github.com/prisma/prisma-next/issues/new/choose
|
|
|
205
205
|
When step 1 picked the Discord channel (steps 2–7 do not apply):
|
|
206
206
|
|
|
207
207
|
1. **Surface the link.** Give the user the canonical invite: <https://pris.ly/discord>. Suggest the channel that fits the question:
|
|
208
|
-
- General usage / Q&A → the public `#help`
|
|
208
|
+
- General usage / Q&A → the public `#help` channel (the invite landing page lists current channels).
|
|
209
209
|
- Extension-author / partner-integration / breaking-change-coordination questions → the public extension-authors channel, or the user can ping a maintainer directly once they're in the server.
|
|
210
210
|
2. **Help draft the opening message.** Prisma's Discord is searchable; a well-framed opening message gets a faster, more useful answer. The agent drafts a short message with:
|
|
211
211
|
- One-sentence summary of what the user is trying to do.
|
|
@@ -231,11 +231,11 @@ When step 1 picked the Discord channel (steps 2–7 do not apply):
|
|
|
231
231
|
|
|
232
232
|
## What Prisma 8 doesn't do yet
|
|
233
233
|
|
|
234
|
-
- **In-product feedback channel.** No `prisma
|
|
234
|
+
- **In-product feedback channel.** No `prisma feedback` CLI command. The GitHub Issues page is the canonical surface. If you want a CLI-side feedback command, file a feature request via this skill.
|
|
235
235
|
|
|
236
236
|
## Reference Files
|
|
237
237
|
|
|
238
|
-
- <https://github.com/prisma/
|
|
238
|
+
- <https://github.com/prisma/orm/issues/new/choose> — the canonical submission surface.
|
|
239
239
|
- <https://cli.github.com/manual/gh_issue_create> — the `gh` command reference.
|
|
240
240
|
|
|
241
241
|
## Checklist
|
|
@@ -520,7 +520,7 @@ Objects whose `@@control` policy excludes them from Prisma 8's managed surface a
|
|
|
520
520
|
|
|
521
521
|
## Telemetry
|
|
522
522
|
|
|
523
|
-
The CLI collects anonymous usage data by default. To opt out, set `
|
|
523
|
+
The CLI collects anonymous usage data by default. To opt out, set `PRISMA_DISABLE_TELEMETRY=1` or `DO_NOT_TRACK=1` in your environment. See [`docs/Telemetry.md`](../../docs/Telemetry.md) for the full opt-out reference.
|
|
524
524
|
|
|
525
525
|
## Checklist
|
|
526
526
|
|
|
@@ -182,7 +182,7 @@ pnpm dlx prisma@latest orm init # interactive
|
|
|
182
182
|
pnpm dlx prisma@latest orm init --yes --target postgres --authoring psl
|
|
183
183
|
```
|
|
184
184
|
|
|
185
|
-
> **Telemetry is opt-out.** The CLI collects anonymous usage data by default. Every command — including `init` — prints a one-time notice to **stderr** on first use, then sends; there is no interactive consent prompt. Opt out anytime by running `prisma telemetry disable`, or with `DO_NOT_TRACK=1` or `
|
|
185
|
+
> **Telemetry is opt-out.** The CLI collects anonymous usage data by default. Every command — including `init` — prints a one-time notice to **stderr** on first use, then sends; there is no interactive consent prompt. Opt out anytime by running `prisma telemetry disable`, or with `DO_NOT_TRACK=1` or `PRISMA_DISABLE_TELEMETRY=1`. The command stores `"enableTelemetry": false` in your user config for you (the CLI's per-user config dir, **not** `prisma.config.ts`). Run `prisma telemetry status` to see what's currently in effect. This is relevant for agent-driven runs — the CLI records that an agent invoked it. What's collected, the per-user config path, and how to fully reset are documented in `docs/Telemetry.md`.
|
|
186
186
|
|
|
187
187
|
The flags `init` accepts (run `prisma orm init --help` for the source of truth):
|
|
188
188
|
|
|
@@ -203,7 +203,7 @@ The flags `init` accepts (run `prisma orm init --help` for the source of truth):
|
|
|
203
203
|
- `prisma.config.ts` at the project root (envelope form — see `references/contract.md`).
|
|
204
204
|
- The contract source at `--schema-path` (`src/prisma/contract.prisma` by default).
|
|
205
205
|
- `db.ts` in the same directory as the contract source.
|
|
206
|
-
- `prisma-
|
|
206
|
+
- `prisma-8.md` — a human quick-reference.
|
|
207
207
|
- `.env.example` (and `.env` if `--write-env`).
|
|
208
208
|
- Updates `package.json` (deps + a `contract:emit` script) and `tsconfig.json` (required compiler options).
|
|
209
209
|
- Installs deps and runs `prisma contract emit` once. If the install or the emit fails, the scaffold is still on disk and init exits `4` (`CLI.INIT_INSTALL_FAILED`) or `5` (`CLI.INIT_EMIT_FAILED`) with the step to re-run.
|
|
@@ -1,8 +1,37 @@
|
|
|
1
1
|
---
|
|
2
2
|
from: "8.0.0-rc.9"
|
|
3
3
|
to: "8.0.0-rc.10"
|
|
4
|
-
# Prisma 8 naming sweep: prose only, no entry required
|
|
5
4
|
changes:
|
|
5
|
+
- id: schema-header-use-prisma-8
|
|
6
|
+
summary: |
|
|
7
|
+
The schema header that marks a Prisma 8 schema is now `// use prisma-8`. The language server
|
|
8
|
+
still serves the old header and its Format action rewrites it; new schemas and the
|
|
9
|
+
inferred-schema printer write the new form. Replace `// use prisma-next`
|
|
10
|
+
at the top of every `.prisma` file.
|
|
11
|
+
detection:
|
|
12
|
+
glob: "**/*.prisma"
|
|
13
|
+
contains:
|
|
14
|
+
- "// use prisma-next"
|
|
15
|
+
- id: env-vars-drop-next-infix
|
|
16
|
+
summary: |
|
|
17
|
+
The CLI environment variables lost their `NEXT_` infix: `PRISMA_NEXT_DISABLE_TELEMETRY`,
|
|
18
|
+
`PRISMA_NEXT_TELEMETRY_ENDPOINT`, `PRISMA_NEXT_DEBUG`, and the rest are now
|
|
19
|
+
`PRISMA_DISABLE_TELEMETRY`, `PRISMA_TELEMETRY_ENDPOINT`, `PRISMA_DEBUG`, and so on. The old
|
|
20
|
+
`PRISMA_NEXT_DISABLE_TELEMETRY` opt-out is still honoured; the others are not. Rename them
|
|
21
|
+
in shell profiles, `.env` files, and CI configuration. The per-user telemetry config also moved
|
|
22
|
+
from `~/.config/prisma-next/` to `~/.config/prisma-8/`, so the consent prompt runs once more.
|
|
23
|
+
detection:
|
|
24
|
+
glob: "**/*"
|
|
25
|
+
contains:
|
|
26
|
+
- "PRISMA_NEXT_"
|
|
27
|
+
- id: primer-file-prisma-8-md
|
|
28
|
+
summary: |
|
|
29
|
+
The quick-reference primer `init` writes at the project root is now `prisma-8.md`. Rename the
|
|
30
|
+
existing `prisma-next.md` and update any README or agent instruction that points at it.
|
|
31
|
+
detection:
|
|
32
|
+
glob: "**/prisma-next.md"
|
|
33
|
+
contains:
|
|
34
|
+
- "#"
|
|
6
35
|
- id: to-one-relations-record-nullable
|
|
7
36
|
summary: |
|
|
8
37
|
Every `1:1` and `N:1` relation in `contract.json` now carries a `nullable` boolean. A
|
|
@@ -28,3 +57,15 @@ For every `contract.json` matched by `detection`, run the project's emit command
|
|
|
28
57
|
## `contract-dts-exports-models`
|
|
29
58
|
|
|
30
59
|
After the emit, `import type { Models, models } from './prisma/contract'` (the project's contract path) gives `Models.<namespace>_<Model>` for every model, and `Scalars<M>` / `Shape<M, { '+': 'relation' }>` from `@prisma/orm-postgres/family-contract/types` (or the Mongo family package) derive the default row and a data structure with relations from it. Replace hand-written row types that duplicate a model's fields with these when convenient.
|
|
60
|
+
|
|
61
|
+
## `schema-header-use-prisma-8`
|
|
62
|
+
|
|
63
|
+
For every `.prisma` file matched by `detection`, replace the first-line header `// use prisma-next` with `// use prisma-8`. Nothing else in the file changes.
|
|
64
|
+
|
|
65
|
+
## `env-vars-drop-next-infix`
|
|
66
|
+
|
|
67
|
+
For every file matched by `detection`, replace the `PRISMA_NEXT_` prefix with `PRISMA_` on each environment variable name. Delete `~/.config/prisma-next/` (or `%APPDATA%\prisma-next\` on Windows); the CLI recreates its config under `prisma-8` and asks for telemetry consent once.
|
|
68
|
+
|
|
69
|
+
## `primer-file-prisma-8-md`
|
|
70
|
+
|
|
71
|
+
Rename `prisma-next.md` at the project root to `prisma-8.md`, and update any link to it in the project README or agent instructions.
|
package/skills/prisma-8/upgrading/extension/upgrades/8.0.0-rc.9-to-8.0.0-rc.10/instructions.md
CHANGED
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
from: "8.0.0-rc.9"
|
|
3
3
|
to: "8.0.0-rc.10"
|
|
4
|
-
# Prisma 8 naming sweep: prose only, no entry required
|
|
5
4
|
# sql-orm-client doc-comment sweep: reviewed, no entry required
|
|
6
5
|
# postgres shell dependency ownership: reviewed, no extension-author action required; bundled packages now declare the catalog Node/pg type dependencies that public shell manifests mirror
|
|
7
6
|
changes:
|
|
7
|
+
- id: schema-header-use-prisma-8
|
|
8
|
+
summary: |
|
|
9
|
+
The schema header that marks a Prisma 8 schema is now `// use prisma-8`. The language server
|
|
10
|
+
still serves the old header and its Format action rewrites it; new schemas and the
|
|
11
|
+
inferred-schema printer write the new form. Replace `// use prisma-next`
|
|
12
|
+
at the top of every `.prisma` file the extension ships or tests against.
|
|
13
|
+
detection:
|
|
14
|
+
glob: "**/*.prisma"
|
|
15
|
+
contains:
|
|
16
|
+
- "// use prisma-next"
|
|
17
|
+
- id: env-vars-drop-next-infix
|
|
18
|
+
summary: |
|
|
19
|
+
The CLI environment variables lost their `NEXT_` infix: `PRISMA_NEXT_DISABLE_TELEMETRY`,
|
|
20
|
+
`PRISMA_NEXT_TELEMETRY_ENDPOINT`, `PRISMA_NEXT_DEBUG`, and the rest are now
|
|
21
|
+
`PRISMA_DISABLE_TELEMETRY`, `PRISMA_TELEMETRY_ENDPOINT`, `PRISMA_DEBUG`, and so on. The old
|
|
22
|
+
`PRISMA_NEXT_DISABLE_TELEMETRY` opt-out is still honoured; the others are not. Rename them
|
|
23
|
+
in the extension's test setup and CI configuration.
|
|
24
|
+
detection:
|
|
25
|
+
glob: "**/*"
|
|
26
|
+
contains:
|
|
27
|
+
- "PRISMA_NEXT_"
|
|
8
28
|
- id: to-one-relations-record-nullable
|
|
9
29
|
summary: |
|
|
10
30
|
`ContractNonJunctionRelation`'s `'1:1'` and `'N:1'` members now require `nullable: boolean`,
|
|
@@ -33,3 +53,11 @@ For every TypeScript file matched by `detection`, find each object literal that
|
|
|
33
53
|
## `contract-space-re-emit-nullable`
|
|
34
54
|
|
|
35
55
|
For every `contract.json` matched by `detection`, run the extension package's `build:contract-space` script (or its emit command) once after upgrading. The expected diff is one `"nullable"` boolean per to-one relation in `contract.json`, plus the `Models` namespace, `models` constant, and `RelationKeys` import in `contract.d.ts`.
|
|
56
|
+
|
|
57
|
+
## `schema-header-use-prisma-8`
|
|
58
|
+
|
|
59
|
+
For every `.prisma` file matched by `detection`, replace the first-line header `// use prisma-next` with `// use prisma-8`. Nothing else in the file changes.
|
|
60
|
+
|
|
61
|
+
## `env-vars-drop-next-infix`
|
|
62
|
+
|
|
63
|
+
For every file matched by `detection`, replace the `PRISMA_NEXT_` prefix with `PRISMA_` on each environment variable name.
|