Skip to content

Upgrade to TypeScript 7; make the prisma generator TS7-proof - #1641

Merged
hayes merged 5 commits into
mainfrom
typescript-7
Jul 8, 2026
Merged

Upgrade to TypeScript 7; make the prisma generator TS7-proof#1641
hayes merged 5 commits into
mainfrom
typescript-7

Conversation

@hayes

@hayes hayes commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Fixes #1640.

Prisma generator (#1640)

TypeScript 7 ships no in-process JS compiler API (@typescript/api is deferred to 7.1 and is query-oriented, not emit-oriented), so the generator's ts.factory/createPrinter usage could never work for users on TS7. The generator now emits its output via string templates — the same approach Prisma's own client generator uses (ts-builders).

  • Output verified byte-identical to the old printer output across all four generator configurations in the repo (source provider + documentation, built bin + generateDatamodel, prismaUtils: true, and the default-output path with CJS/ESM .js companions).
  • typescript removed from @pothos/plugin-prisma's peer dependencies — the generator no longer cares which TS version (if any) is installed.

Import extensions enforced by lint; esm-transformer deleted

Biome's correctness/useImportExtensions (forceJsExtensions: true, scoped to packages/*/src) now enforces explicit .js extensions in source (~600 imports auto-fixed). With extensioned sources, swc's ESM output and tsc's declaration emit (including synthesized import("...") type nodes) come out fully extensioned on their own, so scripts/esm-transformer.ts and the esm:extensions step in every package are deleted. Audited all esm/ + dts/ output: zero extensionless relative specifiers remain.

TypeScript 7 toolchain

  • Root typescript^7.0.2 (real package; tsc is the Go compiler). @typescript/native-preview and the typescript6 alias removed.
  • tsgotsc in all package type/build:dts scripts and vitest typecheck.checker.
  • Prisma schema providers run the source generator via tsx (replacing node -r @swc-node/register, which requires the removed JS API); @swc-node/register dropped.
  • Intentional TS6 pins remain where the JS API is genuinely needed: website/ + 4 examples (own typescript ^6.0.2 devDeps), and the prisma-utils example codegen (imports @typescript/typescript6).

plugin-relay: TS6↔TS7 checker divergences

Two errors appear under 7.0.2 stable (and 7.1 nightly) in code that TS 6.0.2 checks clean. Both match typescript-go's bug cluster (cf. microsoft/typescript-go#3494, #3747, #4408) rather than intentional changes, contradicting the project's "same errors as TS 6.0" parity goal — likely worth filing a minimal repro upstream.

  • node()objectType(): TS7 infers objectType's Param from the options/fields positions instead of the ref argument. Fixed with explicit type arguments — no type-safety change.
  • relayMutationField: TS7 can't relate the declared Resolver conditional return type to the impl-side one — even passing the untouched resolve value fails, so no restructuring can satisfy it. The wrapper is now annotated : typeof resolve (fully checked; this removed a pre-existing fieldArgs as never) with one documented cast at the property assignment.

Verification

  • 86/86 turbo tasks green: generate, build, type, test across all 28 packages (test files type-checked under TS7 too).
  • Generator output byte-identical (committed generated.ts baselines unchanged after regeneration through both the source provider and the compiled bin).
  • plugin-relay checks clean under both tsc 7.0.2 and tsc6 6.0.2.
  • Biome clean on all touched files.

🤖 Generated with Claude Code

- prisma generator emits via string templates (byte-identical output);
  typescript peer dependency removed from @pothos/plugin-prisma (#1640)
- enforce .js import extensions via biome useImportExtensions
  (forceJsExtensions) in packages/*/src; delete scripts/esm-transformer.ts
  and the esm:extensions build step in all packages
- root typescript -> ^7.0.2; tsgo -> tsc in package scripts and vitest
  checkers; prisma schema providers run the generator via tsx;
  @swc-node/register and @typescript/native-preview removed
- plugin-relay: fix two TS6/TS7 checker divergences (explicit type args
  for objectType inference; resolver wrapper checked against typeof
  resolve with one documented cast)
- prisma-utils example codegen pinned to @typescript/typescript6

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Jul 8, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: f575a92

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 42 packages
Name Type
@pothos/converter Patch
@pothos/core Patch
@pothos/plugin-add-graphql Patch
@pothos/plugin-complexity Patch
@pothos/plugin-dataloader Patch
@pothos/plugin-directives Patch
@pothos/plugin-drizzle Patch
@pothos/plugin-errors Patch
@pothos/plugin-example Patch
@pothos/plugin-federation Patch
@pothos/plugin-grafast Patch
@pothos/plugin-mocks Patch
@pothos/plugin-prisma-utils Patch
@pothos/plugin-prisma Minor
@pothos/plugin-relay Patch
@pothos/plugin-scope-auth Patch
@pothos/plugin-simple-objects Patch
@pothos/plugin-smart-subscriptions Patch
@pothos/plugin-sub-graph Patch
@pothos/plugin-tracing Patch
@pothos/plugin-validation Patch
@pothos/plugin-with-input Patch
@pothos/plugin-zod Patch
@pothos/test-utils Patch
@pothos/tracing-newrelic Patch
@pothos/tracing-opentelemetry Patch
@pothos/tracing-sentry Patch
@pothos/tracing-xray Patch
@pothos-examples/complex-app Patch
@pothos-examples/fastify-mercurius Patch
@pothos-examples/federation Patch
@pothos-examples/nestjs-apollo-middleware Patch
@pothos-examples/nextjs Patch
@pothos-examples/open-telemetry Patch
@pothos-examples/prisma-federation Patch
@pothos-examples/prisma-relay Patch
@pothos-examples/prisma-smart-subscriptions Patch
@pothos-examples/prisma-subscriptions Patch
@pothos-examples/prisma Patch
@pothos-examples/relay-windowed-pagination Patch
@pothos-examples/simple-classes Patch
@pothos-examples/simple-interfaces Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pothos Ready Ready Preview, Comment Jul 8, 2026 11:02pm

@pkg-pr-new

pkg-pr-new Bot commented Jul 8, 2026

Copy link
Copy Markdown

Open in StackBlitz

@pothos/core

npm i https://pkg.pr.new/@pothos/core@1641

@pothos/plugin-add-graphql

npm i https://pkg.pr.new/@pothos/plugin-add-graphql@1641

@pothos/plugin-complexity

npm i https://pkg.pr.new/@pothos/plugin-complexity@1641

@pothos/plugin-dataloader

npm i https://pkg.pr.new/@pothos/plugin-dataloader@1641

@pothos/plugin-directives

npm i https://pkg.pr.new/@pothos/plugin-directives@1641

@pothos/plugin-drizzle

npm i https://pkg.pr.new/@pothos/plugin-drizzle@1641

@pothos/plugin-errors

npm i https://pkg.pr.new/@pothos/plugin-errors@1641

@pothos/plugin-example

npm i https://pkg.pr.new/@pothos/plugin-example@1641

@pothos/plugin-federation

npm i https://pkg.pr.new/@pothos/plugin-federation@1641

@pothos/plugin-grafast

npm i https://pkg.pr.new/@pothos/plugin-grafast@1641

@pothos/plugin-mocks

npm i https://pkg.pr.new/@pothos/plugin-mocks@1641

@pothos/plugin-prisma

npm i https://pkg.pr.new/@pothos/plugin-prisma@1641

@pothos/plugin-prisma-utils

npm i https://pkg.pr.new/@pothos/plugin-prisma-utils@1641

@pothos/plugin-relay

npm i https://pkg.pr.new/@pothos/plugin-relay@1641

@pothos/plugin-scope-auth

npm i https://pkg.pr.new/@pothos/plugin-scope-auth@1641

@pothos/plugin-simple-objects

npm i https://pkg.pr.new/@pothos/plugin-simple-objects@1641

@pothos/plugin-smart-subscriptions

npm i https://pkg.pr.new/@pothos/plugin-smart-subscriptions@1641

@pothos/plugin-sub-graph

npm i https://pkg.pr.new/@pothos/plugin-sub-graph@1641

@pothos/plugin-tracing

npm i https://pkg.pr.new/@pothos/plugin-tracing@1641

@pothos/plugin-validation

npm i https://pkg.pr.new/@pothos/plugin-validation@1641

@pothos/plugin-with-input

npm i https://pkg.pr.new/@pothos/plugin-with-input@1641

@pothos/plugin-zod

npm i https://pkg.pr.new/@pothos/plugin-zod@1641

@pothos/tracing-newrelic

npm i https://pkg.pr.new/@pothos/tracing-newrelic@1641

@pothos/tracing-opentelemetry

npm i https://pkg.pr.new/@pothos/tracing-opentelemetry@1641

@pothos/tracing-sentry

npm i https://pkg.pr.new/@pothos/tracing-sentry@1641

@pothos/tracing-xray

npm i https://pkg.pr.new/@pothos/tracing-xray@1641

commit: f575a92

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@hayes
hayes marked this pull request as ready for review July 8, 2026 22:50
@hayes
hayes requested a review from Copilot July 8, 2026 22:50
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the monorepo to work cleanly with TypeScript 7 (typescript-go), including removing reliance on the removed in-process TypeScript compiler JS APIs, standardizing build/typecheck tooling around tsc, and enforcing explicit .js import extensions in source to keep emitted ESM/CJS + .d.ts outputs consistently extensioned.

Changes:

  • Reworked @pothos/plugin-prisma’s generator to emit output via string templates (no runtime typescript dependency / no compiler API usage).
  • Enforced .js import extensions across packages/*/src (Biome rule + widespread import/export updates) and removed the scripts/esm-transformer.ts post-step.
  • Switched repo/package typecheck & dts build scripts from tsgo to tsc, and applied TS7-related type-checker fixes in @pothos/plugin-relay.

Reviewed changes

Copilot reviewed 235 out of 236 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
vitest.config.mjs Switch Vitest typecheck checker to tsc.
scripts/esm-transformer.ts Removed now-unneeded ESM import-specifier post-transformer.
pnpm-lock.yaml Lockfile updates for TS7 and removed tooling deps.
packages/tracing-xray/src/index.ts Add explicit .js import/export extensions.
packages/tracing-xray/package.json Switch scripts to tsc; remove esm:extensions step.
packages/tracing-sentry/src/index.ts Add explicit .js import/export extensions.
packages/tracing-sentry/package.json Switch scripts to tsc; remove esm:extensions step.
packages/tracing-opentelemetry/src/index.ts Add explicit .js import/export extensions.
packages/tracing-opentelemetry/package.json Switch scripts to tsc; remove esm:extensions step.
packages/tracing-newrelic/src/index.ts Add explicit .js import/export extensions.
packages/tracing-newrelic/package.json Switch scripts to tsc; remove esm:extensions step.
packages/test-utils/src/index.ts Add explicit .js export extensions.
packages/test-utils/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-zod/src/index.ts Add explicit .js import/export extensions.
packages/plugin-zod/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-zod/src/createZodSchema.ts Add explicit .js type import extension.
packages/plugin-zod/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-with-input/src/index.ts Add explicit .js import/export extensions.
packages/plugin-with-input/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-with-input/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-validation/src/utils.ts Add explicit .js type import extension.
packages/plugin-validation/src/types.ts Add explicit .js type import extension.
packages/plugin-validation/src/methods.ts Add explicit .js type import extension.
packages/plugin-validation/src/index.ts Add explicit .js import/export extensions.
packages/plugin-validation/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-validation/src/errors.ts Add explicit .js type import extension.
packages/plugin-validation/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-tracing/src/index.ts Add explicit .js import/export extensions.
packages/plugin-tracing/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-tracing/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-sub-graph/src/index.ts Add explicit .js import extension.
packages/plugin-sub-graph/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-sub-graph/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-smart-subscriptions/src/utils.ts Add explicit .js type import extension.
packages/plugin-smart-subscriptions/src/types.ts Add explicit .js type import extensions / updated manager paths.
packages/plugin-smart-subscriptions/src/resolve-with-cache.ts Add explicit .js type import extensions.
packages/plugin-smart-subscriptions/src/manager/type.ts Add explicit .js type import extensions.
packages/plugin-smart-subscriptions/src/manager/index.ts Add explicit .js type import extension.
packages/plugin-smart-subscriptions/src/manager/field.ts Add explicit .js type import extensions.
packages/plugin-smart-subscriptions/src/manager/base.ts Add explicit .js type import extensions.
packages/plugin-smart-subscriptions/src/index.ts Add explicit .js import/export extensions.
packages/plugin-smart-subscriptions/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-smart-subscriptions/src/create-field-data.ts Add explicit .js import/type import extensions.
packages/plugin-smart-subscriptions/src/cache.ts Add explicit .js import/type import extensions.
packages/plugin-smart-subscriptions/src/cache-node.ts Add explicit .js import/type import extensions.
packages/plugin-smart-subscriptions/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-simple-objects/src/index.ts Add explicit .js import extension.
packages/plugin-simple-objects/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-simple-objects/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-scope-auth/src/util.ts Fix type-only import to use explicit .js path.
packages/plugin-scope-auth/src/types.ts Add explicit .js type import extension.
packages/plugin-scope-auth/src/steps.ts Add explicit .js type import extension.
packages/plugin-scope-auth/src/schema-builder.ts Add explicit .js import/type import extensions.
packages/plugin-scope-auth/src/resolve-helper.ts Add explicit .js import/type import extensions.
packages/plugin-scope-auth/src/request-cache.ts Add explicit .js import/type import extensions.
packages/plugin-scope-auth/src/is-type-of-helper.ts Add explicit .js import/type import extensions.
packages/plugin-scope-auth/src/index.ts Add explicit .js import/export extensions.
packages/plugin-scope-auth/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-scope-auth/src/errors.ts Add explicit .js import/type import extensions.
packages/plugin-scope-auth/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-relay/src/utils/resolve-nodes.ts Add explicit .js type import extension.
packages/plugin-relay/src/utils/internal.ts Add explicit .js import extension.
packages/plugin-relay/src/utils/index.ts Add explicit .js export extensions.
packages/plugin-relay/src/utils/connections.ts Add explicit .js type import extension.
packages/plugin-relay/src/utils/add-node-props.ts Add explicit .js type import extension.
packages/plugin-relay/src/schema-builder.ts TS7 type-check fixes + explicit .js imports; wrapped resolver.
packages/plugin-relay/src/node-ref.ts Add explicit .js import/type import extensions.
packages/plugin-relay/src/input-field-builder.ts Add explicit .js type import extension.
packages/plugin-relay/src/index.ts Add explicit .js import/export extensions.
packages/plugin-relay/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-relay/src/field-builder.ts Add explicit .js import/type import extensions.
packages/plugin-relay/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-prisma/tests/prisma-types-from-client/schema.prisma Run source generator via tsx instead of swc-node register.
packages/plugin-prisma/src/util/selections.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/util/relation-map.ts Add explicit .js type import extension.
packages/plugin-prisma/src/util/map-query.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/util/loader-map.ts Add explicit .js type import extension.
packages/plugin-prisma/src/util/get-client.ts Add explicit .js type import extension.
packages/plugin-prisma/src/util/description.ts Add explicit .js import extension.
packages/plugin-prisma/src/util/datamodel.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/util/cursors.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/types.ts Add explicit .js type import extensions.
packages/plugin-prisma/src/schema-builder.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/prisma-field-builder.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/object-ref.ts Add explicit .js type import extension.
packages/plugin-prisma/src/node-ref.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/model-loader.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/interface-ref.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/index.ts Add explicit .js import/export extensions.
packages/plugin-prisma/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-prisma/src/generator.ts Replace TS compiler API emit with string-template emit (TS7-proof).
packages/plugin-prisma/src/field-builder.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/src/connection-helpers.ts Add explicit .js import/type import extensions.
packages/plugin-prisma/prisma/schema.prisma Run generator via tsx instead of swc-node register.
packages/plugin-prisma/package.json Remove typescript peer dep; switch scripts to tsc; remove esm:extensions step.
packages/plugin-prisma-utils/tests/examples/codegen/util.ts Pin TS compiler API usage to @typescript/typescript6.
packages/plugin-prisma-utils/tests/examples/codegen/generator.ts Pin TS types to @typescript/typescript6 for compiler API typing.
packages/plugin-prisma-utils/src/schema-builder.ts Add explicit .js type import extension.
packages/plugin-prisma-utils/src/index.ts Add explicit .js import/export extensions.
packages/plugin-prisma-utils/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-prisma-utils/package.json Switch scripts to tsc; add @typescript/typescript6; remove ts-node/typescript 6 dev deps.
packages/plugin-mocks/src/index.ts Add explicit .js import/type import extension.
packages/plugin-mocks/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-mocks/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-grafast/src/index.ts Add explicit .js import/type import extension.
packages/plugin-grafast/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-grafast/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-federation/vitest.config.js Switch Vitest typecheck checker to tsc.
packages/plugin-federation/src/util.ts Add explicit .js type import extension.
packages/plugin-federation/src/types.ts Add explicit .js import extension.
packages/plugin-federation/src/schema-builder.ts Add explicit .js import/type import extensions.
packages/plugin-federation/src/index.ts Add explicit .js import/export extensions.
packages/plugin-federation/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-federation/src/external-ref.ts Add explicit .js import/type import extensions.
packages/plugin-federation/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-example/src/index.ts Add explicit .js import/export extension.
packages/plugin-example/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-example/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-errors/src/utils.ts Add explicit .js type import extension.
packages/plugin-errors/src/schema-builder.ts Add explicit .js import extension.
packages/plugin-errors/src/index.ts Add explicit .js import/export extensions.
packages/plugin-errors/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-errors/src/field-builder.ts Add explicit .js import/type import extension.
packages/plugin-errors/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-drizzle/src/utils/selections.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/src/utils/refs.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/src/utils/map-query.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/src/utils/cursors.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/src/utils/config.ts Add explicit .js type import extension.
packages/plugin-drizzle/src/types.ts Add explicit .js type import extensions / export paths.
packages/plugin-drizzle/src/schema-builder.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/src/object-ref.ts Add explicit .js type import extension.
packages/plugin-drizzle/src/node-ref.ts Add explicit .js import extension.
packages/plugin-drizzle/src/model-loader.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/src/interface-ref.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/src/index.ts Add explicit .js import/export extensions.
packages/plugin-drizzle/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-drizzle/src/field-builder.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/src/drizzle-field-builder.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/src/connection-helpers.ts Add explicit .js import/type import extensions.
packages/plugin-drizzle/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-directives/vitest.config.js Switch Vitest typecheck checker to tsc.
packages/plugin-directives/src/mock-ast.ts Add explicit .js import/type import extension.
packages/plugin-directives/src/index.ts Add explicit .js import/export extensions.
packages/plugin-directives/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-directives/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-dataloader/src/schema-builder.ts Add explicit .js import/type import extensions.
packages/plugin-dataloader/src/refs/object.ts Add explicit .js import/type import extensions.
packages/plugin-dataloader/src/refs/node.ts Add explicit .js import/type import extensions.
packages/plugin-dataloader/src/refs/interface.ts Add explicit .js type import extensions.
packages/plugin-dataloader/src/refs/index.ts Add explicit .js export extensions.
packages/plugin-dataloader/src/index.ts Add explicit .js import/export extensions.
packages/plugin-dataloader/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-dataloader/src/field-builder.ts Add explicit .js import/type import extension.
packages/plugin-dataloader/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-complexity/src/validator.ts Add explicit .js import extensions.
packages/plugin-complexity/src/util.ts Add explicit .js import extensions.
packages/plugin-complexity/src/index.ts Add explicit .js import/export extensions.
packages/plugin-complexity/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-complexity/src/calculate-complexity.ts Fix type-only import paths for .js extensions.
packages/plugin-complexity/package.json Switch scripts to tsc; remove esm:extensions step.
packages/plugin-add-graphql/src/schema-builder.ts Add explicit .js import/type import extensions.
packages/plugin-add-graphql/src/index.ts Add explicit .js import extensions.
packages/plugin-add-graphql/src/global-types.ts Fix type-only imports to use explicit .js paths.
packages/plugin-add-graphql/package.json Switch scripts to tsc; remove esm:extensions step.
packages/core/src/utils/params.ts Add explicit .js / types/index.js import paths.
packages/core/src/utils/input.ts Add explicit .js / types/index.js import paths.
packages/core/src/utils/index.ts Add explicit .js / types/index.js import paths and reexports.
packages/core/src/utils/enums.ts Update type import path to types/index.js.
packages/core/src/utils/base64.ts Add explicit .js import extension.
packages/core/src/types/type-params.ts Add explicit .js type import extensions.
packages/core/src/types/schema-types.ts Add explicit .js type import extension.
packages/core/src/types/plugins.ts Add explicit .js type import extensions.
packages/core/src/types/index.ts Update global type side-effect import to explicit .js.
packages/core/src/types/global/type-options.ts Add explicit .js type import extensions.
packages/core/src/types/global/schema-types.ts Add explicit .js type import extensions.
packages/core/src/types/global/index.ts Add explicit .js side-effect import extensions.
packages/core/src/types/global/field-options.ts Add explicit .js type import extensions.
packages/core/src/types/global/classes.ts Add explicit .js type import extensions across core types.
packages/core/src/types/configs.ts Add explicit .js type import extensions.
packages/core/src/types/builder-options.ts Add explicit .js type import extensions.
packages/core/src/refs/union.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/subscription.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/scalar.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/query.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/output.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/object.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/mutation.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/list.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/interface.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/input.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/input-object.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/input-list.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/input-field.ts Update type import path to types/index.js.
packages/core/src/refs/field.ts Update type import path to types/index.js.
packages/core/src/refs/enum.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/builtin-scalar.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/base.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/base-with-fields.ts Add explicit .js / types/index.js import paths.
packages/core/src/refs/arg.ts Update type import path to types/index.js.
packages/core/src/plugins/plugin.ts Add explicit .js / types/index.js import paths.
packages/core/src/plugins/merge-plugins.ts Add explicit .js / index reexport import paths.
packages/core/src/plugins/index.ts Add explicit .js export extensions.
packages/core/src/index.ts Add explicit .js import/export paths across core entrypoint.
packages/core/src/fieldUtils/subscription.ts Add explicit .js / types/index.js import paths.
packages/core/src/fieldUtils/root.ts Add explicit .js / types/index.js import paths.
packages/core/src/fieldUtils/query.ts Add explicit .js / types/index.js import paths.
packages/core/src/fieldUtils/object.ts Add explicit .js / types/index.js import paths.
packages/core/src/fieldUtils/mutation.ts Add explicit .js / types/index.js import paths.
packages/core/src/fieldUtils/interface.ts Add explicit .js / types/index.js import paths.
packages/core/src/fieldUtils/input.ts Add explicit .js / types/index.js import paths.
packages/core/src/fieldUtils/builder.ts Add explicit .js / types/index.js import paths.
packages/core/src/fieldUtils/base.ts Add explicit .js / types/index.js import paths.
packages/core/src/config-store.ts Add explicit .js / types/index.js import paths.
packages/core/src/builder.ts Add explicit .js / types/index.js import paths across core builder.
packages/core/src/build-cache.ts Add explicit .js / types/index.js import paths across build cache.
packages/core/package.json Switch scripts to tsc; remove esm:extensions step.
packages/converter/src/cli.ts Add explicit .js import extension for local index.
packages/converter/package.json Switch scripts to tsc; remove esm:extensions step.
package.json Upgrade root typescript to ^7.0.2 and remove tsgo/swc-node preview tooling deps.
biome.json Enforce .js import extensions under packages/*/src via Biome lint rule.
.changeset/typescript-7-support.md Changeset for TS7 support (prisma generator + relay fixes).
.changeset/typescript-7-build-tooling.md Changeset for TS7 rebuild + .js import extension enforcement.
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/plugin-relay/src/schema-builder.ts
…of never

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@hayes
hayes merged commit 6f97cbb into main Jul 8, 2026
6 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.

Prisma Plugin: TS 7 support

2 participants