create-prisma 0.4.1 → 0.4.2-next.37.104.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 +66 -44
- package/dist/cli.mjs +1 -1
- package/dist/{create-H6Tk0JlE.mjs → create-BeFhatOc.mjs} +910 -993
- package/dist/index.d.mts +32 -39
- package/dist/index.mjs +3 -3
- package/package.json +7 -2
- package/templates/create/_shared/prisma/seed.ts.hbs +52 -0
- package/templates/create/astro/README.md.hbs +25 -15
- package/templates/create/astro/astro.config.mjs +6 -1
- package/templates/create/astro/deno.json.hbs +1 -1
- package/templates/create/astro/package.json.hbs +3 -2
- package/templates/create/astro/src/lib/prisma.ts.hbs +60 -40
- package/templates/create/astro/src/pages/api/users.ts.hbs +6 -22
- package/templates/create/astro/src/pages/index.astro.hbs +18 -55
- package/templates/create/elysia/README.md.hbs +27 -17
- package/templates/create/elysia/deno.json.hbs +1 -1
- package/templates/create/elysia/src/index.ts.hbs +15 -11
- package/templates/create/elysia/src/lib/prisma.ts.hbs +60 -43
- package/templates/create/elysia/tsconfig.json +1 -0
- package/templates/create/hono/README.md.hbs +27 -17
- package/templates/create/hono/deno.json.hbs +1 -1
- package/templates/create/hono/src/index.ts.hbs +9 -10
- package/templates/create/hono/src/lib/prisma.ts.hbs +60 -43
- package/templates/create/hono/tsconfig.json +1 -0
- package/templates/create/minimal/.yarnrc.yml.hbs +3 -0
- package/templates/create/minimal/README.md.hbs +39 -0
- package/templates/create/{turborepo → minimal}/deno.json.hbs +1 -1
- package/templates/create/minimal/package.json.hbs +13 -0
- package/templates/create/minimal/src/index.ts.hbs +43 -0
- package/templates/create/minimal/src/lib/prisma.ts.hbs +73 -0
- package/templates/create/{turborepo/apps/api → minimal}/tsconfig.json +3 -4
- package/templates/create/nest/README.md.hbs +28 -17
- package/templates/create/nest/deno.json.hbs +1 -1
- package/templates/create/nest/src/app.module.ts.hbs +5 -6
- package/templates/create/nest/src/lib/prisma.ts.hbs +60 -45
- package/templates/create/nest/src/prisma.service.ts.hbs +6 -5
- package/templates/create/nest/src/users.controller.ts.hbs +1 -2
- package/templates/create/nest/src/users.service.ts.hbs +2 -8
- package/templates/create/nest/tsconfig.json +1 -0
- package/templates/create/next/README.md.hbs +25 -13
- package/templates/create/next/deno.json.hbs +1 -1
- package/templates/create/next/src/app/page.tsx.hbs +16 -57
- package/templates/create/next/src/lib/prisma.ts.hbs +60 -40
- package/templates/create/next/tsconfig.json +1 -0
- package/templates/create/nuxt/README.md.hbs +26 -13
- package/templates/create/nuxt/app/pages/index.vue.hbs +12 -45
- package/templates/create/nuxt/deno.json.hbs +1 -1
- package/templates/create/nuxt/nuxt.config.ts +21 -0
- package/templates/create/nuxt/package.json.hbs +2 -1
- package/templates/create/nuxt/server/api/users.get.ts.hbs +4 -15
- package/templates/create/nuxt/server/utils/prisma.ts.hbs +60 -40
- package/templates/create/svelte/README.md.hbs +25 -15
- package/templates/create/svelte/deno.json.hbs +1 -1
- package/templates/create/svelte/package.json.hbs +1 -1
- package/templates/create/svelte/src/lib/server/prisma.ts.hbs +61 -41
- package/templates/create/svelte/src/routes/+page.server.ts.hbs +4 -15
- package/templates/create/svelte/src/routes/+page.svelte.hbs +13 -163
- package/templates/create/svelte/vite.config.ts +2 -1
- package/templates/create/tanstack-start/README.md.hbs +26 -13
- package/templates/create/tanstack-start/deno.json.hbs +1 -2
- package/templates/create/tanstack-start/package.json.hbs +1 -2
- package/templates/create/tanstack-start/src/lib/prisma.server.ts.hbs +60 -40
- package/templates/create/tanstack-start/src/routes/__root.tsx.hbs +2 -3
- package/templates/create/tanstack-start/src/routes/index.tsx.hbs +26 -77
- package/templates/create/tanstack-start/tsconfig.json +1 -0
- package/templates/create/tanstack-start/vite.config.ts +7 -1
- package/templates/create/astro/prisma/schema.prisma.hbs +0 -21
- package/templates/create/astro/prisma/seed.ts.hbs +0 -38
- package/templates/create/astro/prisma.config.ts +0 -13
- package/templates/create/elysia/prisma/schema.prisma.hbs +0 -25
- package/templates/create/elysia/prisma/seed.ts.hbs +0 -42
- package/templates/create/elysia/prisma.config.ts.hbs +0 -15
- package/templates/create/hono/prisma/schema.prisma.hbs +0 -25
- package/templates/create/hono/prisma/seed.ts.hbs +0 -42
- package/templates/create/hono/prisma.config.ts.hbs +0 -15
- package/templates/create/nest/prisma/schema.prisma.hbs +0 -25
- package/templates/create/nest/prisma/seed.ts.hbs +0 -44
- package/templates/create/nest/prisma.config.ts.hbs +0 -15
- package/templates/create/next/prisma/schema.prisma.hbs +0 -21
- package/templates/create/next/prisma/seed.ts.hbs +0 -38
- package/templates/create/next/prisma.config.ts +0 -13
- package/templates/create/nuxt/prisma/schema.prisma.hbs +0 -21
- package/templates/create/nuxt/prisma/seed.ts.hbs +0 -38
- package/templates/create/nuxt/prisma.config.ts +0 -13
- package/templates/create/svelte/prisma/schema.prisma.hbs +0 -21
- package/templates/create/svelte/prisma/seed.ts.hbs +0 -87
- package/templates/create/svelte/prisma.config.ts +0 -13
- package/templates/create/tanstack-start/prisma/schema.prisma.hbs +0 -21
- package/templates/create/tanstack-start/prisma/seed.ts.hbs +0 -37
- package/templates/create/tanstack-start/prisma.config.ts +0 -13
- package/templates/create/turborepo/README.md.hbs +0 -29
- package/templates/create/turborepo/apps/api/package.json.hbs +0 -19
- package/templates/create/turborepo/apps/api/src/index.ts.hbs +0 -51
- package/templates/create/turborepo/package.json.hbs +0 -24
- package/templates/create/turborepo/packages/db/package.json.hbs +0 -17
- package/templates/create/turborepo/packages/db/prisma/schema.prisma.hbs +0 -21
- package/templates/create/turborepo/packages/db/prisma/seed.ts.hbs +0 -38
- package/templates/create/turborepo/packages/db/prisma.config.ts +0 -13
- package/templates/create/turborepo/packages/db/src/client.ts.hbs +0 -58
- package/templates/create/turborepo/packages/db/src/index.ts +0 -2
- package/templates/create/turborepo/packages/db/tsconfig.json +0 -15
- package/templates/create/turborepo/turbo.json +0 -28
- /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,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
|
-
}
|
|
File without changes
|