Vigia

Upgrading @graphiql/react from 0.x to 1.x

Comparison of the public API of @graphiql/react 0.39.1 and 1.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.

Summary

Removed import paths0
Removed exports15
Changed signatures3
Removed class or interface members2
Changed class or interface members1
Newly deprecated1
Requirement changes (engines, peer dependencies)1
New exports45

Removed exports

importexportkindBefore
@graphiql/reactcnvariableany
@graphiql/reactuseThemefunction(): { setTheme: (newTheme: Theme) => void; theme: Theme; }
@graphiql/reactuseStoragevariable(): any
@graphiql/reactuseCopyQueryfunction(): () => Promise<void>
@graphiql/reactuseMergeQueryfunction(): () => void
@graphiql/reactuseEditorStorevariable(): { externalFragments: Map<string, any>; shouldPersistHeaders: boolean; initialQuery: string; initialVariables: string; initialHeaders: string; headerEditor?: any; queryEditor?: any; responseEditor?: any; variableEditor?: any; addTab: () => void; changeTab: (index: number) => void; moveTab: (newOrder: TabState[]) => void; closeTab: (index: number) => void; updateActiveTabValues: (partialTab: Partial<Omit<TabState, "id" | "hash" | "title">>) => void; setHeaderEditor: (headerEditor: monaco.editor.IStandaloneCodeEditor) => void; setQueryEditor: (queryEditor: monaco.editor.IStandaloneCodeEditor)…
@graphiql/reactusePluginStorevariable(): { plugins: GraphiQLPlugin[]; visiblePlugin: GraphiQLPlugin | null; setVisiblePlugin: (plugin?: string | GraphiQLPlugin | null | undefined) => void; }
@graphiql/reactuseSchemaStorevariable(): { isFetching: boolean; fetchError: string | null; schema: any; validationErrors: readonly any[]; introspect: () => Promise<void>; }
@graphiql/reactuseEditorContextfunction(): { externalFragments: Map<string, any>; shouldPersistHeaders: boolean; initialQuery: string; initialVariables: string; initialHeaders: string; headerEditor?: any; queryEditor?: any; responseEditor?: any; variableEditor?: any; addTab: () => void; changeTab: (index: number) => void; moveTab: (newOrder: TabState[]) => void; closeTab: (index: number) => void; updateActiveTabValues: (partialTab: Partial<Omit<TabState, "id" | "hash" | "title">>) => void; setHeaderEditor: (headerEditor: monaco.editor.IStandaloneCodeEditor) => void; setQueryEditor: (queryEditor: monaco.editor.IStandaloneCodeEditor)…
@graphiql/reactusePluginContextfunction(): { plugins: GraphiQLPlugin[]; visiblePlugin: GraphiQLPlugin | null; setVisiblePlugin: (plugin?: string | GraphiQLPlugin | null | undefined) => void; }
@graphiql/reactuseSchemaContextfunction(): { isFetching: boolean; fetchError: string | null; schema: any; validationErrors: readonly any[]; introspect: () => Promise<void>; }
@graphiql/reactuseExecutionStorevariable(): { isFetching: boolean; isSubscribed: boolean; operationName: string | undefined; run: () => void; stop: () => void; }
@graphiql/reactuseStorageContextvariable(): any
@graphiql/reactusePrettifyEditorsfunction(): () => Promise<void>
@graphiql/reactuseExecutionContextfunction(): { isFetching: boolean; isSubscribed: boolean; operationName: string | undefined; run: () => void; stop: () => void; }

Changed signatures

exportBeforeAfter
@graphiql/react · Theme"light" | "dark" | null"dark" | "light" | null
@graphiql/react · KEY_MAPReadonly<{ prettify: { key: string; keybindings: number[]; }; mergeFragments: { key: string; keybindings: number[]; }; runQuery: { key: string; keybindings: number[]; }; autoComplete: { key: string; }; copyQuery: { key: string; keybindings: number[]; }; refetchSchema: { key: string; }; searchInEditor: { key: string; }; searchInDocs: { key: string; }; }>Readonly<{ prettify: { key: string; keybindings: number[]; }; mergeFragments: { key: string; keybindings: number[]; }; runQuery: { key: string; keybindings: number[]; }; autoComplete: { key: string; }; copyQuery: { key: string; keybindings: number[]; }; saveQuery: { key: string; keybindings: number[]; }; refetchSchema: { key: string; }; searchInEditor: { key: string; }; searchInDocs: { key: string; }; }>
@graphiql/react · debounce<F extends (...args: any[]) => any>(duration: number, fn: F): F<F extends (...args: any[]) => any>(duration: number, fn: F): DebouncedFn<F>

Removed class or interface members

memberimportBefore
SlicesWithActions.monacoTheme@graphiql/reactany
SlicesWithActions.overrideOperationName@graphiql/reactstring | null

Changed class or interface members

memberBeforeAfter
SlicesWithActions.fetcherFetcherany

Newly deprecated

export@deprecated
@graphiql/react · SlicesWithActions.fetcherPass a `transport` instead. The `Fetcher` contract cannot surface HTTP wire metadata (status, headers, timing, size). See `docs/migration/graphiql-6.0.0.md`.

Requirement changes (engines, peer dependencies)

BeforeAfter
peerDependencies.graphql^15.5.0 || ^16.0.0 || ^17.0.0^16.11.0 || ^17.0.0
New exports (45)
importexportkind
@graphiql/reactTopBarvariable
@graphiql/reactDensitytype
@graphiql/reactFontSizetype
@graphiql/reactMODIFIERvariable
@graphiql/reactSaveIconvariable
@graphiql/reactCleanupFntype
@graphiql/reactOperationvariable
@graphiql/reactSidePanelvariable
@graphiql/reactStatusBarvariable
@graphiql/reactKeycapHintvariable
@graphiql/reactMethodPillvariable
@graphiql/reactModifierKeytype
@graphiql/reactPanelHeadervariable
@graphiql/reactSaveHandlertype
@graphiql/reactTopBarPropstype
@graphiql/reactActivityRailvariable
@graphiql/reactResponseViewtype
@graphiql/reacttypeCategoryfunction
@graphiql/reactSettingsThemetype
@graphiql/reactVarHeadersTabtype
@graphiql/reactPortalProvidervariable
@graphiql/reactSettingsDialogvariable
@graphiql/reactGraphQLLogoIconvariable
@graphiql/reactKeycapHintPropstype
@graphiql/reactMethodPillPropstype
@graphiql/reactVarHeadersStripvariable
@graphiql/reactConnectionStatustype
@graphiql/reactGraphiQLSettingstype
@graphiql/reactPanelHeaderPropstype
@graphiql/reactQueryBuilderIconvariable
@graphiql/reactSegmentedControlfunction
@graphiql/reactActivityRailPropsinterface
@graphiql/reactOnResponseCallbacktype
@graphiql/reactusePortalContainerfunction
@graphiql/reactGraphQLTypeCategorytype
@graphiql/reactSettingsDialogPropsinterface
@graphiql/reactuseGraphiQLSettingsfunction
@graphiql/reactOnBeforeSendCallbacktype
@graphiql/reactSETTINGS_STORAGE_KEYvariable
@graphiql/reactVarHeadersStripPropstype
@graphiql/reactGraphiQLPluginContexttype
@graphiql/reactSegmentedControlPropstype
@graphiql/reactPluginTransportContexttype
@graphiql/reactSegmentedControlOptiontype
@graphiql/reactuseGraphiQLPluginContextfunction

Give your AI agent these facts

Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Add to CursorAdd to VS Code★ Star on GitHub

Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests

Frequently asked questions

What are the breaking changes when upgrading @graphiql/react from 0 to 1?

Between @graphiql/react 0.39.1 and 1.0.0, Vigia found 15 removed exports, 3 changed signatures and 3 removed or changed class or interface members.

What became deprecated in @graphiql/react 1?

1 exports or members are newly marked as deprecated in @graphiql/react 1.0.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/@graphiql/react/upgrade?from=0.39.1&to=1.0.0