chore: create new projects with Prisma ORM 8.0.0-rc.12, prisma 8.0.0-rc.17 and Composer 0.23.0 - #113
Conversation
…ma 8.0.0-rc.17 Composer moves with the ORM because @prisma/composer-prisma-cloud pins @prisma/orm-postgres as an exact peer dependency, and 0.23.0 is the release that accepts 8.0.0-rc.12. alchemy and effect follow the versions Composer 0.23.0 depends on. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: willbot <w.a.madden+machine@gmail.com> Signed-off-by: Will Madden <madden@prisma.io>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (5)
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
WalkthroughDependency pins were updated for the Prisma Composer packages, Prisma ORM packages, Alchemy, Effect, and Prisma CLI. The pnpm workspace Effect override was also updated. Dependency, end-to-end, and install tests now expect the corresponding versions. Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to The PR updates scaffold dependency pins and matching expectations. The inspected package requirements align, with no new install incompatibility evident; it is ready for normal checks. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 3 systems. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
PR preview published
|
At a glance
create-prismawrites exact package versions into every project it creates. This pull request changes seven of them:@prisma/orm-postgres8.0.0-rc.118.0.0-rc.12@prisma/orm-mongo8.0.0-rc.118.0.0-rc.12prisma8.0.0-rc.158.0.0-rc.17@prisma/composer0.20.00.23.0@prisma/composer-prisma-cloud0.20.00.23.0alchemy2.0.0-beta.742.0.0-beta.78effect(override in the new project)4.0.0-rc.1124.0.0-rc.115What this does
New projects now use Prisma ORM
8.0.0-rc.12, theprismacommand-line tool8.0.0-rc.17, and Prisma Composer0.23.0. No template code changes, apart from theeffectversion. The change shipped increate-prisma0.13.3.Why
The Prisma documentation describes Prisma ORM
8.0.0-rc.12. In that release, amodel Userin the Prisma schema that has no@@mapattribute creates the table"User". In8.0.0-rc.11it created the table"user". A project created bycreate-prisma0.13.2 used8.0.0-rc.11, so it did not behave as the documentation says.The old versions also blocked an upgrade. In a project created by 0.13.2,
npm install -D prisma@latestfailed withERESOLVE, because the exact versions in the project did not accept the newerprismapackage.Why the other packages move
The
prismapackage bundles a toolchain that is tested against one ORM release only, so it moves together with the ORM packages.bun run check:pinschecks that the two match.Prisma Composer is the deploy tool that new projects install. Its package
@prisma/composer-prisma-clouddeclares@prisma/orm-postgresas a peer dependency with an exact version. Version 0.20.0 requires8.0.0-rc.11, and so does 0.22.0. Version 0.23.0 requires8.0.0-rc.12. So the ORM cannot move unless Composer moves too.alchemy2.0.0-beta.78andeffect4.0.0-rc.115are the exact versions that Composer 0.23.0 depends on. New projects also force a singleeffectversion through an override, so that override changes intemplates/create/_package-manager/pnpm-workspace.yaml.hbsas well.Files changed
src/constants/dependencies.tsholds the versions.templates/create/_package-manager/pnpm-workspace.yaml.hbsholds theeffectoverride.Why the templates need no other change
8.0.0-rc.12changes more than table names. The templates do not use any of the changed features:migration new, reads aMIGRATION.*error code, calls.defaultSql(...), or callsprepare(...).templates/create/_shared/prisma.config.ts.hbsalready importsdefinePrismaConfig.prisma orm initand the installed toolchain write them when the project is created, so they always match the installed versions.What was checked
bun run check,bun run typecheck,bun run check:pins,bun run build,bun run test:unit(86 tests passed) andbun run test:e2e(11 tests passed).minimaltemplate with PostgreSQL and npm, and run against a PostgreSQL 17 container.prisma contract emit,prisma db migrate(1 migration, 6 operations),prisma migration statusandprisma db verifyall passed. The server returned the three sample users from the table"User".npm install -D prisma@latestsucceeded in that project.minimaltemplate with MongoDB and bun. It passed the type check.What this does not do
Creating a MongoDB project with npm fails with
ERESOLVE.alchemydeclares an optional peer dependencymongodb@^6.10.0, and@prisma/orm-mongorequiresmongodb@^7.0.0. The same failure happens with the versions from before this pull request, so this pull request does not cause it and does not fix it. Issue #114 tracks it, and #116 proposes a fix.🤖 Generated with Claude Code