create-prisma 0.1.4 → 0.2.0-pr.17.22.1
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/README.md +99 -23
- package/dist/cli.mjs +1 -1
- package/dist/create-CyMasmHY.mjs +1934 -0
- package/dist/index.d.mts +34 -57
- package/dist/index.mjs +14 -22
- package/package.json +27 -20
- package/templates/create/astro/.yarnrc.yml.hbs +3 -0
- package/templates/create/astro/README.md.hbs +35 -0
- package/templates/create/astro/astro.config.mjs +5 -0
- package/templates/create/astro/deno.json.hbs +5 -0
- package/templates/create/astro/package.json.hbs +22 -0
- package/templates/create/astro/prisma/schema.prisma.hbs +21 -0
- package/templates/create/astro/prisma/seed.ts.hbs +38 -0
- package/templates/create/astro/prisma.config.ts.hbs +13 -0
- package/templates/create/astro/public/favicon.svg +14 -0
- package/templates/create/astro/src/env.d.ts +9 -0
- package/templates/create/astro/src/lib/prisma.ts.hbs +53 -0
- package/templates/create/astro/src/pages/api/users.ts.hbs +42 -0
- package/templates/create/astro/src/pages/index.astro.hbs +236 -0
- package/templates/create/astro/tsconfig.json +5 -0
- package/templates/create/hono/.yarnrc.yml.hbs +3 -0
- package/templates/create/hono/README.md.hbs +13 -48
- package/templates/create/hono/deno.json.hbs +5 -0
- package/templates/create/hono/package.json.hbs +3 -0
- package/templates/create/hono/prisma/schema.prisma.hbs +21 -0
- package/templates/create/hono/prisma/seed.ts.hbs +38 -0
- package/templates/create/hono/prisma.config.ts.hbs +13 -0
- package/templates/create/hono/src/index.ts.hbs +1 -1
- package/templates/{init/prisma/index.ts.hbs → create/hono/src/lib/prisma.ts.hbs} +14 -13
- package/templates/create/hono/tsconfig.json +1 -2
- package/templates/create/next/.yarnrc.yml.hbs +3 -0
- package/templates/create/next/README.md.hbs +8 -23
- package/templates/create/next/deno.json.hbs +12 -0
- package/templates/create/next/eslint.config.mjs +1 -6
- package/templates/create/next/package.json.hbs +4 -0
- package/templates/create/next/prisma/schema.prisma.hbs +21 -0
- package/templates/create/next/prisma/seed.ts.hbs +38 -0
- package/templates/create/next/prisma.config.ts.hbs +13 -0
- package/templates/create/next/src/app/globals.css +130 -0
- package/templates/create/next/src/app/page.tsx.hbs +104 -0
- package/templates/create/next/src/lib/prisma.ts.hbs +53 -0
- package/templates/create/nuxt/.yarnrc.yml.hbs +3 -0
- package/templates/create/nuxt/README.md.hbs +32 -0
- package/templates/create/nuxt/app/app.vue +4 -0
- package/templates/create/nuxt/app/pages/index.vue.hbs +230 -0
- package/templates/create/nuxt/deno.json.hbs +5 -0
- package/templates/create/nuxt/nuxt.config.ts +5 -0
- package/templates/create/nuxt/package.json.hbs +27 -0
- package/templates/create/nuxt/prisma/schema.prisma.hbs +21 -0
- package/templates/create/nuxt/prisma/seed.ts.hbs +38 -0
- package/templates/create/nuxt/prisma.config.ts.hbs +13 -0
- package/templates/create/nuxt/public/robots.txt +2 -0
- package/templates/create/nuxt/server/api/users.get.ts.hbs +36 -0
- package/templates/create/nuxt/server/utils/prisma.ts.hbs +53 -0
- package/templates/create/nuxt/tsconfig.json +17 -0
- package/templates/create/svelte/.vscode/extensions.json +3 -0
- package/templates/create/svelte/.yarnrc.yml.hbs +3 -0
- package/templates/create/svelte/README.md.hbs +34 -0
- package/templates/create/svelte/deno.json.hbs +5 -0
- package/templates/create/svelte/package.json.hbs +28 -0
- package/templates/create/svelte/prisma/schema.prisma.hbs +21 -0
- package/templates/create/svelte/prisma/seed.ts.hbs +87 -0
- package/templates/create/svelte/prisma.config.ts.hbs +13 -0
- package/templates/create/svelte/src/app.d.ts +13 -0
- package/templates/create/svelte/src/app.html +11 -0
- package/templates/create/svelte/src/lib/assets/favicon.svg +1 -0
- package/templates/create/svelte/src/lib/index.ts +1 -0
- package/templates/create/svelte/src/lib/server/prisma.ts.hbs +53 -0
- package/templates/create/svelte/src/routes/+layout.svelte +11 -0
- package/templates/create/svelte/src/routes/+page.server.ts.hbs +28 -0
- package/templates/create/svelte/src/routes/+page.svelte.hbs +350 -0
- package/templates/create/svelte/static/robots.txt +3 -0
- package/templates/create/svelte/svelte.config.js +13 -0
- package/templates/create/svelte/tsconfig.json +20 -0
- package/templates/create/svelte/vite.config.ts +6 -0
- package/templates/create/tanstack-start/.yarnrc.yml.hbs +4 -0
- package/templates/create/tanstack-start/README.md.hbs +31 -0
- package/templates/create/tanstack-start/deno.json.hbs +13 -0
- package/templates/create/tanstack-start/package.json.hbs +33 -0
- package/templates/create/tanstack-start/prisma/schema.prisma.hbs +22 -0
- package/templates/create/tanstack-start/prisma/seed.ts.hbs +37 -0
- package/templates/create/tanstack-start/prisma.config.ts.hbs +13 -0
- package/templates/create/tanstack-start/src/lib/prisma.server.ts.hbs +53 -0
- package/templates/create/tanstack-start/src/routeTree.gen.ts +74 -0
- package/templates/create/tanstack-start/src/router.tsx +18 -0
- package/templates/create/tanstack-start/src/routes/__root.tsx.hbs +71 -0
- package/templates/create/tanstack-start/src/routes/index.tsx.hbs +145 -0
- package/templates/create/tanstack-start/src/styles.css +187 -0
- package/templates/create/tanstack-start/tsconfig.json +22 -0
- package/templates/create/tanstack-start/vite.config.ts +8 -0
- package/templates/create/turborepo/.yarnrc.yml.hbs +3 -0
- package/templates/create/turborepo/README.md.hbs +29 -0
- package/templates/create/turborepo/apps/api/package.json.hbs +21 -0
- package/templates/create/turborepo/apps/api/src/index.ts.hbs +45 -0
- package/templates/create/turborepo/apps/api/tsconfig.json +15 -0
- package/templates/create/turborepo/deno.json.hbs +5 -0
- package/templates/create/turborepo/package.json.hbs +24 -0
- package/templates/create/turborepo/packages/db/package.json.hbs +17 -0
- package/templates/create/turborepo/packages/db/prisma/schema.prisma.hbs +21 -0
- package/templates/create/turborepo/packages/db/prisma/seed.ts.hbs +38 -0
- package/templates/create/turborepo/packages/db/prisma.config.ts.hbs +13 -0
- package/templates/create/turborepo/packages/db/src/client.ts.hbs +58 -0
- package/templates/create/turborepo/packages/db/src/index.ts +2 -0
- package/templates/create/turborepo/packages/db/tsconfig.json +15 -0
- package/templates/create/turborepo/turbo.json +28 -0
- package/templates/init/prisma/schema.prisma.hbs +4 -1
- package/templates/init/prisma/seed.ts.hbs +38 -0
- package/templates/init/prisma-instance.ts.hbs +53 -0
- package/templates/init/prisma.config.ts.hbs +1 -0
- package/dist/create-Dz9GFGFQ.mjs +0 -1090
- package/templates/create/next/app/globals.css +0 -47
- package/templates/create/next/app/page.tsx.hbs +0 -46
- /package/templates/create/next/{app → src/app}/layout.tsx.hbs +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# create-prisma
|
|
2
2
|
|
|
3
|
-
A modern Prisma 7 CLI with first-party project templates and
|
|
3
|
+
A modern Prisma 7 CLI with first-party project templates and a smooth create flow.
|
|
4
4
|
|
|
5
5
|
## Stack
|
|
6
6
|
|
|
@@ -20,97 +20,170 @@ Run directly with Bun:
|
|
|
20
20
|
bunx create-prisma@latest
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Run directly with Yarn:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
yarn dlx create-prisma@latest
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Run directly with Deno:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
deno run -A npm:create-prisma@latest
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Create a new project in an empty directory:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
create-prisma
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Initialize Prisma in the current project:
|
|
24
42
|
|
|
25
43
|
```bash
|
|
26
44
|
create-prisma
|
|
27
45
|
```
|
|
28
46
|
|
|
47
|
+
Create a new project explicitly:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
create-prisma create
|
|
51
|
+
```
|
|
52
|
+
|
|
29
53
|
Create a Hono project non-interactively:
|
|
30
54
|
|
|
31
55
|
```bash
|
|
32
|
-
create-prisma --name my-api --template hono --provider postgresql
|
|
56
|
+
create-prisma create --name my-api --template hono --provider postgresql
|
|
33
57
|
```
|
|
34
58
|
|
|
35
59
|
Create a Next.js project non-interactively:
|
|
36
60
|
|
|
37
61
|
```bash
|
|
38
|
-
create-prisma --name my-web --template next --provider postgresql
|
|
62
|
+
create-prisma create --name my-web --template next --provider postgresql
|
|
39
63
|
```
|
|
40
64
|
|
|
41
|
-
|
|
65
|
+
Create a SvelteKit project non-interactively:
|
|
42
66
|
|
|
43
67
|
```bash
|
|
44
|
-
create-prisma
|
|
68
|
+
create-prisma create --name my-app --template svelte --provider postgresql
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Create an Astro project non-interactively:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
create-prisma create --name my-site --template astro --provider postgresql
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Create a Nuxt project non-interactively:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
create-prisma create --name my-nuxt-app --template nuxt --provider postgresql
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Create a TanStack Start project non-interactively:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
create-prisma create --name my-start-app --template tanstack-start --provider postgresql
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Create a Turborepo project with a `packages/db` Prisma package:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
create-prisma create --name my-monorepo --template turborepo --provider postgresql
|
|
45
93
|
```
|
|
46
94
|
|
|
47
95
|
Set package manager non-interactively:
|
|
48
96
|
|
|
49
97
|
```bash
|
|
50
|
-
create-prisma
|
|
98
|
+
create-prisma create --name my-app --template hono --package-manager pnpm --install
|
|
51
99
|
```
|
|
52
100
|
|
|
53
101
|
Skip Prisma Client generation:
|
|
54
102
|
|
|
55
103
|
```bash
|
|
56
|
-
create-prisma
|
|
104
|
+
create-prisma create --name my-app --template hono --no-generate
|
|
57
105
|
```
|
|
58
106
|
|
|
59
107
|
Show verbose command output:
|
|
60
108
|
|
|
61
109
|
```bash
|
|
62
|
-
create-prisma
|
|
110
|
+
create-prisma create --name my-app --template hono --verbose
|
|
63
111
|
```
|
|
64
112
|
|
|
65
|
-
|
|
113
|
+
Scaffold a new project non-interactively with defaults:
|
|
66
114
|
|
|
67
115
|
```bash
|
|
68
|
-
create-prisma
|
|
116
|
+
create-prisma create --yes
|
|
69
117
|
```
|
|
70
118
|
|
|
71
119
|
Use Prisma Postgres auto-provisioning for PostgreSQL:
|
|
72
120
|
|
|
73
121
|
```bash
|
|
74
|
-
create-prisma
|
|
122
|
+
create-prisma create --name my-app --template hono --provider postgresql --prisma-postgres
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Enable add-ons with individual flags:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
create-prisma create --name my-app --template next --skills --mcp --extension
|
|
75
129
|
```
|
|
76
130
|
|
|
77
131
|
Or run locally:
|
|
78
132
|
|
|
79
133
|
```bash
|
|
80
134
|
bun install
|
|
135
|
+
bun run check
|
|
81
136
|
bun run build
|
|
82
137
|
bun run start
|
|
83
138
|
```
|
|
84
139
|
|
|
85
|
-
The CLI updates `package.json` with Prisma dependencies, optionally runs dependency installation with your selected package manager, and scaffolds Prisma 7 setup files
|
|
140
|
+
The CLI updates `package.json` with Prisma dependencies, optionally runs dependency installation with your selected package manager, and scaffolds Prisma 7 setup files directly inside each app template:
|
|
141
|
+
|
|
86
142
|
- `prisma/schema.prisma`
|
|
87
|
-
- `prisma/
|
|
143
|
+
- `prisma/seed.ts`
|
|
144
|
+
- `src/lib/prisma.ts`, `src/lib/prisma.server.ts`, `src/lib/server/prisma.ts`, `server/utils/prisma.ts`, or `packages/db/src/client.ts`
|
|
88
145
|
- `prisma.config.ts`
|
|
146
|
+
- `src/generated/prisma` or `server/generated/prisma` (Nuxt) or `packages/db/src/generated/prisma` (Turborepo)
|
|
89
147
|
- `.env` (creates or updates `DATABASE_URL`, and writes `CLAIM_URL` when Prisma Postgres is provisioned)
|
|
90
148
|
- runs `prisma generate` automatically after scaffolding
|
|
91
149
|
|
|
150
|
+
The create flow is smart:
|
|
151
|
+
|
|
152
|
+
- if the current directory contains a `package.json` and you do not pass `--name`, `--template`, `--force`, `--skills`, `--mcp`, or `--extension`, it initializes Prisma in the current project
|
|
153
|
+
- otherwise it scaffolds a new project
|
|
154
|
+
- passing `create` explicitly, or passing `--name` or `--template`, forces the project scaffolding flow
|
|
155
|
+
|
|
92
156
|
`create` is the default command and currently supports:
|
|
93
|
-
|
|
157
|
+
|
|
158
|
+
- templates: `hono`, `next`, `svelte`, `astro`, `nuxt`, `tanstack-start`, `turborepo`
|
|
94
159
|
- project name via `--name`
|
|
95
160
|
- schema presets via `--schema-preset empty|basic` (default: `basic`)
|
|
96
161
|
|
|
97
|
-
|
|
98
|
-
|
|
162
|
+
When initializing an existing project, it adds the standard Prisma setup from the dedicated init template, auto-detects the existing package manager, and asks where to place the Prisma instance file, defaulting to `src/lib/prisma.ts`.
|
|
163
|
+
|
|
164
|
+
`create` prompts for database choice, package manager, and whether to install dependencies now.
|
|
99
165
|
Supported providers in this flow: `postgresql`, `mysql`, `sqlite`, `sqlserver`, `cockroachdb`.
|
|
100
|
-
Supported package managers: `bun`, `pnpm`, `
|
|
166
|
+
Supported package managers: `bun`, `deno`, `npm`, `pnpm`, `yarn`.
|
|
101
167
|
Package manager prompt auto-detects from `package.json`/lockfiles/user agent and uses that as the initial selection.
|
|
102
168
|
`--yes` accepts defaults (`postgresql`, detected package manager, Prisma Postgres enabled for PostgreSQL, install enabled) and skips prompts.
|
|
103
169
|
`--no-generate` skips automatic `prisma generate`.
|
|
104
170
|
`--verbose` prints full install/generate command output; default mode keeps output concise.
|
|
105
|
-
`--force`
|
|
106
|
-
|
|
107
|
-
When `
|
|
171
|
+
`--force` allows scaffolding in a non-empty target directory when creating a new project.
|
|
172
|
+
Add-ons can be selected interactively or through flags: `--skills`, `--mcp`, `--extension`.
|
|
173
|
+
When add-ons are enabled, `create` prompts for the relevant agent and IDE selections, then installs curated Prisma skills (`skills@latest`), configures Prisma MCP (`add-mcp@latest`), and installs the Prisma IDE extension for supported IDE CLIs.
|
|
174
|
+
When `postgresql` is selected, `create` can provision Prisma Postgres via `create-db --json` and auto-fill `DATABASE_URL`.
|
|
175
|
+
Generated projects also include `db:seed` and configure Prisma's `migrations.seed` hook to run the package-manager-appropriate Prisma seed command.
|
|
108
176
|
|
|
109
177
|
## Scripts
|
|
110
178
|
|
|
111
179
|
- `bun run build` - Build to `dist/`
|
|
180
|
+
- `bun run check` - Run formatting and lint checks
|
|
112
181
|
- `bun run dev` - Watch mode build
|
|
113
182
|
- `bun run start` - Run built CLI
|
|
183
|
+
- `bun run lint` - Run `oxlint` with warnings treated as failures
|
|
184
|
+
- `bun run lint:fix` - Apply safe `oxlint` fixes
|
|
185
|
+
- `bun run format` - Format the repo with `oxfmt`
|
|
186
|
+
- `bun run format:check` - Check formatting with `oxfmt`
|
|
114
187
|
- `bun run typecheck` - TypeScript checks only
|
|
115
188
|
- `bun run bump` - Create a release PR (interactive semver bump)
|
|
116
189
|
- `bun run bump -- patch|minor|major|x.y.z` - Non-interactive bump
|
|
@@ -124,5 +197,8 @@ This repo uses a manual, script-driven release flow:
|
|
|
124
197
|
1. Run `bun run bump` (or pass `patch|minor|major|x.y.z`).
|
|
125
198
|
2. The script creates a `release/vX.Y.Z` branch and a PR with commit `chore(release): X.Y.Z`.
|
|
126
199
|
3. Merge that PR to `main` with squash (keep commit title `chore(release): X.Y.Z`).
|
|
127
|
-
4. GitHub Actions
|
|
128
|
-
5. GitHub Actions
|
|
200
|
+
4. GitHub Actions runs `bun run check`, `bun run typecheck`, and `bun run build` before publishing.
|
|
201
|
+
5. GitHub Actions creates the `vX.Y.Z` tag and GitHub Release notes via `changelogithub`.
|
|
202
|
+
6. GitHub Actions publishes only for `chore(release):` commits, using npm trusted publishing (OIDC, no npm token secret).
|
|
203
|
+
|
|
204
|
+
Every PR from a branch in this repository also publishes a preview package to npm using the dist-tag `pr<PR_NUMBER>`, so PR 3 is installable as `create-prisma@pr3`.
|
package/dist/cli.mjs
CHANGED