create-prisma 0.4.1 → 0.4.2-next.37.102.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 (103) hide show
  1. package/README.md +50 -44
  2. package/dist/cli.mjs +1 -1
  3. package/dist/{create-H6Tk0JlE.mjs → create-DsDWZbPE.mjs} +875 -1010
  4. package/dist/index.d.mts +30 -39
  5. package/dist/index.mjs +3 -3
  6. package/package.json +7 -2
  7. package/templates/create/_shared/prisma/seed.ts.hbs +52 -0
  8. package/templates/create/astro/README.md.hbs +25 -15
  9. package/templates/create/astro/astro.config.mjs +6 -1
  10. package/templates/create/astro/deno.json.hbs +1 -1
  11. package/templates/create/astro/package.json.hbs +3 -2
  12. package/templates/create/astro/src/lib/prisma.ts.hbs +60 -40
  13. package/templates/create/astro/src/pages/api/users.ts.hbs +6 -22
  14. package/templates/create/astro/src/pages/index.astro.hbs +18 -55
  15. package/templates/create/elysia/README.md.hbs +27 -17
  16. package/templates/create/elysia/deno.json.hbs +1 -1
  17. package/templates/create/elysia/src/index.ts.hbs +15 -11
  18. package/templates/create/elysia/src/lib/prisma.ts.hbs +60 -43
  19. package/templates/create/elysia/tsconfig.json +1 -0
  20. package/templates/create/hono/README.md.hbs +27 -17
  21. package/templates/create/hono/deno.json.hbs +1 -1
  22. package/templates/create/hono/src/index.ts.hbs +9 -10
  23. package/templates/create/hono/src/lib/prisma.ts.hbs +60 -43
  24. package/templates/create/hono/tsconfig.json +1 -0
  25. package/templates/create/minimal/.yarnrc.yml.hbs +3 -0
  26. package/templates/create/minimal/README.md.hbs +39 -0
  27. package/templates/create/{turborepo → minimal}/deno.json.hbs +1 -1
  28. package/templates/create/minimal/package.json.hbs +13 -0
  29. package/templates/create/minimal/src/index.ts.hbs +43 -0
  30. package/templates/create/minimal/src/lib/prisma.ts.hbs +73 -0
  31. package/templates/create/{turborepo/apps/api → minimal}/tsconfig.json +3 -4
  32. package/templates/create/nest/README.md.hbs +28 -17
  33. package/templates/create/nest/deno.json.hbs +1 -1
  34. package/templates/create/nest/src/app.module.ts.hbs +5 -6
  35. package/templates/create/nest/src/lib/prisma.ts.hbs +60 -45
  36. package/templates/create/nest/src/prisma.service.ts.hbs +6 -5
  37. package/templates/create/nest/src/users.controller.ts.hbs +1 -2
  38. package/templates/create/nest/src/users.service.ts.hbs +2 -8
  39. package/templates/create/nest/tsconfig.json +1 -0
  40. package/templates/create/next/README.md.hbs +25 -13
  41. package/templates/create/next/deno.json.hbs +1 -1
  42. package/templates/create/next/src/app/page.tsx.hbs +16 -57
  43. package/templates/create/next/src/lib/prisma.ts.hbs +60 -40
  44. package/templates/create/next/tsconfig.json +1 -0
  45. package/templates/create/nuxt/README.md.hbs +26 -13
  46. package/templates/create/nuxt/app/pages/index.vue.hbs +12 -45
  47. package/templates/create/nuxt/deno.json.hbs +1 -1
  48. package/templates/create/nuxt/nuxt.config.ts +21 -0
  49. package/templates/create/nuxt/package.json.hbs +2 -1
  50. package/templates/create/nuxt/server/api/users.get.ts.hbs +4 -15
  51. package/templates/create/nuxt/server/utils/prisma.ts.hbs +60 -40
  52. package/templates/create/svelte/README.md.hbs +25 -15
  53. package/templates/create/svelte/deno.json.hbs +1 -1
  54. package/templates/create/svelte/package.json.hbs +1 -1
  55. package/templates/create/svelte/src/lib/server/prisma.ts.hbs +61 -41
  56. package/templates/create/svelte/src/routes/+page.server.ts.hbs +4 -15
  57. package/templates/create/svelte/src/routes/+page.svelte.hbs +13 -163
  58. package/templates/create/svelte/vite.config.ts +2 -1
  59. package/templates/create/tanstack-start/README.md.hbs +26 -13
  60. package/templates/create/tanstack-start/deno.json.hbs +1 -2
  61. package/templates/create/tanstack-start/package.json.hbs +1 -2
  62. package/templates/create/tanstack-start/src/lib/prisma.server.ts.hbs +60 -40
  63. package/templates/create/tanstack-start/src/routes/__root.tsx.hbs +2 -3
  64. package/templates/create/tanstack-start/src/routes/index.tsx.hbs +26 -77
  65. package/templates/create/tanstack-start/tsconfig.json +1 -0
  66. package/templates/create/tanstack-start/vite.config.ts +7 -1
  67. package/templates/create/astro/prisma/schema.prisma.hbs +0 -21
  68. package/templates/create/astro/prisma/seed.ts.hbs +0 -38
  69. package/templates/create/astro/prisma.config.ts +0 -13
  70. package/templates/create/elysia/prisma/schema.prisma.hbs +0 -25
  71. package/templates/create/elysia/prisma/seed.ts.hbs +0 -42
  72. package/templates/create/elysia/prisma.config.ts.hbs +0 -15
  73. package/templates/create/hono/prisma/schema.prisma.hbs +0 -25
  74. package/templates/create/hono/prisma/seed.ts.hbs +0 -42
  75. package/templates/create/hono/prisma.config.ts.hbs +0 -15
  76. package/templates/create/nest/prisma/schema.prisma.hbs +0 -25
  77. package/templates/create/nest/prisma/seed.ts.hbs +0 -44
  78. package/templates/create/nest/prisma.config.ts.hbs +0 -15
  79. package/templates/create/next/prisma/schema.prisma.hbs +0 -21
  80. package/templates/create/next/prisma/seed.ts.hbs +0 -38
  81. package/templates/create/next/prisma.config.ts +0 -13
  82. package/templates/create/nuxt/prisma/schema.prisma.hbs +0 -21
  83. package/templates/create/nuxt/prisma/seed.ts.hbs +0 -38
  84. package/templates/create/nuxt/prisma.config.ts +0 -13
  85. package/templates/create/svelte/prisma/schema.prisma.hbs +0 -21
  86. package/templates/create/svelte/prisma/seed.ts.hbs +0 -87
  87. package/templates/create/svelte/prisma.config.ts +0 -13
  88. package/templates/create/tanstack-start/prisma/schema.prisma.hbs +0 -21
  89. package/templates/create/tanstack-start/prisma/seed.ts.hbs +0 -37
  90. package/templates/create/tanstack-start/prisma.config.ts +0 -13
  91. package/templates/create/turborepo/README.md.hbs +0 -29
  92. package/templates/create/turborepo/apps/api/package.json.hbs +0 -19
  93. package/templates/create/turborepo/apps/api/src/index.ts.hbs +0 -51
  94. package/templates/create/turborepo/package.json.hbs +0 -24
  95. package/templates/create/turborepo/packages/db/package.json.hbs +0 -17
  96. package/templates/create/turborepo/packages/db/prisma/schema.prisma.hbs +0 -21
  97. package/templates/create/turborepo/packages/db/prisma/seed.ts.hbs +0 -38
  98. package/templates/create/turborepo/packages/db/prisma.config.ts +0 -13
  99. package/templates/create/turborepo/packages/db/src/client.ts.hbs +0 -58
  100. package/templates/create/turborepo/packages/db/src/index.ts +0 -2
  101. package/templates/create/turborepo/packages/db/tsconfig.json +0 -15
  102. package/templates/create/turborepo/turbo.json +0 -28
  103. /package/templates/create/{turborepo → elysia}/.yarnrc.yml.hbs +0 -0
@@ -1,29 +0,0 @@
1
- # {{projectName}}
2
-
3
- Generated by `create-prisma` with the Turborepo template.
4
-
5
- ## Structure
6
-
7
- - `apps/api` - Hono API app
8
- - `packages/db` - shared Prisma package
9
-
10
- ## Scripts
11
-
12
- - `{{runScriptCommand packageManager "dev"}}` - run API dev server through Turborepo
13
- - `{{runScriptCommand packageManager "build"}}` - run package builds through Turborepo
14
- - `{{runScriptCommand packageManager "typecheck"}}` - run TypeScript checks through Turborepo
15
- - `{{runScriptCommand packageManager "db:generate"}}` - generate Prisma Client in `packages/db`
16
- - `{{runScriptCommand packageManager "db:migrate"}}` - create/apply migrations in `packages/db`
17
- - `{{runScriptCommand packageManager "db:seed"}}` - run seed script in `packages/db`
18
-
19
- ## Prisma
20
-
21
- Prisma is scaffolded inside `packages/db`:
22
-
23
- - `packages/db/prisma/schema.prisma`
24
- - `packages/db/prisma/seed.ts`
25
- - `packages/db/src/client.ts`
26
- - `packages/db/prisma.config.ts`
27
- - `packages/db/src/generated/prisma`
28
-
29
- `apps/api/src/index.ts` imports the shared Prisma client from `@repo/db`.
@@ -1,19 +0,0 @@
1
- {
2
- "name": "@repo/api",
3
- "private": true,
4
- "type": "module",
5
- "scripts": {
6
- "dev": "tsx watch src/index.ts",
7
- "build": "tsc",
8
- "start": "node dist/src/index.js",
9
- "typecheck": "tsc --noEmit"
10
- },
11
- "dependencies": {
12
- "@hono/node-server": "^1.19.9",
13
- "hono": "^4.12.2"
14
- },
15
- "devDependencies": {
16
- "@types/node": "^24.3.0",
17
- "typescript": "^5.9.3"
18
- }
19
- }
@@ -1,51 +0,0 @@
1
- {{#if (requiresDotenvConfigImport packageManager)}}
2
- import "dotenv/config";
3
- {{/if}}
4
- import { serve } from "@hono/node-server";
5
- import { Hono } from "hono";
6
- {{#if (eq schemaPreset "basic")}}
7
- import { prisma } from "@repo/db";
8
- {{/if}}
9
-
10
- const app = new Hono();
11
-
12
- app.get("/", (c) => {
13
- return c.json({
14
- ok: true,
15
- message: "Turborepo API is running.",
16
- });
17
- });
18
- {{#if (eq schemaPreset "basic")}}
19
-
20
- app.get("/users", async (c) => {
21
- const users = await prisma.user
22
- .findMany({
23
- take: 10,
24
- orderBy: {
25
- createdAt: "desc",
26
- },
27
- })
28
- .catch((error) => {
29
- console.error("Failed to query users:", error);
30
- return undefined;
31
- });
32
-
33
- if (!users) {
34
- return c.json(
35
- {
36
- error: "Could not query users yet. Run db:migrate and db:seed first.",
37
- },
38
- 500
39
- );
40
- }
41
-
42
- return c.json(users);
43
- });
44
- {{/if}}
45
-
46
- const rawPort = (process.env.PORT ?? "").trim();
47
- const parsedPort = rawPort.length > 0 ? Number(rawPort) : Number.NaN;
48
- const port =
49
- Number.isFinite(parsedPort) && parsedPort >= 0 && parsedPort <= 65535 ? parsedPort : 3000;
50
- console.log(`API listening at http://localhost:${port}`);
51
- serve({ fetch: app.fetch, port });
@@ -1,24 +0,0 @@
1
- {
2
- "name": "{{projectName}}",
3
- "private": true,
4
- "version": "0.0.1",
5
- {{#if (packageManagerManifestValue packageManager)}}
6
- "packageManager": "{{packageManagerManifestValue packageManager}}",
7
- {{/if}}
8
- "workspaces": [
9
- "apps/*",
10
- "packages/*"
11
- ],
12
- "scripts": {
13
- "build": "turbo run build",
14
- "dev": "turbo run dev --filter=@repo/api",
15
- "typecheck": "turbo run typecheck",
16
- "db:generate": "turbo run db:generate --filter=@repo/db",
17
- "db:push": "turbo run db:push --filter=@repo/db",
18
- "db:migrate": "turbo run db:migrate --filter=@repo/db",
19
- "db:seed": "turbo run db:seed --filter=@repo/db"
20
- },
21
- "devDependencies": {
22
- "turbo": "^2.5.6"
23
- }
24
- }
@@ -1,17 +0,0 @@
1
- {
2
- "name": "@repo/db",
3
- "private": true,
4
- "type": "module",
5
- "exports": {
6
- ".": "./src/index.ts"
7
- },
8
- "scripts": {
9
- "build": "tsc",
10
- "typecheck": "tsc --noEmit"
11
- },
12
- "devDependencies": {
13
- "@types/node": "^24.3.0",
14
- "tsx": "^4.7.1",
15
- "typescript": "^5.9.3"
16
- }
17
- }
@@ -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/client";
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,13 +0,0 @@
1
- import "dotenv/config";
2
- import { defineConfig, env } from "prisma/config";
3
-
4
- export default defineConfig({
5
- schema: "prisma/schema.prisma",
6
- migrations: {
7
- path: "prisma/migrations",
8
- seed: "tsx prisma/seed.ts",
9
- },
10
- datasource: {
11
- url: env("DATABASE_URL"),
12
- },
13
- });
@@ -1,58 +0,0 @@
1
- import path from "node:path";
2
- import { fileURLToPath } from "node:url";
3
- import dotenv from "dotenv";
4
- import { PrismaClient } from "./generated/prisma/client";
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 { PrismaBetterSqlite3 } from "@prisma/adapter-better-sqlite3";
16
- {{/if}}
17
- {{#if (eq provider "sqlserver")}}
18
- import { PrismaMssql } from "@prisma/adapter-mssql";
19
- {{/if}}
20
-
21
- const moduleDir = path.dirname(fileURLToPath(import.meta.url));
22
- dotenv.config({ path: path.resolve(moduleDir, "../.env"), quiet: true });
23
-
24
- {{#if (eq provider "sqlite")}}
25
- const databaseUrl = process.env.DATABASE_URL ?? "file:./dev.db";
26
- {{else}}
27
- const databaseUrl = process.env.DATABASE_URL;
28
- if (!databaseUrl) {
29
- throw new Error("DATABASE_URL is required");
30
- }
31
- {{/if}}
32
-
33
- {{#if (eq provider "postgresql")}}
34
- const adapter = new PrismaPg({
35
- connectionString: databaseUrl,
36
- });
37
- {{/if}}
38
- {{#if (eq provider "cockroachdb")}}
39
- const adapter = new PrismaPg({
40
- connectionString: databaseUrl,
41
- });
42
- {{/if}}
43
- {{#if (eq provider "mysql")}}
44
- const adapter = new PrismaMariaDb(databaseUrl);
45
- {{/if}}
46
- {{#if (eq provider "sqlite")}}
47
- const adapter = new PrismaBetterSqlite3({
48
- url: databaseUrl,
49
- });
50
- {{/if}}
51
- {{#if (eq provider "sqlserver")}}
52
- const adapter = new PrismaMssql(databaseUrl);
53
- {{/if}}
54
-
55
- const prisma = new PrismaClient({ adapter });
56
-
57
- export { prisma };
58
- export default prisma;
@@ -1,2 +0,0 @@
1
- export { prisma } from "./client";
2
- export { default } from "./client";
@@ -1,15 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ESNext",
5
- "moduleResolution": "Bundler",
6
- "verbatimModuleSyntax": true,
7
- "strict": true,
8
- "esModuleInterop": true,
9
- "skipLibCheck": true,
10
- "forceConsistentCasingInFileNames": true,
11
- "outDir": "dist",
12
- "rootDir": "."
13
- },
14
- "include": ["src/**/*.ts", "prisma/**/*.ts", "prisma.config.ts"]
15
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "https://turbo.build/schema.json",
3
- "tasks": {
4
- "build": {
5
- "dependsOn": ["^build"],
6
- "outputs": ["dist/**"]
7
- },
8
- "dev": {
9
- "cache": false,
10
- "persistent": true
11
- },
12
- "typecheck": {
13
- "dependsOn": ["^typecheck"]
14
- },
15
- "db:generate": {
16
- "cache": false
17
- },
18
- "db:push": {
19
- "cache": false
20
- },
21
- "db:migrate": {
22
- "cache": false
23
- },
24
- "db:seed": {
25
- "cache": false
26
- }
27
- }
28
- }