Skip to content

Move react-runtime-compiler from peerDependencies to dependencies#4140

Merged
dimaMachina merged 2 commits into
graphql:mainfrom
trevor-scheer:fix/react-compiler-runtime-dependency
Apr 17, 2026
Merged

Move react-runtime-compiler from peerDependencies to dependencies#4140
dimaMachina merged 2 commits into
graphql:mainfrom
trevor-scheer:fix/react-compiler-runtime-dependency

Conversation

@trevor-scheer

@trevor-scheer trevor-scheer commented Dec 16, 2025

Copy link
Copy Markdown
Contributor

Having react-runtime-compiler as a peer dependency is not recommended by the react docs.

The current state forces library consumers to install the exact RC that's pinned (19.1.0-rc.1), so at the very least this should be careted (if this is currently a peer for technical reasons).

@changeset-bot

changeset-bot Bot commented Dec 16, 2025

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2f35974

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

This PR includes changesets to release 3 packages
Name Type
@graphiql/plugin-doc-explorer Patch
@graphiql/plugin-history Patch
@graphiql/react 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

@trevor-scheer

Copy link
Copy Markdown
Contributor Author

@dimaMachina are you the right person to ping about this?

@trevor-scheer

Copy link
Copy Markdown
Contributor Author

@benjie this is a very small and straightforward change. What's my best course of action for getting this landed and released?

@dimaMachina dimaMachina merged commit 40359eb into graphql:main Apr 17, 2026
15 checks passed
@acao acao mentioned this pull request Apr 17, 2026
@acao acao mentioned this pull request May 7, 2026
@acao acao mentioned this pull request May 8, 2026
This was referenced May 9, 2026
benjie pushed a commit that referenced this pull request May 11, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @graphiql/toolkit@0.12.0

### Minor Changes

- [#4199](#4199)
[`463df14`](463df14)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Send
spec-compliant `Accept` header (`application/graphql-response+json`) in
`createSimpleFetcher`

## codemirror-graphql@2.2.5

### Patch Changes

- Updated dependencies
\[[`914a547`](914a547),
[`10f66d5`](10f66d5)]:
    -   graphql-language-service@5.5.1

## graphiql@5.2.3

### Patch Changes

- [#4181](#4181)
[`f1a210e`](f1a210e)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Fix schema
prop to skip introspection when IntrospectionQuery data is provided

Previously, passing an `IntrospectionQuery` result as the `schema` prop
would still trigger a network introspection request. The
`shouldIntrospect` check only recognized `GraphQLSchema` instances (via
`isSchema`), not raw introspection data. Now, when an
`IntrospectionQuery` is passed, a schema is built from it directly using
`buildClientSchema` and introspection is skipped.

- [#4211](#4211)
[`e7b30c1`](e7b30c1)
Thanks [@davidjb](https://github.com/davidjb)! - Add \*.css to
sideEffects to allow import of CSS in Webpack Javascript

- Updated dependencies
\[[`f1a210e`](f1a210e),
[`6f5d5d2`](6f5d5d2),
[`40359eb`](40359eb),
[`e7b30c1`](e7b30c1)]:
    -   @graphiql/react@0.37.4
    -   @graphiql/plugin-doc-explorer@0.4.2
    -   @graphiql/plugin-history@0.4.2

## @graphiql/plugin-code-exporter@5.1.2

### Patch Changes

- [#4211](#4211)
[`e7b30c1`](e7b30c1)
Thanks [@davidjb](https://github.com/davidjb)! - Add \*.css to
sideEffects to allow import of CSS in Webpack Javascript

## @graphiql/plugin-doc-explorer@0.4.2

### Patch Changes

- [#4231](#4231)
[`6f5d5d2`](6f5d5d2)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Fix
degraded type declarations in published packages

Both packages import from `@graphiql/react` at build time but only
declared it as a peer dependency. Yarn workspaces topologically orders
builds via `dependencies`/`devDependencies`, not `peerDependencies`, so
on a clean checkout these plugins built before `@graphiql/react` had
emitted its `dist/*.d.ts`. `vite-plugin-dts` then ran `tsc` against
unresolved `@graphiql/react` imports, fell back to `any` for any return
type that flowed through `useGraphiQL`, and published `.d.ts` artifacts
where hooks like `useDocExplorer` and `useDocExplorerActions` resolved
to `() => any` instead of their real shapes.

Adding `@graphiql/react` as a `devDependency` matches the pattern
already in `@graphiql/plugin-explorer` and
`@graphiql/plugin-code-exporter` and lets the build run in topological
order.

- [#4140](#4140)
[`40359eb`](40359eb)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Remove
`react-compiler-runtime` peer dependency

- [#4211](#4211)
[`e7b30c1`](e7b30c1)
Thanks [@davidjb](https://github.com/davidjb)! - Add \*.css to
sideEffects to allow import of CSS in Webpack Javascript

## @graphiql/plugin-explorer@5.1.2

### Patch Changes

- [#4211](#4211)
[`e7b30c1`](e7b30c1)
Thanks [@davidjb](https://github.com/davidjb)! - Add \*.css to
sideEffects to allow import of CSS in Webpack Javascript

## @graphiql/plugin-history@0.4.2

### Patch Changes

- [#4231](#4231)
[`6f5d5d2`](6f5d5d2)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Fix
degraded type declarations in published packages

Both packages import from `@graphiql/react` at build time but only
declared it as a peer dependency. Yarn workspaces topologically orders
builds via `dependencies`/`devDependencies`, not `peerDependencies`, so
on a clean checkout these plugins built before `@graphiql/react` had
emitted its `dist/*.d.ts`. `vite-plugin-dts` then ran `tsc` against
unresolved `@graphiql/react` imports, fell back to `any` for any return
type that flowed through `useGraphiQL`, and published `.d.ts` artifacts
where hooks like `useDocExplorer` and `useDocExplorerActions` resolved
to `() => any` instead of their real shapes.

Adding `@graphiql/react` as a `devDependency` matches the pattern
already in `@graphiql/plugin-explorer` and
`@graphiql/plugin-code-exporter` and lets the build run in topological
order.

- [#4140](#4140)
[`40359eb`](40359eb)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Remove
`react-compiler-runtime` peer dependency

- [#4211](#4211)
[`e7b30c1`](e7b30c1)
Thanks [@davidjb](https://github.com/davidjb)! - Add \*.css to
sideEffects to allow import of CSS in Webpack Javascript

- Updated dependencies
\[[`463df14`](463df14)]:
    -   @graphiql/toolkit@0.12.0

## @graphiql/react@0.37.4

### Patch Changes

- [#4181](#4181)
[`f1a210e`](f1a210e)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Fix schema
prop to skip introspection when IntrospectionQuery data is provided

Previously, passing an `IntrospectionQuery` result as the `schema` prop
would still trigger a network introspection request. The
`shouldIntrospect` check only recognized `GraphQLSchema` instances (via
`isSchema`), not raw introspection data. Now, when an
`IntrospectionQuery` is passed, a schema is built from it directly using
`buildClientSchema` and introspection is skipped.

- [#4140](#4140)
[`40359eb`](40359eb)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Remove
`react-compiler-runtime` peer dependency

- [#4211](#4211)
[`e7b30c1`](e7b30c1)
Thanks [@davidjb](https://github.com/davidjb)! - Add \*.css to
sideEffects to allow import of CSS in Webpack Javascript

- Updated dependencies
\[[`914a547`](914a547),
[`463df14`](463df14),
[`4bb7909`](4bb7909),
[`10f66d5`](10f66d5)]:
    -   graphql-language-service@5.5.1
    -   @graphiql/toolkit@0.12.0
    -   monaco-graphql@1.7.4

## graphql-language-service@5.5.1

### Patch Changes

- [#3882](#3882)
[`914a547`](914a547)
Thanks [@bensengupta](https://github.com/bensengupta)! - Fix off-by-one
when hovering over token

- [#4222](#4222)
[`10f66d5`](10f66d5)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Unpin and
update graphql-config dependency

## graphql-language-service-server@2.14.9

### Patch Changes

- [#4187](#4187)
[`ca83879`](ca83879)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Bump
required TypeScript runtime dependency from `^5.3.3` to `^5.8.0`. This
is preparatory work for adopting the TypeScript Native Preview (tsgo)
compiler in a follow-up change, which tracks TypeScript 5.8 semantics.
In practice `^5.3.3` already resolved to TS 5.8+ for most consumers; the
new floor only affects consumers who pin TypeScript to 5.3–5.7 via
resolutions or overrides.

- [#4222](#4222)
[`10f66d5`](10f66d5)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Unpin and
update graphql-config dependency

- Updated dependencies
\[[`914a547`](914a547),
[`10f66d5`](10f66d5)]:
    -   graphql-language-service@5.5.1

## monaco-graphql@1.7.4

### Patch Changes

- [#4225](#4225)
[`4bb7909`](4bb7909)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Fix hover
crashing on the first line of a query

`GraphQLWorker.doHover` was passing 0-indexed positions to `getRange`,
which expects a 1-indexed `SourceLocation` (per the GraphQL spec). On
the first line this caused `Expected Parser stream to be available` to
be logged and hover to return `null`. On other lines it returned the
range of the previous line's last token rather than the token under the
cursor. Use `getTokenAtPosition` to compute the actual token range
instead.

- Updated dependencies
\[[`914a547`](914a547),
[`10f66d5`](10f66d5)]:
    -   graphql-language-service@5.5.1

## vscode-graphql@0.13.3

### Patch Changes

- [#4183](#4183)
[`2ef9389`](2ef9389)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Fix VS Code
extension publishing scripts

- Updated dependencies
\[[`ca83879`](ca83879),
[`10f66d5`](10f66d5)]:
    -   graphql-language-service-server@2.14.9

## vscode-graphql-execution@0.3.3

### Patch Changes

- [#4183](#4183)
[`2ef9389`](2ef9389)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Fix VS Code
extension publishing scripts

- [#4222](#4222)
[`10f66d5`](10f66d5)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Unpin and
update graphql-config dependency

## vscode-graphql-syntax@1.3.9

### Patch Changes

- [#4183](#4183)
[`2ef9389`](2ef9389)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Fix VS Code
extension publishing scripts

- [#4143](#4143)
[`7979bf5`](7979bf5)
Thanks [@Netail](https://github.com/Netail)! - Add syntax highlighting
support for subscription operations.

- [#4144](#4144)
[`f7e2a56`](f7e2a56)
Thanks [@jsmnbom](https://github.com/jsmnbom)! - Add `text.html.vue` as
inline injection target.

[This PR](vuejs/language-tools#5856) broke
tooling by changing the vue grammar scope from `source.vue` to
`text.html.vue`. This adds `text.html.vue` as an additional injection
target for GraphQL syntax highlighting so that it works in both cases.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
trevor-scheer added a commit that referenced this pull request May 19, 2026
#4140 moved `react-compiler-runtime` from `peerDependencies` to
`dependencies` in `@graphiql/react`, `@graphiql/plugin-doc-explorer`,
and `@graphiql/plugin-history`. That change landed in 0.37.4 alongside
esm.sh's `?standalone` builder starting to emit a 115-line preload
stub that fragments `monaco-editor` into two instances and breaks
syntax highlighting on CDN consumers (#4303).

Move the dependency back to `peerDependencies` to narrow the
package.json delta between the last-working `0.37.3` and the
first-broken `0.37.4`. If the resulting prerelease shows a small
esm.sh stub again, this is the trigger.
trevor-scheer pushed a commit that referenced this pull request May 19, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to
release/cdn-fix-alpha, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`release/cdn-fix-alpha` is currently in **pre mode** so this branch has
prereleases rather than normal releases. If you want to exit
prereleases, run `changeset pre exit` on `release/cdn-fix-alpha`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @graphiql/plugin-doc-explorer@0.4.3-alpha.1

### Patch Changes

- [#4308](#4308)
[`598ffa3`](598ffa3)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Move
`react-compiler-runtime` back to `peerDependencies` (revert of #4140).
The earlier move to `dependencies` landed in 0.37.4 alongside esm.sh's
`?standalone` builder starting to emit a 115-line preload stub that
fragments `monaco-editor` into two instances on CDN consumers (#4303).
Putting the dependency back in `peerDependencies` narrows the
package.json delta between the last-working `0.37.3` and the
first-broken `0.37.4`.

## @graphiql/plugin-history@0.4.3-alpha.1

### Patch Changes

- [#4308](#4308)
[`598ffa3`](598ffa3)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Move
`react-compiler-runtime` back to `peerDependencies` (revert of #4140).
The earlier move to `dependencies` landed in 0.37.4 alongside esm.sh's
`?standalone` builder starting to emit a 115-line preload stub that
fragments `monaco-editor` into two instances on CDN consumers (#4303).
Putting the dependency back in `peerDependencies` narrows the
package.json delta between the last-working `0.37.3` and the
first-broken `0.37.4`.

## @graphiql/react@0.37.6-alpha.2

### Patch Changes

- [#4308](#4308)
[`598ffa3`](598ffa3)
Thanks [@trevor-scheer](https://github.com/trevor-scheer)! - Move
`react-compiler-runtime` back to `peerDependencies` (revert of #4140).
The earlier move to `dependencies` landed in 0.37.4 alongside esm.sh's
`?standalone` builder starting to emit a 115-line preload stub that
fragments `monaco-editor` into two instances on CDN consumers (#4303).
Putting the dependency back in `peerDependencies` narrows the
package.json delta between the last-working `0.37.3` and the
first-broken `0.37.4`.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

2 participants