diff --git a/src/constants/dependencies.ts b/src/constants/dependencies.ts index 4b7d5a8..d8f1e50 100644 --- a/src/constants/dependencies.ts +++ b/src/constants/dependencies.ts @@ -3,8 +3,8 @@ import type { CreateTemplate, PackageManager } from "../types"; export const dependencyVersionMap = { "@astrojs/node": "^11.1.9", "@elysia/node": "^1.4.6", - "@prisma/composer": "0.34.0", - "@prisma/composer-prisma-cloud": "0.34.0", + "@prisma/composer": "0.35.0", + "@prisma/composer-prisma-cloud": "0.35.0", "@prisma/dev": "0.25.2", "@prisma/orm-mongo": "8.0.0-rc.20", // Must match @prisma/composer-prisma-cloud's exact peerDependency, even when @@ -23,7 +23,7 @@ export const dependencyVersionMap = { nitro: "^3.0.260903-beta", // Must match the @prisma/composer-cli version this prisma release depends on. // `bun run check:pins` verifies that against the Composer pins above. - prisma: "8.0.0-rc.27", + prisma: "8.0.0-rc.28", // Node 22 needs a global Temporal for the ORM runtime's timestamp columns. "temporal-polyfill": "^1.0.6", tsdown: "^0.23.1", diff --git a/src/tasks/composer/deploy-report.ts b/src/tasks/composer/deploy-report.ts index 73a9de1..e541973 100644 --- a/src/tasks/composer/deploy-report.ts +++ b/src/tasks/composer/deploy-report.ts @@ -56,7 +56,7 @@ export const runComposerDeployEffect = Effect.fn("Deployment.runComposerDeploy") return yield* runPrismaJsonCommandEffect({ packageManager: options.packageManager, projectDir: options.projectDir, - args: ["deploy", "module.ts", ...(reportPath ? ["--report", reportPath] : [])], + args: ["deploy", ...(reportPath ? ["--report", reportPath] : [])], ...(options.onStderrLine ? { onStderrLine: options.onStderrLine } : {}), }).pipe( Effect.catchTag("PrismaCliCommandError", (error) => diff --git a/src/tasks/deploy-with-composer.ts b/src/tasks/deploy-with-composer.ts index 7202286..4054127 100644 --- a/src/tasks/deploy-with-composer.ts +++ b/src/tasks/deploy-with-composer.ts @@ -140,7 +140,6 @@ export const deployNewProjectWithComposerEffect = Effect.fn("Deployment.deploy") const deployCommand = getLocalPackageBinaryCommand(options.packageManager, "prisma", [ "deploy", - "module.ts", ]); yield* Effect.sync(() => { clearProgress(); diff --git a/src/tasks/install.ts b/src/tasks/install.ts index 7626139..b283885 100644 --- a/src/tasks/install.ts +++ b/src/tasks/install.ts @@ -64,8 +64,7 @@ function getPrismaScriptMap( export function getComposerScriptMap(packageManager: PackageManager): Record { if (packageManager === "deno") return {}; - const composerCommand = (subcommand: "dev" | "deploy") => - ["prisma", subcommand, "module.ts"].join(" "); + const composerCommand = (subcommand: "dev" | "deploy") => ["prisma", subcommand].join(" "); return { "composer:dev": composerCommand("dev"), "composer:deploy": composerCommand("deploy"), diff --git a/templates/create/_shared/prisma.config.ts.hbs b/templates/create/_shared/prisma.config.ts.hbs index 42a5246..3d9b335 100644 --- a/templates/create/_shared/prisma.config.ts.hbs +++ b/templates/create/_shared/prisma.config.ts.hbs @@ -38,6 +38,7 @@ export default definePrismaConfig({ }, }), composer: composer({ + entry: "./module.ts", extensions: [prismaCloud({ region: "us-east-1" }), nodeBuild(){{#if (eq template "next")}}, nextjsBuild(){{/if}}], state: prismaState(), }), diff --git a/tests/dependencies.test.ts b/tests/dependencies.test.ts index fb117a6..bc56e1c 100644 --- a/tests/dependencies.test.ts +++ b/tests/dependencies.test.ts @@ -6,9 +6,9 @@ describe("Prisma 8 dependency versions", () => { test("uses the selected Prisma 8 and Composer releases", () => { expect(getDependencyVersion("@prisma/orm-postgres")).toBe("8.0.0-rc.20"); expect(getDependencyVersion("@prisma/orm-mongo")).toBe("8.0.0-rc.20"); - expect(getDependencyVersion("@prisma/composer")).toBe("0.34.0"); - expect(getDependencyVersion("@prisma/composer-prisma-cloud")).toBe("0.34.0"); - expect(getDependencyVersion("prisma")).toBe("8.0.0-rc.27"); + expect(getDependencyVersion("@prisma/composer")).toBe("0.35.0"); + expect(getDependencyVersion("@prisma/composer-prisma-cloud")).toBe("0.35.0"); + expect(getDependencyVersion("prisma")).toBe("8.0.0-rc.28"); expect(getDependencyVersion("alchemy")).toBe("2.0.0-beta.83"); expect(getDependencyVersion("effect")).toBe("4.0.3"); expect(getDependencyVersion("turbo")).toBe("2.11.10"); diff --git a/tests/e2e/create-prisma.e2e.test.ts b/tests/e2e/create-prisma.e2e.test.ts index b1c6e73..5836a61 100644 --- a/tests/e2e/create-prisma.e2e.test.ts +++ b/tests/e2e/create-prisma.e2e.test.ts @@ -98,7 +98,12 @@ function findAppEndpoint(output: string): string | undefined { for (const line of output.split(/\r?\n/)) { try { const frame = JSON.parse(line) as { kind?: unknown; name?: unknown; url?: unknown }; - if (frame.kind === "endpoint" && frame.name === "app" && typeof frame.url === "string") { + if ( + frame.kind === "endpoint" && + typeof frame.name === "string" && + frame.name.endsWith(".app") && + typeof frame.url === "string" + ) { return frame.url; } } catch { diff --git a/tests/install.test.ts b/tests/install.test.ts index ed6258f..401d967 100644 --- a/tests/install.test.ts +++ b/tests/install.test.ts @@ -240,10 +240,8 @@ describe("Composer package-manager commands", () => { test("uses each selected package manager for Prisma CLI execution", () => { for (const packageManager of ["npm", "pnpm", "yarn", "bun"] as const) { - expect(getComposerScriptMap(packageManager)["composer:deploy"]).toBe( - "prisma deploy module.ts", - ); - expect(getComposerScriptMap(packageManager)["composer:dev"]).toBe("prisma dev module.ts"); + expect(getComposerScriptMap(packageManager)["composer:deploy"]).toBe("prisma deploy"); + expect(getComposerScriptMap(packageManager)["composer:dev"]).toBe("prisma dev"); } expect(getComposerScriptMap("bun")["composer:destroy"]).toBeUndefined(); expect(getComposerScriptMap("deno")).toEqual({}); @@ -434,6 +432,7 @@ describe("generated templates", () => { expect(prismaConfig).toContain('import { definePrismaConfig } from "prisma/config"'); expect(prismaConfig).toContain('agents: ["claude", "cursor", "agents", "devin"]'); expect(prismaConfig).toContain("composer: composer({"); + expect(prismaConfig).toContain('entry: "./module.ts"'); expect(prismaConfig).toContain('prismaCloud({ region: "us-east-1" })'); expect(prismaConfig).toContain("state: prismaState()"); expect(prismaConfig).not.toContain("configPath:");