create-prisma 0.7.2 → 0.8.0-pr.56.216.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.
Files changed (131) hide show
  1. package/README.md +35 -159
  2. package/dist/cli.mjs +9 -3
  3. package/dist/create-BeMLn0T7.mjs +1409 -0
  4. package/dist/index.d.mts +43 -62
  5. package/dist/index.mjs +35 -2
  6. package/package.json +24 -19
  7. package/templates/create/_shared/.gitattributes.hbs +11 -0
  8. package/templates/create/_shared/README.md.hbs +39 -0
  9. package/templates/create/_shared/module.ts.hbs +28 -0
  10. package/templates/create/_shared/pnpm-workspace.yaml.hbs +16 -0
  11. package/templates/create/_shared/prisma-composer.config.ts.hbs +11 -0
  12. package/templates/create/_shared/prisma.config.ts.hbs +17 -0
  13. package/templates/create/_shared/service.ts.hbs +42 -0
  14. package/templates/create/_shared/src/prisma/composer.ts.hbs +8 -0
  15. package/templates/create/_shared/src/prisma/db.ts.hbs +51 -0
  16. package/templates/create/_shared/src/prisma/seed.ts.hbs +36 -0
  17. package/templates/create/_shared/src/prisma/users.ts.hbs +35 -0
  18. package/templates/create/astro/{astro.config.mjs.hbs → astro.config.mjs} +1 -2
  19. package/templates/create/astro/package.json.hbs +5 -5
  20. package/templates/create/astro/src/pages/api/users.ts.hbs +6 -23
  21. package/templates/create/astro/src/pages/index.astro.hbs +19 -56
  22. package/templates/create/astro/tsconfig.json +3 -0
  23. package/templates/create/elysia/package.json.hbs +6 -7
  24. package/templates/create/elysia/src/index.ts.hbs +18 -27
  25. package/templates/create/elysia/tsconfig.json +3 -1
  26. package/templates/create/hono/package.json.hbs +6 -7
  27. package/templates/create/hono/src/index.ts.hbs +11 -15
  28. package/templates/create/hono/tsconfig.json +3 -1
  29. package/templates/create/minimal/.yarnrc.yml.hbs +3 -0
  30. package/templates/create/minimal/package.json.hbs +15 -0
  31. package/templates/create/minimal/src/index.ts.hbs +19 -0
  32. package/templates/create/{turborepo/apps/api → minimal}/tsconfig.json +2 -2
  33. package/templates/create/nest/package.json.hbs +7 -7
  34. package/templates/create/nest/src/app.module.ts.hbs +9 -10
  35. package/templates/create/nest/src/main.ts.hbs +3 -10
  36. package/templates/create/nest/src/prisma.service.ts.hbs +6 -5
  37. package/templates/create/nest/src/users.controller.ts.hbs +3 -5
  38. package/templates/create/nest/src/users.service.ts.hbs +4 -11
  39. package/templates/create/nest/tsconfig.json +3 -2
  40. package/templates/create/next/eslint.config.mjs +8 -1
  41. package/templates/create/next/package.json.hbs +10 -10
  42. package/templates/create/next/src/app/page.tsx.hbs +17 -56
  43. package/templates/create/next/tsconfig.json +1 -0
  44. package/templates/create/nuxt/app/pages/index.vue.hbs +12 -45
  45. package/templates/create/nuxt/package.json.hbs +8 -7
  46. package/templates/create/nuxt/server/api/users.get.ts.hbs +3 -15
  47. package/templates/create/nuxt/tsconfig.json +3 -0
  48. package/templates/create/svelte/package.json.hbs +9 -11
  49. package/templates/create/svelte/src/routes/+page.server.ts.hbs +4 -16
  50. package/templates/create/svelte/src/routes/+page.svelte.hbs +14 -164
  51. package/templates/create/svelte/svelte.config.js +1 -4
  52. package/templates/create/svelte/tsconfig.json +2 -1
  53. package/templates/create/svelte/vite.config.ts +3 -0
  54. package/templates/create/tanstack-start/package.json.hbs +14 -14
  55. package/templates/create/tanstack-start/src/routes/__root.tsx.hbs +2 -3
  56. package/templates/create/tanstack-start/src/routes/index.tsx.hbs +27 -78
  57. package/templates/create/tanstack-start/tsconfig.json +4 -2
  58. package/templates/create/tanstack-start/vite.config.ts +2 -4
  59. package/dist/src-B3hRLZ0U.mjs +0 -2527
  60. package/templates/create/astro/README.md.hbs +0 -47
  61. package/templates/create/astro/deno.json.hbs +0 -5
  62. package/templates/create/astro/prisma/schema.prisma.hbs +0 -21
  63. package/templates/create/astro/prisma/seed.ts.hbs +0 -38
  64. package/templates/create/astro/prisma.compute.ts.hbs +0 -10
  65. package/templates/create/astro/prisma.config.ts.hbs +0 -15
  66. package/templates/create/astro/src/lib/prisma.ts.hbs +0 -55
  67. package/templates/create/elysia/README.md.hbs +0 -43
  68. package/templates/create/elysia/deno.json.hbs +0 -5
  69. package/templates/create/elysia/prisma/schema.prisma.hbs +0 -25
  70. package/templates/create/elysia/prisma/seed.ts.hbs +0 -38
  71. package/templates/create/elysia/prisma.compute.ts.hbs +0 -11
  72. package/templates/create/elysia/prisma.config.ts.hbs +0 -15
  73. package/templates/create/elysia/src/lib/prisma.ts.hbs +0 -56
  74. package/templates/create/hono/README.md.hbs +0 -43
  75. package/templates/create/hono/deno.json.hbs +0 -5
  76. package/templates/create/hono/prisma/schema.prisma.hbs +0 -25
  77. package/templates/create/hono/prisma/seed.ts.hbs +0 -38
  78. package/templates/create/hono/prisma.compute.ts.hbs +0 -10
  79. package/templates/create/hono/prisma.config.ts.hbs +0 -15
  80. package/templates/create/hono/src/lib/prisma.ts.hbs +0 -56
  81. package/templates/create/nest/README.md.hbs +0 -43
  82. package/templates/create/nest/deno.json.hbs +0 -5
  83. package/templates/create/nest/prisma/schema.prisma.hbs +0 -25
  84. package/templates/create/nest/prisma/seed.ts.hbs +0 -40
  85. package/templates/create/nest/prisma.compute.ts.hbs +0 -10
  86. package/templates/create/nest/prisma.config.ts.hbs +0 -15
  87. package/templates/create/nest/src/lib/prisma.ts.hbs +0 -58
  88. package/templates/create/next/README.md.hbs +0 -42
  89. package/templates/create/next/deno.json.hbs +0 -12
  90. package/templates/create/next/prisma/schema.prisma.hbs +0 -21
  91. package/templates/create/next/prisma/seed.ts.hbs +0 -38
  92. package/templates/create/next/prisma.compute.ts.hbs +0 -9
  93. package/templates/create/next/prisma.config.ts.hbs +0 -15
  94. package/templates/create/next/src/lib/prisma.ts.hbs +0 -56
  95. package/templates/create/nuxt/README.md.hbs +0 -44
  96. package/templates/create/nuxt/deno.json.hbs +0 -5
  97. package/templates/create/nuxt/prisma/schema.prisma.hbs +0 -21
  98. package/templates/create/nuxt/prisma/seed.ts.hbs +0 -38
  99. package/templates/create/nuxt/prisma.compute.ts.hbs +0 -9
  100. package/templates/create/nuxt/prisma.config.ts.hbs +0 -15
  101. package/templates/create/nuxt/server/utils/prisma.ts.hbs +0 -56
  102. package/templates/create/svelte/README.md.hbs +0 -45
  103. package/templates/create/svelte/deno.json.hbs +0 -5
  104. package/templates/create/svelte/prisma/schema.prisma.hbs +0 -21
  105. package/templates/create/svelte/prisma/seed.ts.hbs +0 -38
  106. package/templates/create/svelte/prisma.config.ts.hbs +0 -15
  107. package/templates/create/svelte/src/lib/server/prisma.ts.hbs +0 -53
  108. package/templates/create/tanstack-start/README.md.hbs +0 -43
  109. package/templates/create/tanstack-start/deno.json.hbs +0 -13
  110. package/templates/create/tanstack-start/prisma/schema.prisma.hbs +0 -21
  111. package/templates/create/tanstack-start/prisma/seed.ts.hbs +0 -38
  112. package/templates/create/tanstack-start/prisma.compute.ts.hbs +0 -9
  113. package/templates/create/tanstack-start/prisma.config.ts.hbs +0 -15
  114. package/templates/create/tanstack-start/src/lib/prisma.server.ts.hbs +0 -56
  115. package/templates/create/turborepo/README.md.hbs +0 -42
  116. package/templates/create/turborepo/apps/api/package.json.hbs +0 -26
  117. package/templates/create/turborepo/apps/api/src/index.ts.hbs +0 -55
  118. package/templates/create/turborepo/deno.json.hbs +0 -5
  119. package/templates/create/turborepo/package.json.hbs +0 -30
  120. package/templates/create/turborepo/packages/db/package.json.hbs +0 -22
  121. package/templates/create/turborepo/packages/db/prisma/schema.prisma.hbs +0 -21
  122. package/templates/create/turborepo/packages/db/prisma/seed.ts.hbs +0 -38
  123. package/templates/create/turborepo/packages/db/prisma.config.ts.hbs +0 -15
  124. package/templates/create/turborepo/packages/db/src/client.ts.hbs +0 -63
  125. package/templates/create/turborepo/packages/db/src/index.ts +0 -2
  126. package/templates/create/turborepo/packages/db/tsconfig.json +0 -15
  127. package/templates/create/turborepo/pnpm-workspace.yaml +0 -3
  128. package/templates/create/turborepo/prisma.compute.ts.hbs +0 -14
  129. package/templates/create/turborepo/turbo.json +0 -28
  130. /package/templates/create/{turborepo → elysia}/.yarnrc.yml.hbs +0 -0
  131. /package/templates/create/next/{next.config.ts.hbs → next.config.ts} +0 -0
@@ -1,47 +0,0 @@
1
- # {{projectName}}
2
-
3
- Generated by `create-prisma` with the Astro template.
4
-
5
- ## Scripts
6
-
7
- - `{{runScriptCommand packageManager "dev"}}` - start the Astro dev server
8
- - `{{runScriptCommand packageManager "build"}}` - build for production
9
- - `{{runScriptCommand packageManager "preview"}}` - preview the production build
10
- - `{{runScriptCommand packageManager "astro"}}` - run Astro CLI commands
11
- {{#if compute}}
12
- - `{{runScriptCommand packageManager "compute:deploy"}}` - redeploy to Prisma Compute with environment variables from `.env`
13
- {{/if}}
14
-
15
- ## Prisma
16
-
17
- Prisma setup is scaffolded automatically in:
18
-
19
- - `prisma/schema.prisma`
20
- - `prisma/seed.ts`
21
- - `src/lib/prisma.ts`
22
- - `src/pages/api/users.ts`
23
- - `prisma.config.ts`
24
- - `prisma.compute.ts`
25
- - `src/generated/prisma`
26
-
27
- Database helper scripts are added to `package.json`:
28
-
29
- - `db:generate`
30
- - `db:push`
31
- - `db:migrate`
32
- - `db:seed`
33
- {{#if (eq schemaPreset "basic")}}
34
-
35
- The starter page queries a basic `User` model in `src/pages/index.astro`, and `src/pages/api/users.ts` shows an Astro API route backed by the same Prisma client.
36
- {{else}}
37
-
38
- The starter page keeps the official Astro minimal structure and points you to `prisma/schema.prisma` for your first model.
39
- {{/if}}
40
- {{#if compute}}
41
-
42
- ## Prisma Compute
43
-
44
- This project includes a Prisma Compute deploy script and deploy defaults in `prisma.compute.ts`. Deploys load environment variables from `.env`; if setup created a Prisma Postgres database, its `DATABASE_URL` is already written there.
45
-
46
- After local changes, run `{{runScriptCommand packageManager "compute:deploy"}}` to redeploy.
47
- {{/if}}
@@ -1,5 +0,0 @@
1
- {{#if (eq packageManager "deno")}}
2
- {
3
- "nodeModulesDir": "auto"
4
- }
5
- {{/if}}
@@ -1,21 +0,0 @@
1
- generator client {
2
- provider = "prisma-client"
3
- output = "../src/generated/prisma"
4
- {{#if (eq packageManager "deno")}}
5
- runtime = "deno"
6
- {{/if}}
7
- }
8
-
9
- datasource db {
10
- provider = "{{provider}}"
11
- }
12
- {{#if (eq schemaPreset "basic")}}
13
-
14
- model User {
15
- id String @id @default(cuid())
16
- email String @unique
17
- name String?
18
- createdAt DateTime @default(now())
19
- updatedAt DateTime @updatedAt
20
- }
21
- {{/if}}
@@ -1,38 +0,0 @@
1
- import prisma from "../src/lib/prisma{{#if (eq packageManager "deno")}}.ts{{/if}}";
2
-
3
- async function main() {
4
- {{#if (eq schemaPreset "basic")}}
5
- const users = await Promise.all([
6
- prisma.user.upsert({
7
- where: { email: "alice@prisma.io" },
8
- update: { name: "Alice" },
9
- create: {
10
- email: "alice@prisma.io",
11
- name: "Alice",
12
- },
13
- }),
14
- prisma.user.upsert({
15
- where: { email: "bob@prisma.io" },
16
- update: { name: "Bob" },
17
- create: {
18
- email: "bob@prisma.io",
19
- name: "Bob",
20
- },
21
- }),
22
- ]);
23
-
24
- console.log(`Seeded ${users.length} users.`);
25
- {{else}}
26
- console.log("No seed data defined for the empty schema preset.");
27
- {{/if}}
28
- }
29
-
30
- main()
31
- .then(async () => {
32
- await prisma.$disconnect();
33
- })
34
- .catch(async (error) => {
35
- console.error(error);
36
- await prisma.$disconnect();
37
- process.exit(1);
38
- });
@@ -1,10 +0,0 @@
1
- import { defineComputeConfig } from "@prisma/compute-sdk/config";
2
-
3
- export default defineComputeConfig({
4
- app: {
5
- name: "{{projectName}}",
6
- framework: "astro",
7
- httpPort: 4321,
8
- env: ".env",
9
- },
10
- });
@@ -1,15 +0,0 @@
1
- {{#if (requiresPrismaConfigDotenvImport this.packageManager)}}
2
- import "dotenv/config";
3
- {{/if}}
4
- import { defineConfig, env } from "prisma/config";
5
-
6
- export default defineConfig({
7
- schema: "prisma/schema.prisma",
8
- migrations: {
9
- path: "prisma/migrations",
10
- seed: "{{seedCommand this.packageManager}}",
11
- },
12
- datasource: {
13
- url: env("DATABASE_URL"),
14
- },
15
- });
@@ -1,55 +0,0 @@
1
- {{#if (requiresDotenvConfigImport this.packageManager)}}
2
- import "dotenv/config";
3
- {{/if}}
4
- import { PrismaClient } from "../generated/prisma/client{{#if (eq packageManager "deno")}}.ts{{/if}}";
5
- {{#if (eq provider "postgresql")}}
6
- import { PrismaPg } from "@prisma/adapter-pg";
7
- {{/if}}
8
- {{#if (eq provider "cockroachdb")}}
9
- import { PrismaPg } from "@prisma/adapter-pg";
10
- {{/if}}
11
- {{#if (eq provider "mysql")}}
12
- import { PrismaMariaDb } from "@prisma/adapter-mariadb";
13
- {{/if}}
14
- {{#if (eq provider "sqlite")}}
15
- import { {{sqliteAdapterClass this.packageManager}} } from "{{sqliteAdapterPackage this.packageManager}}";
16
- {{/if}}
17
- {{#if (eq provider "sqlserver")}}
18
- import { PrismaMssql } from "@prisma/adapter-mssql";
19
- {{/if}}
20
-
21
- const rawDatabaseUrl = {{#if (eq packageManager "deno")}}process.env.DATABASE_URL{{else}}import.meta.env?.DATABASE_URL ?? process.env.DATABASE_URL{{/if}};
22
- {{#if (eq provider "sqlite")}}
23
- const databaseUrl = (rawDatabaseUrl ?? "").trim() || "file:./dev.db";
24
- {{else}}
25
- const databaseUrl = (rawDatabaseUrl ?? "").trim();
26
- if (!databaseUrl) {
27
- throw new Error("DATABASE_URL is required");
28
- }
29
- {{/if}}
30
-
31
- {{#if (eq provider "postgresql")}}
32
- const adapter = new PrismaPg({
33
- connectionString: databaseUrl,
34
- });
35
- {{/if}}
36
- {{#if (eq provider "cockroachdb")}}
37
- const adapter = new PrismaPg({
38
- connectionString: databaseUrl,
39
- });
40
- {{/if}}
41
- {{#if (eq provider "mysql")}}
42
- const adapter = new PrismaMariaDb(databaseUrl);
43
- {{/if}}
44
- {{#if (eq provider "sqlite")}}
45
- const adapter = new {{sqliteAdapterClass this.packageManager}}({
46
- url: databaseUrl,
47
- });
48
- {{/if}}
49
- {{#if (eq provider "sqlserver")}}
50
- const adapter = new PrismaMssql(databaseUrl);
51
- {{/if}}
52
-
53
- const prisma = new PrismaClient({ adapter });
54
-
55
- export default prisma;
@@ -1,43 +0,0 @@
1
- # {{projectName}}
2
-
3
- Generated by `create-prisma` with the Elysia template.
4
-
5
- ## Scripts
6
-
7
- - `{{runScriptCommand packageManager "dev"}}` - start local dev server with hot reload
8
- - `{{runScriptCommand packageManager "build"}}` - {{#if (eq packageManager "deno")}}type-check the app with Deno{{else}}{{#if (eq packageManager "bun")}}type-check the app for Bun{{else}}typecheck and compile{{/if}}{{/if}}
9
- - `{{runScriptCommand packageManager "start"}}` - {{#if (eq packageManager "deno")}}run the server directly from `src/index.ts` with Deno{{else}}{{#if (eq packageManager "bun")}}run the server directly from `src/index.ts` with Bun{{else}}run compiled server from `dist/`{{/if}}{{/if}}
10
- {{#if compute}}
11
- - `{{runScriptCommand packageManager "compute:deploy"}}` - redeploy to Prisma Compute with environment variables from `.env`
12
- {{/if}}
13
-
14
- ## Prisma
15
-
16
- 1. Make sure dependencies are installed.
17
- 2. Generate Prisma Client:
18
-
19
- `{{runScriptCommand packageManager "db:generate"}}`
20
-
21
- 3. Run your first migration:
22
-
23
- `{{runScriptCommand packageManager "db:migrate"}}`
24
-
25
- 4. Seed the database:
26
-
27
- `{{runScriptCommand packageManager "db:seed"}}`
28
-
29
- 5. Use the Prisma client from `src/lib/prisma.ts`.
30
-
31
- Generated Prisma files are written to `src/generated/prisma`. Prisma Compute deploy defaults are written to `prisma.compute.ts`.
32
- {{#if (eq schemaPreset "basic")}}
33
-
34
- The template includes a basic `User` model, a sample `GET /users` endpoint, and seed data in `prisma/seed.ts`.
35
- {{/if}}
36
- {{#if compute}}
37
-
38
- ## Prisma Compute
39
-
40
- This project includes a Prisma Compute deploy script and deploy defaults in `prisma.compute.ts`. Deploys load environment variables from `.env`; if setup created a Prisma Postgres database, its `DATABASE_URL` is already written there.
41
-
42
- After local changes, run `{{runScriptCommand packageManager "compute:deploy"}}` to redeploy.
43
- {{/if}}
@@ -1,5 +0,0 @@
1
- {{#if (eq packageManager "deno")}}
2
- {
3
- "nodeModulesDir": "auto"
4
- }
5
- {{/if}}
@@ -1,25 +0,0 @@
1
- generator client {
2
- provider = "prisma-client"
3
- output = "../src/generated/prisma"
4
- {{#if (eq packageManager "deno")}}
5
- runtime = "deno"
6
- {{else}}
7
- {{#if (eq packageManager "bun")}}
8
- runtime = "bun"
9
- {{/if}}
10
- {{/if}}
11
- }
12
-
13
- datasource db {
14
- provider = "{{provider}}"
15
- }
16
- {{#if (eq schemaPreset "basic")}}
17
-
18
- model User {
19
- id String @id @default(cuid())
20
- email String @unique
21
- name String?
22
- createdAt DateTime @default(now())
23
- updatedAt DateTime @updatedAt
24
- }
25
- {{/if}}
@@ -1,38 +0,0 @@
1
- import prisma from "../src/lib/prisma{{#if (eq packageManager "deno")}}.ts{{/if}}";
2
-
3
- async function main() {
4
- {{#if (eq schemaPreset "basic")}}
5
- const users = await Promise.all([
6
- prisma.user.upsert({
7
- where: { email: "alice@prisma.io" },
8
- update: { name: "Alice" },
9
- create: {
10
- email: "alice@prisma.io",
11
- name: "Alice",
12
- },
13
- }),
14
- prisma.user.upsert({
15
- where: { email: "bob@prisma.io" },
16
- update: { name: "Bob" },
17
- create: {
18
- email: "bob@prisma.io",
19
- name: "Bob",
20
- },
21
- }),
22
- ]);
23
-
24
- console.log(`Seeded ${users.length} users.`);
25
- {{else}}
26
- console.log("No seed data defined for the empty schema preset.");
27
- {{/if}}
28
- }
29
-
30
- main()
31
- .then(async () => {
32
- await prisma.$disconnect();
33
- })
34
- .catch(async (error) => {
35
- console.error(error);
36
- await prisma.$disconnect();
37
- process.exit(1);
38
- });
@@ -1,11 +0,0 @@
1
- import { defineComputeConfig } from "@prisma/compute-sdk/config";
2
-
3
- export default defineComputeConfig({
4
- app: {
5
- name: "{{projectName}}",
6
- framework: "bun",
7
- entry: "src/index.ts",
8
- httpPort: 8080,
9
- env: ".env",
10
- },
11
- });
@@ -1,15 +0,0 @@
1
- {{#if (requiresPrismaConfigDotenvImport this.packageManager)}}
2
- import "dotenv/config";
3
- {{/if}}
4
- import { defineConfig, env } from "prisma/config";
5
-
6
- export default defineConfig({
7
- schema: "prisma/schema.prisma",
8
- migrations: {
9
- path: "prisma/migrations",
10
- seed: "{{seedCommand this.packageManager}}",
11
- },
12
- datasource: {
13
- url: env("DATABASE_URL"),
14
- },
15
- });
@@ -1,56 +0,0 @@
1
- {{#if (requiresDotenvConfigImport packageManager)}}
2
- import "dotenv/config";
3
- {{/if}}
4
- import { PrismaClient } from "../generated/prisma/client{{#if (eq packageManager "deno")}}.ts{{/if}}";
5
- {{#if (eq provider "postgresql")}}
6
- import { PrismaPg } from "@prisma/adapter-pg";
7
- {{/if}}
8
- {{#if (eq provider "cockroachdb")}}
9
- import { PrismaPg } from "@prisma/adapter-pg";
10
- {{/if}}
11
- {{#if (eq provider "mysql")}}
12
- import { PrismaMariaDb } from "@prisma/adapter-mariadb";
13
- {{/if}}
14
- {{#if (eq provider "sqlite")}}
15
- import { {{sqliteAdapterClass packageManager}} } from "{{sqliteAdapterPackage packageManager}}";
16
- {{/if}}
17
- {{#if (eq provider "sqlserver")}}
18
- import { PrismaMssql } from "@prisma/adapter-mssql";
19
- {{/if}}
20
-
21
- const rawDatabaseUrl = process.env.DATABASE_URL;
22
- {{#if (eq provider "sqlite")}}
23
- const databaseUrl = (rawDatabaseUrl ?? "").trim() || "file:./dev.db";
24
- {{else}}
25
- const databaseUrl = (rawDatabaseUrl ?? "").trim();
26
- if (!databaseUrl) {
27
- throw new Error("DATABASE_URL is required");
28
- }
29
- {{/if}}
30
-
31
- {{#if (eq provider "postgresql")}}
32
- const adapter = new PrismaPg({
33
- connectionString: databaseUrl,
34
- });
35
- {{/if}}
36
- {{#if (eq provider "cockroachdb")}}
37
- const adapter = new PrismaPg({
38
- connectionString: databaseUrl,
39
- });
40
- {{/if}}
41
- {{#if (eq provider "mysql")}}
42
- const adapter = new PrismaMariaDb(databaseUrl);
43
- {{/if}}
44
- {{#if (eq provider "sqlite")}}
45
- const adapter = new {{sqliteAdapterClass packageManager}}({
46
- url: databaseUrl,
47
- });
48
- {{/if}}
49
- {{#if (eq provider "sqlserver")}}
50
- const adapter = new PrismaMssql(databaseUrl);
51
- {{/if}}
52
-
53
- const prisma = new PrismaClient({ adapter });
54
-
55
- export { prisma };
56
- export default prisma;
@@ -1,43 +0,0 @@
1
- # {{projectName}}
2
-
3
- Generated by `create-prisma` with the Hono template.
4
-
5
- ## Scripts
6
-
7
- - `{{runScriptCommand packageManager "dev"}}` - start local dev server
8
- - `{{runScriptCommand packageManager "build"}}` - {{#if (eq packageManager "deno")}}type-check the app with Deno{{else}}{{#if (eq packageManager "bun")}}type-check the app for Bun{{else}}typecheck and compile{{/if}}{{/if}}
9
- - `{{runScriptCommand packageManager "start"}}` - {{#if (eq packageManager "deno")}}run the server directly from `src/index.ts` with Deno{{else}}{{#if (eq packageManager "bun")}}run the server directly from `src/index.ts` with Bun{{else}}run compiled server from `dist/`{{/if}}{{/if}}
10
- {{#if compute}}
11
- - `{{runScriptCommand packageManager "compute:deploy"}}` - redeploy to Prisma Compute with environment variables from `.env`
12
- {{/if}}
13
-
14
- ## Prisma
15
-
16
- 1. Make sure dependencies are installed.
17
- 2. Generate Prisma Client:
18
-
19
- `{{runScriptCommand packageManager "db:generate"}}`
20
-
21
- 3. Run your first migration:
22
-
23
- `{{runScriptCommand packageManager "db:migrate"}}`
24
-
25
- 4. Seed the database:
26
-
27
- `{{runScriptCommand packageManager "db:seed"}}`
28
-
29
- 5. Use the Prisma client from `src/lib/prisma.ts`.
30
-
31
- Generated Prisma files are written to `src/generated/prisma`. Prisma Compute deploy defaults are written to `prisma.compute.ts`.
32
- {{#if (eq schemaPreset "basic")}}
33
-
34
- The template includes a basic `User` model, a sample `GET /users` endpoint, and seed data in `prisma/seed.ts`.
35
- {{/if}}
36
- {{#if compute}}
37
-
38
- ## Prisma Compute
39
-
40
- This project includes a Prisma Compute deploy script and deploy defaults in `prisma.compute.ts`. Deploys load environment variables from `.env`; if setup created a Prisma Postgres database, its `DATABASE_URL` is already written there.
41
-
42
- After local changes, run `{{runScriptCommand packageManager "compute:deploy"}}` to redeploy.
43
- {{/if}}
@@ -1,5 +0,0 @@
1
- {{#if (eq packageManager "deno")}}
2
- {
3
- "nodeModulesDir": "auto"
4
- }
5
- {{/if}}
@@ -1,25 +0,0 @@
1
- generator client {
2
- provider = "prisma-client"
3
- output = "../src/generated/prisma"
4
- {{#if (eq packageManager "deno")}}
5
- runtime = "deno"
6
- {{else}}
7
- {{#if (eq packageManager "bun")}}
8
- runtime = "bun"
9
- {{/if}}
10
- {{/if}}
11
- }
12
-
13
- datasource db {
14
- provider = "{{provider}}"
15
- }
16
- {{#if (eq schemaPreset "basic")}}
17
-
18
- model User {
19
- id String @id @default(cuid())
20
- email String @unique
21
- name String?
22
- createdAt DateTime @default(now())
23
- updatedAt DateTime @updatedAt
24
- }
25
- {{/if}}
@@ -1,38 +0,0 @@
1
- import prisma from "../src/lib/prisma{{#if (eq packageManager "deno")}}.ts{{/if}}";
2
-
3
- async function main() {
4
- {{#if (eq schemaPreset "basic")}}
5
- const users = await Promise.all([
6
- prisma.user.upsert({
7
- where: { email: "alice@prisma.io" },
8
- update: { name: "Alice" },
9
- create: {
10
- email: "alice@prisma.io",
11
- name: "Alice",
12
- },
13
- }),
14
- prisma.user.upsert({
15
- where: { email: "bob@prisma.io" },
16
- update: { name: "Bob" },
17
- create: {
18
- email: "bob@prisma.io",
19
- name: "Bob",
20
- },
21
- }),
22
- ]);
23
-
24
- console.log(`Seeded ${users.length} users.`);
25
- {{else}}
26
- console.log("No seed data defined for the empty schema preset.");
27
- {{/if}}
28
- }
29
-
30
- main()
31
- .then(async () => {
32
- await prisma.$disconnect();
33
- })
34
- .catch(async (error) => {
35
- console.error(error);
36
- await prisma.$disconnect();
37
- process.exit(1);
38
- });
@@ -1,10 +0,0 @@
1
- import { defineComputeConfig } from "@prisma/compute-sdk/config";
2
-
3
- export default defineComputeConfig({
4
- app: {
5
- name: "{{projectName}}",
6
- framework: "hono",
7
- httpPort: 8080,
8
- env: ".env",
9
- },
10
- });
@@ -1,15 +0,0 @@
1
- {{#if (requiresPrismaConfigDotenvImport this.packageManager)}}
2
- import "dotenv/config";
3
- {{/if}}
4
- import { defineConfig, env } from "prisma/config";
5
-
6
- export default defineConfig({
7
- schema: "prisma/schema.prisma",
8
- migrations: {
9
- path: "prisma/migrations",
10
- seed: "{{seedCommand this.packageManager}}",
11
- },
12
- datasource: {
13
- url: env("DATABASE_URL"),
14
- },
15
- });
@@ -1,56 +0,0 @@
1
- {{#if (requiresDotenvConfigImport packageManager)}}
2
- import "dotenv/config";
3
- {{/if}}
4
- import { PrismaClient } from "../generated/prisma/client{{#if (eq packageManager "deno")}}.ts{{/if}}";
5
- {{#if (eq provider "postgresql")}}
6
- import { PrismaPg } from "@prisma/adapter-pg";
7
- {{/if}}
8
- {{#if (eq provider "cockroachdb")}}
9
- import { PrismaPg } from "@prisma/adapter-pg";
10
- {{/if}}
11
- {{#if (eq provider "mysql")}}
12
- import { PrismaMariaDb } from "@prisma/adapter-mariadb";
13
- {{/if}}
14
- {{#if (eq provider "sqlite")}}
15
- import { {{sqliteAdapterClass packageManager}} } from "{{sqliteAdapterPackage packageManager}}";
16
- {{/if}}
17
- {{#if (eq provider "sqlserver")}}
18
- import { PrismaMssql } from "@prisma/adapter-mssql";
19
- {{/if}}
20
-
21
- const rawDatabaseUrl = process.env.DATABASE_URL;
22
- {{#if (eq provider "sqlite")}}
23
- const databaseUrl = (rawDatabaseUrl ?? "").trim() || "file:./dev.db";
24
- {{else}}
25
- const databaseUrl = (rawDatabaseUrl ?? "").trim();
26
- if (!databaseUrl) {
27
- throw new Error("DATABASE_URL is required");
28
- }
29
- {{/if}}
30
-
31
- {{#if (eq provider "postgresql")}}
32
- const adapter = new PrismaPg({
33
- connectionString: databaseUrl,
34
- });
35
- {{/if}}
36
- {{#if (eq provider "cockroachdb")}}
37
- const adapter = new PrismaPg({
38
- connectionString: databaseUrl,
39
- });
40
- {{/if}}
41
- {{#if (eq provider "mysql")}}
42
- const adapter = new PrismaMariaDb(databaseUrl);
43
- {{/if}}
44
- {{#if (eq provider "sqlite")}}
45
- const adapter = new {{sqliteAdapterClass packageManager}}({
46
- url: databaseUrl,
47
- });
48
- {{/if}}
49
- {{#if (eq provider "sqlserver")}}
50
- const adapter = new PrismaMssql(databaseUrl);
51
- {{/if}}
52
-
53
- const prisma = new PrismaClient({ adapter });
54
-
55
- export { prisma };
56
- export default prisma;
@@ -1,43 +0,0 @@
1
- # {{projectName}}
2
-
3
- Generated by `create-prisma` with the NestJS template.
4
-
5
- ## Scripts
6
-
7
- - `{{runScriptCommand packageManager "dev"}}` - start the Nest dev server with watch mode
8
- - `{{runScriptCommand packageManager "build"}}` - {{#if (eq packageManager "deno")}}type-check the app with Deno{{else}}{{#if (eq packageManager "bun")}}type-check the app for Bun{{else}}compile the app into `dist/`{{/if}}{{/if}}
9
- - `{{runScriptCommand packageManager "start"}}` - {{#if (eq packageManager "deno")}}run the server directly from `src/main.ts` with Deno{{else}}{{#if (eq packageManager "bun")}}run the server directly from `src/main.ts` with Bun{{else}}run the compiled server from `dist/main.js`{{/if}}{{/if}}
10
- {{#if compute}}
11
- - `{{runScriptCommand packageManager "compute:deploy"}}` - redeploy to Prisma Compute with environment variables from `.env`
12
- {{/if}}
13
-
14
- ## Prisma
15
-
16
- 1. Make sure dependencies are installed.
17
- 2. Generate Prisma Client:
18
-
19
- `{{runScriptCommand packageManager "db:generate"}}`
20
-
21
- 3. Run your first migration:
22
-
23
- `{{runScriptCommand packageManager "db:migrate"}}`
24
-
25
- 4. Seed the database:
26
-
27
- `{{runScriptCommand packageManager "db:seed"}}`
28
-
29
- 5. Use the shared Prisma setup from `src/lib/prisma.ts` and inject `PrismaService` from `src/prisma.service.ts` inside Nest providers.
30
-
31
- Generated Prisma files are written to `src/generated/prisma`.
32
- {{#if (eq schemaPreset "basic")}}
33
-
34
- The template includes a basic `User` model, a sample `GET /users` endpoint, and seed data in `prisma/seed.ts`.
35
- {{/if}}
36
- {{#if compute}}
37
-
38
- ## Prisma Compute
39
-
40
- This project includes a Prisma Compute deploy script. Deploys load environment variables from `.env`; if setup created a Prisma Postgres database, its `DATABASE_URL` is already written there.
41
-
42
- After local changes, run `{{runScriptCommand packageManager "compute:deploy"}}` to redeploy.
43
- {{/if}}
@@ -1,5 +0,0 @@
1
- {{#if (eq packageManager "deno")}}
2
- {
3
- "nodeModulesDir": "auto"
4
- }
5
- {{/if}}
@@ -1,25 +0,0 @@
1
- generator client {
2
- provider = "prisma-client"
3
- output = "../src/generated/prisma"
4
- {{#if (eq packageManager "deno")}}
5
- runtime = "deno"
6
- {{else}}
7
- {{#if (eq packageManager "bun")}}
8
- runtime = "bun"
9
- {{/if}}
10
- {{/if}}
11
- }
12
-
13
- datasource db {
14
- provider = "{{provider}}"
15
- }
16
- {{#if (eq schemaPreset "basic")}}
17
-
18
- model User {
19
- id String @id @default(cuid())
20
- email String @unique
21
- name String?
22
- createdAt DateTime @default(now())
23
- updatedAt DateTime @updatedAt
24
- }
25
- {{/if}}