create-prisma 0.1.3 → 0.2.0-pr.18.15.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 +74 -18
- package/dist/cli.mjs +1 -1
- package/dist/create-C1pjI-gt.mjs +1684 -0
- package/dist/index.d.mts +34 -57
- package/dist/index.mjs +10 -21
- package/package.json +26 -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/{init → create/astro}/prisma/schema.prisma.hbs +5 -2
- package/templates/create/astro/prisma/seed.ts.hbs +38 -0
- package/templates/{init/prisma.config.ts.hbs → create/astro/prisma.config.ts} +1 -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 +14 -11
- package/templates/create/hono/deno.json.hbs +5 -0
- package/templates/create/hono/package.json.hbs +4 -1
- 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 +13 -0
- package/templates/create/hono/src/index.ts.hbs +3 -3
- package/templates/create/hono/src/lib/prisma.ts.hbs +53 -0
- package/templates/create/hono/tsconfig.json +1 -2
- package/templates/create/next/.yarnrc.yml.hbs +3 -0
- package/templates/create/next/README.md.hbs +9 -6
- 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 +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 +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 +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 +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 +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/dist/create-fJECj1B0.mjs +0 -1026
- package/templates/create/next/app/globals.css +0 -47
- package/templates/create/next/app/page.tsx.hbs +0 -40
- package/templates/init/prisma/index.ts.hbs +0 -44
- /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,6 +20,18 @@ Run directly with Bun:
|
|
|
20
20
|
bunx create-prisma@latest
|
|
21
21
|
```
|
|
22
22
|
|
|
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
|
+
|
|
23
35
|
Create a new project (default command):
|
|
24
36
|
|
|
25
37
|
```bash
|
|
@@ -38,79 +50,120 @@ Create a Next.js project non-interactively:
|
|
|
38
50
|
create-prisma --name my-web --template next --provider postgresql
|
|
39
51
|
```
|
|
40
52
|
|
|
41
|
-
|
|
53
|
+
Create a SvelteKit project non-interactively:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
create-prisma --name my-app --template svelte --provider postgresql
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Create an Astro project non-interactively:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
create-prisma --name my-site --template astro --provider postgresql
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Create a Nuxt project non-interactively:
|
|
42
66
|
|
|
43
67
|
```bash
|
|
44
|
-
create-prisma
|
|
68
|
+
create-prisma --name my-nuxt-app --template nuxt --provider postgresql
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Create a TanStack Start project non-interactively:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
create-prisma --name my-start-app --template tanstack-start --provider postgresql
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Create a Turborepo project with a `packages/db` Prisma package:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
create-prisma --name my-monorepo --template turborepo --provider postgresql
|
|
45
81
|
```
|
|
46
82
|
|
|
47
83
|
Set package manager non-interactively:
|
|
48
84
|
|
|
49
85
|
```bash
|
|
50
|
-
create-prisma
|
|
86
|
+
create-prisma --name my-app --template hono --package-manager pnpm --install
|
|
51
87
|
```
|
|
52
88
|
|
|
53
89
|
Skip Prisma Client generation:
|
|
54
90
|
|
|
55
91
|
```bash
|
|
56
|
-
create-prisma
|
|
92
|
+
create-prisma --name my-app --template hono --no-generate
|
|
57
93
|
```
|
|
58
94
|
|
|
59
95
|
Show verbose command output:
|
|
60
96
|
|
|
61
97
|
```bash
|
|
62
|
-
create-prisma
|
|
98
|
+
create-prisma --name my-app --template hono --verbose
|
|
63
99
|
```
|
|
64
100
|
|
|
65
101
|
Run fully non-interactive with defaults:
|
|
66
102
|
|
|
67
103
|
```bash
|
|
68
|
-
create-prisma
|
|
104
|
+
create-prisma --yes
|
|
69
105
|
```
|
|
70
106
|
|
|
71
107
|
Use Prisma Postgres auto-provisioning for PostgreSQL:
|
|
72
108
|
|
|
73
109
|
```bash
|
|
74
|
-
create-prisma
|
|
110
|
+
create-prisma --name my-app --template hono --provider postgresql --prisma-postgres
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Enable add-ons with individual flags:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
create-prisma --name my-app --template next --skills --mcp --extension
|
|
75
117
|
```
|
|
76
118
|
|
|
77
119
|
Or run locally:
|
|
78
120
|
|
|
79
121
|
```bash
|
|
80
122
|
bun install
|
|
123
|
+
bun run lint
|
|
124
|
+
bun run format:check
|
|
81
125
|
bun run build
|
|
82
126
|
bun run start
|
|
83
127
|
```
|
|
84
128
|
|
|
85
|
-
The CLI updates `package.json` with Prisma dependencies, optionally runs dependency installation with your selected package manager, and scaffolds Prisma 7 setup files
|
|
129
|
+
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:
|
|
130
|
+
|
|
86
131
|
- `prisma/schema.prisma`
|
|
87
|
-
- `prisma/
|
|
132
|
+
- `prisma/seed.ts`
|
|
133
|
+
- `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
134
|
- `prisma.config.ts`
|
|
135
|
+
- `src/generated/prisma` or `server/generated/prisma` (Nuxt) or `packages/db/src/generated/prisma` (Turborepo)
|
|
89
136
|
- `.env` (creates or updates `DATABASE_URL`, and writes `CLAIM_URL` when Prisma Postgres is provisioned)
|
|
90
137
|
- runs `prisma generate` automatically after scaffolding
|
|
91
138
|
|
|
92
139
|
`create` is the default command and currently supports:
|
|
93
|
-
|
|
140
|
+
|
|
141
|
+
- templates: `hono`, `next`, `svelte`, `astro`, `nuxt`, `tanstack-start`, `turborepo`
|
|
94
142
|
- project name via `--name`
|
|
95
143
|
- schema presets via `--schema-preset empty|basic` (default: `basic`)
|
|
96
144
|
|
|
97
|
-
`
|
|
98
|
-
Both commands prompt for database choice, package manager, and whether to install dependencies now.
|
|
145
|
+
`create` prompts for database choice, package manager, and whether to install dependencies now.
|
|
99
146
|
Supported providers in this flow: `postgresql`, `mysql`, `sqlite`, `sqlserver`, `cockroachdb`.
|
|
100
|
-
Supported package managers: `bun`, `pnpm`, `
|
|
147
|
+
Supported package managers: `bun`, `deno`, `npm`, `pnpm`, `yarn`.
|
|
101
148
|
Package manager prompt auto-detects from `package.json`/lockfiles/user agent and uses that as the initial selection.
|
|
102
149
|
`--yes` accepts defaults (`postgresql`, detected package manager, Prisma Postgres enabled for PostgreSQL, install enabled) and skips prompts.
|
|
103
150
|
`--no-generate` skips automatic `prisma generate`.
|
|
104
151
|
`--verbose` prints full install/generate command output; default mode keeps output concise.
|
|
105
152
|
`--force` (create only) allows scaffolding in a non-empty target directory.
|
|
106
|
-
|
|
107
|
-
When `
|
|
153
|
+
Add-ons can be selected interactively or through flags: `--skills`, `--mcp`, `--extension`.
|
|
154
|
+
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.
|
|
155
|
+
When `postgresql` is selected, `create` can provision Prisma Postgres via `create-db --json` and auto-fill `DATABASE_URL`.
|
|
156
|
+
Generated projects also include `db:seed` and configure Prisma's `migrations.seed` hook to run `tsx prisma/seed.ts`.
|
|
108
157
|
|
|
109
158
|
## Scripts
|
|
110
159
|
|
|
111
160
|
- `bun run build` - Build to `dist/`
|
|
112
161
|
- `bun run dev` - Watch mode build
|
|
113
162
|
- `bun run start` - Run built CLI
|
|
163
|
+
- `bun run lint` - Run `oxlint` with warnings treated as failures
|
|
164
|
+
- `bun run lint:fix` - Apply safe `oxlint` fixes
|
|
165
|
+
- `bun run format` - Format the repo with `oxfmt`
|
|
166
|
+
- `bun run format:check` - Check formatting with `oxfmt`
|
|
114
167
|
- `bun run typecheck` - TypeScript checks only
|
|
115
168
|
- `bun run bump` - Create a release PR (interactive semver bump)
|
|
116
169
|
- `bun run bump -- patch|minor|major|x.y.z` - Non-interactive bump
|
|
@@ -124,5 +177,8 @@ This repo uses a manual, script-driven release flow:
|
|
|
124
177
|
1. Run `bun run bump` (or pass `patch|minor|major|x.y.z`).
|
|
125
178
|
2. The script creates a `release/vX.Y.Z` branch and a PR with commit `chore(release): X.Y.Z`.
|
|
126
179
|
3. Merge that PR to `main` with squash (keep commit title `chore(release): X.Y.Z`).
|
|
127
|
-
4. GitHub Actions
|
|
128
|
-
5. GitHub Actions
|
|
180
|
+
4. GitHub Actions runs `bun run lint`, `bun run format:check`, `bun run typecheck`, and `bun run build` before publishing.
|
|
181
|
+
5. GitHub Actions creates the `vX.Y.Z` tag and GitHub Release notes via `changelogithub`.
|
|
182
|
+
6. GitHub Actions publishes only for `chore(release):` commits, using npm trusted publishing (OIDC, no npm token secret).
|
|
183
|
+
|
|
184
|
+
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