Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/constants/dependencies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion src/tasks/composer/deploy-report.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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) =>
Expand Down
1 change: 0 additions & 1 deletion src/tasks/deploy-with-composer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,6 @@ export const deployNewProjectWithComposerEffect = Effect.fn("Deployment.deploy")

const deployCommand = getLocalPackageBinaryCommand(options.packageManager, "prisma", [
"deploy",
"module.ts",
]);
yield* Effect.sync(() => {
clearProgress();
Expand Down
3 changes: 1 addition & 2 deletions src/tasks/install.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,7 @@ function getPrismaScriptMap(

export function getComposerScriptMap(packageManager: PackageManager): Record<string, string> {
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"),
Expand Down
1 change: 1 addition & 0 deletions templates/create/_shared/prisma.config.ts.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -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(),
}),
Expand Down
6 changes: 3 additions & 3 deletions tests/dependencies.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
7 changes: 6 additions & 1 deletion tests/e2e/create-prisma.e2e.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
7 changes: 3 additions & 4 deletions tests/install.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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({});
Expand Down Expand Up @@ -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:");
Expand Down
Loading