Skip to content

feat: scaffold for Composer 0.35, with the entry in prisma.config.ts - #138

Merged
wmadden-electric merged 2 commits into
mainfrom
claude/composer-0.35-entry
Oct 28, 2026
Merged

wmadden-electric merged 2 commits into
mainfrom
claude/composer-0.35-entry

Conversation

@wmadden-electric

Copy link
Copy Markdown
Contributor

At a glance

A project scaffolded by this PR gets this composer section and these scripts:

composer: composer({
  entry: "./module.ts",
  extensions: [prismaCloud({ region: "us-east-1" }), nodeBuild()],
  state: prismaState(),
}),
"composer:dev": "prisma dev",
"composer:deploy": "prisma deploy",

Before, the scaffold wrote no entry, and its scripts ran prisma dev module.ts and prisma deploy module.ts.

What this PR changes

  1. prisma moves to 8.0.0-rc.28, and @prisma/composer and @prisma/composer-prisma-cloud move to 0.35.0.
  2. The prisma.config.ts template sets entry: "./module.ts" in the composer section.
  3. The composer:dev and composer:deploy scripts, the deploy that runs after scaffolding, and its report step all run prisma dev and prisma deploy without module.ts.

Why

Composer 0.35.0, which prisma 8.0.0-rc.28 ships, removed the positional module argument from dev and deploy. The CLI now reads the module from entry in the composer section of prisma.config.ts, or from --entry <path>, and fails with "No entry module is set" when neither is there. Composer 0.34.0 rejects entry in the section, so the pins and the template have to move together.

The other pins stay as they are. Composer 0.35.0 still depends on alchemy 2.0.0-beta.83 and effect 4.0.3, and @prisma/composer-prisma-cloud 0.35.0 still peers @prisma/orm-postgres 8.0.0-rc.20. bun run check:pins confirms both.

Composer 0.35.0 also addresses a node by its path from the app name, so dev's endpoint frame for the app service is now named <project>.app. The end-to-end test that waits for that frame now matches the full name. The scaffold itself prints no addresses.

The docs for the same release are prisma/web#8649, which describes the scaffold as it is after this PR.

Tests

  • Unit tests check the new pins, the scripts without module.ts, and that prisma.config.ts contains entry: "./module.ts".
  • bun run test:unit, bun run check, bun run typecheck and bun run check:pins pass.
  • The two end-to-end tests that run dev:composer pass. Before the endpoint-name fix, they timed out waiting for the frame. The other 10 end-to-end tests passed in the full run.
  • By hand: I scaffolded a Hono app with --no-deploy, built it, and ran prisma dev --detach. prisma dev url <project>.app printed its URL, and /users answered 200.

Agent: janeway-45

Composer 0.35.0, which prisma 8.0.0-rc.28 ships, removed the entry argument from prisma dev and prisma deploy. The scaffold's composer section now sets entry: "./module.ts", and its scripts and the post-scaffold deploy run the commands without it.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
Composer 0.35.0 names a node by its path from the app name, so dev's endpoint frame for the app service is <project>.app.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 5212336d-9ba7-4aed-a075-9a4edb28e5cc
Commits

Reviewing files that changed from the base of the PR and between 2daa8ee and e77082d.

Files selected for processing: 8
  • src/constants/dependencies.ts
  • src/tasks/composer/deploy-report.ts
  • src/tasks/deploy-with-composer.ts
  • src/tasks/install.ts
  • templates/create/_shared/prisma.config.ts.hbs
  • tests/dependencies.test.ts
  • tests/e2e/create-prisma.e2e.test.ts
  • tests/install.test.ts
Files with no reviewable changes: 1
  • src/tasks/deploy-with-composer.ts

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Summary by CodeRabbit

  • Updates

    • Updated generated projects to use the Prisma configuration’s module entry point.
    • Updated Prisma and Composer package versions.
  • Bug Fixes

    • Improved recognition of app endpoints with names ending in .app.
    • Updated Composer development and deployment commands to work with the current Prisma configuration.

Walkthrough

The changes update the pinned Composer and Prisma versions. The non-Deno Prisma configuration now sets the Composer entry point to ./module.ts. Composer-generated commands and deploy calls no longer pass module.ts as an argument. An end-to-end test now accepts endpoint names that end in .app.

Priority: Normal

Merge Risk: Minimal · up to e7708

No concrete merge-blocking issue is established by the reviewed changes.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly identifies the Composer 0.35 scaffold update and the move of the entry to prisma.config.ts.
Description check Passed The description directly explains the dependency updates, config entry change, script changes, endpoint test adjustment, rationale, and validation results.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 2 functions across 6 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
✨ Simplify code
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

PR preview published

  • Version: 0.14.5-pr.138.446.1
  • Tag: pr138
  • Run with Bun: bunx create-prisma@pr138
  • Run with npm: npx create-prisma@pr138
  • Run with Yarn: yarn dlx create-prisma@pr138
  • Run with pnpm: pnpm dlx create-prisma@pr138
  • Run with Deno: deno run -A --minimum-dependency-age=0 npm:create-prisma@pr138
  • Workflow run: https://github.com/prisma/create-prisma/actions/runs/40718544000

@wmadden-electric
wmadden-electric merged commit 9d54c02 into main Oct 28, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant