Skip to content

fix(build): development declaration stubs#4753

Merged
yaacovCR merged 1 commit into
graphql:17.x.xfrom
yaacovCR:fix-build
May 18, 2026
Merged

fix(build): development declaration stubs#4753
yaacovCR merged 1 commit into
graphql:17.x.xfrom
yaacovCR:fix-build

Conversation

@yaacovCR
Copy link
Copy Markdown
Contributor

Description

This fixes TypeScript resolution for the package’s development export condition when consumers use moduleResolution: "node16".

Before this change, the generated development declaration stubs always re-exported the ESM entrypoint:

// __dev__/index.d.ts
export * from '../index.mjs';

That worked for ESM declaration stubs, but it broke CommonJS TypeScript consumers. In a .cts project using:

{
  "compilerOptions": {
    "customConditions": ["development"],
    "module": "node16",
    "moduleResolution": "node16"
  }
}

TypeScript resolves graphql through the development condition to the CommonJS dev entrypoint, then reads __dev__/index.d.ts. Because that .d.ts re-exported ../index.mjs, TS reported:

error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls;
however, the referenced file is an ECMAScript module and cannot be imported with 'require'.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 18, 2026

@yaacovCR is attempting to deploy a commit to the The GraphQL Foundation Team on Vercel.

A member of the Team first needs to authorize it.

@yaacovCR yaacovCR added the PR: bug fix 🐞 requires increase of "patch" version number label May 18, 2026
@yaacovCR yaacovCR merged commit 8f01dd2 into graphql:17.x.x May 18, 2026
22 of 23 checks passed
@yaacovCR yaacovCR deleted the fix-build branch May 18, 2026 21:48
yaacovCR added a commit that referenced this pull request Jun 1, 2026
## v17.0.0-beta.2 (2026-06-02)

#### Breaking Change 💥
* [#4751](#4751) build: strip private discriminator from package types ([@yaacovCR](https://github.com/yaacovCR))
* [#4752](#4752) fix: discriminate between GraphQLNonNull and GraphQLList ([@yaacovCR](https://github.com/yaacovCR))
* [#4770](#4770) refactor: extract ExecutionArgs types to separate file ([@yaacovCR](https://github.com/yaacovCR))

#### New Feature 🚀
* [#4485](#4485) Adopt Error.cause in favor of originalError ([@Malien](https://github.com/Malien))

#### Bug Fix 🐞
* [#4739](#4739) chore(tests): add test for directive extensions without flag enabled (#4738) ([@yaacovCR](https://github.com/yaacovCR))
* [#4743](#4743) api: export VariableValues ([@yaacovCR](https://github.com/yaacovCR))
* [#4744](#4744) api: export ValidationOptions ([@yaacovCR](https://github.com/yaacovCR))
* [#4745](#4745) api: export SchemaChange ([@yaacovCR](https://github.com/yaacovCR))
* [#4746](#4746) api: export defer and stream validation rules ([@yaacovCR](https://github.com/yaacovCR))
* [#4747](#4747) api: export legacy incremental execution functions and helpers ([@yaacovCR](https://github.com/yaacovCR))
* [#4753](#4753) fix(build): development declaration stubs ([@yaacovCR](https://github.com/yaacovCR))
* [#4773](#4773) fix: FragmentVariableValueSource.value can be non-constant ([@yaacovCR](https://github.com/yaacovCR))
* [#4775](#4775) fix: remove unnecessary native promise coercion ([@yaacovCR](https://github.com/yaacovCR))

#### Docs 📝
<details>
<summary> 3 PRs were merged </summary>

* [#4742](#4742) docs: add v17 API docs lint coverage ([@yaacovCR](https://github.com/yaacovCR))
* [#4756](#4756) docs: hide private internals `schema.__validationErrors` and `inputValue._memoizedCoercedDefaultValue` ([@yaacovCR](https://github.com/yaacovCR))
* [#4758](#4758) docs: fix inline examples, deprecation descriptions, type category ([@yaacovCR](https://github.com/yaacovCR))
</details>

#### Polish 💅
* [#4774](#4774) test: restore GraphQLError no-stack coverage ([@yaacovCR](https://github.com/yaacovCR))

#### Internal 🏠
<details>
<summary> 3 PRs were merged </summary>

* [#4771](#4771) internal: drop node 20 integration tests ([@yaacovCR](https://github.com/yaacovCR))
* [#4772](#4772) internal: add deno 2.8.x to CI ([@yaacovCR](https://github.com/yaacovCR))
* [#4777](#4777) fix: preserve generated version documentation ([@yaacovCR](https://github.com/yaacovCR))
</details>

#### Committers: 2
* Yaacov Rydzinski ([@yaacovCR](https://github.com/yaacovCR))
* Yaroslav Petryk([@Malien](https://github.com/Malien))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: bug fix 🐞 requires increase of "patch" version number

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant