Skip to content

prisma 8.0.0-rc.19 cannot emit with @prisma/orm-postgres 8.0.0-rc.14 (bundles orm-toolchain rc.13): please release #327 #329

Description

@sss-Mihail-sss

Cross-posted from prisma/orm#30574, since the prisma package is published from this repository.

What happens

prisma@8.0.0-rc.19 (the current latest) cannot emit the contract of a project on @prisma/orm-postgres@8.0.0-rc.14 (the current latest there). Any contract fails, including a one-model TypeScript contract with no enums:

✘ [CONTRACT.PACK_CONTRIBUTION_INVALID] Malformed authoring pslBlock contribution at "enum". The value carries descriptor keys (kind/keyword/discriminator) but does not satisfy the pslBlock descriptor shape. Fix the contribution so it is a complete descriptor, or remove the stray keys if it was meant to be a sub-namespace.

The cause:

  • rc.19 pins @prisma/orm-toolchain@8.0.0-rc.13 and mounts it statically.
  • In @prisma/orm-family-sql@8.0.0-rc.14, the enum PSL block descriptor carries spec instead of parameters.
  • The rc.13 framework's isWellFormedDescriptor(value, "pslBlock") requires parameters, so it refuses the rc.14 family pack that @prisma/orm-postgres/config hands to the CLI.

The same project emits with @prisma/orm-postgres@8.0.0-rc.13. The reproduction is in prisma/orm#30574.

The fix is merged, not released

#327 (merged 2026-10-01) moves the CLI to @prisma/orm-toolchain@8.0.0-rc.14, which fixes this. No release contains it yet:

  • latest is 8.0.0-rc.19, from 2026-09-29;
  • dev is 8.0.0-rc.19-dev.136, which still depends on @prisma/orm-toolchain@8.0.0-rc.13-dev.7.

Could you publish a release with #327? Until then, an app on the latest ORM has to override the CLI's toolchain. We use, in pnpm-workspace.yaml:

overrides:
  "prisma>@prisma/orm-toolchain": 8.0.0-rc.14

With it, our app (a TypeScript contract with 42 models) emits a contract.json byte-identical to the rc.13 one, and migration status and db verify are clean.

Two suggestions beyond the release:

  • When the project's @prisma/orm-* version differs from the toolchain the CLI bundles, the CLI could say so ("this CLI's toolchain is 8.0.0-rc.13, the project's @prisma/orm-postgres is 8.0.0-rc.14"). Today the only sign is a pack-contribution error that points at the user's contract.
  • @prisma/composer-cli@0.25.0 still peers @prisma/cli-engine@0.6.1, so pnpm warns on every install of rc.19. That is tracked in Remove the engine 0.6.2 conformance exceptions once both families peer 0.6.2 #314.

Environment

  • prisma 8.0.0-rc.19, @prisma/orm-postgres 8.0.0-rc.14, @prisma/cli-engine 0.6.2
  • Node 26.8.2, macOS 27.0.1, pnpm 12.5.1 and 12.6.0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions