@graphiql/react을(를) 0.x에서 1.x로 업그레이드하기
@graphiql/react 0.39.1과 1.0.0의 공개 API를 TypeScript 타입에서 자동으로 비교한 결과입니다. 시그니처 변경은 호환성이 깨질 가능성이 있다는 뜻이며 확정은 아닙니다.
요약
| 삭제된 import 경로 | 0 |
|---|---|
| 삭제된 export | 15 |
| 변경된 시그니처 | 3 |
| 삭제된 클래스·인터페이스 멤버 | 2 |
| 변경된 클래스·인터페이스 멤버 | 1 |
| 새로 지원 중단됨 | 1 |
| 요구 사항 변경 (engines, peer 의존성) | 1 |
| 새 export | 45 |
삭제된 export
| import | export | kind | 이전 |
|---|---|---|---|
@graphiql/react | cn | variable | any |
@graphiql/react | useTheme | function | (): { setTheme: (newTheme: Theme) => void; theme: Theme; } |
@graphiql/react | useStorage | variable | (): any |
@graphiql/react | useCopyQuery | function | (): () => Promise<void> |
@graphiql/react | useMergeQuery | function | (): () => void |
@graphiql/react | useEditorStore | variable | (): { 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/react | usePluginStore | variable | (): { plugins: GraphiQLPlugin[]; visiblePlugin: GraphiQLPlugin | null; setVisiblePlugin: (plugin?: string | GraphiQLPlugin | null | undefined) => void; } |
@graphiql/react | useSchemaStore | variable | (): { isFetching: boolean; fetchError: string | null; schema: any; validationErrors: readonly any[]; introspect: () => Promise<void>; } |
@graphiql/react | useEditorContext | function | (): { 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/react | usePluginContext | function | (): { plugins: GraphiQLPlugin[]; visiblePlugin: GraphiQLPlugin | null; setVisiblePlugin: (plugin?: string | GraphiQLPlugin | null | undefined) => void; } |
@graphiql/react | useSchemaContext | function | (): { isFetching: boolean; fetchError: string | null; schema: any; validationErrors: readonly any[]; introspect: () => Promise<void>; } |
@graphiql/react | useExecutionStore | variable | (): { isFetching: boolean; isSubscribed: boolean; operationName: string | undefined; run: () => void; stop: () => void; } |
@graphiql/react | useStorageContext | variable | (): any |
@graphiql/react | usePrettifyEditors | function | (): () => Promise<void> |
@graphiql/react | useExecutionContext | function | (): { isFetching: boolean; isSubscribed: boolean; operationName: string | undefined; run: () => void; stop: () => void; } |
변경된 시그니처
| export | 이전 | 이후 |
|---|---|---|
@graphiql/react · Theme | "light" | "dark" | null | "dark" | "light" | null |
@graphiql/react · KEY_MAP | Readonly<{ 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> |
삭제된 클래스·인터페이스 멤버
| member | import | 이전 |
|---|---|---|
SlicesWithActions.monacoTheme | @graphiql/react | any |
SlicesWithActions.overrideOperationName | @graphiql/react | string | null |
변경된 클래스·인터페이스 멤버
| member | 이전 | 이후 |
|---|---|---|
SlicesWithActions.fetcher | Fetcher | any |
새로 지원 중단됨
| export | @deprecated |
|---|---|
@graphiql/react · SlicesWithActions.fetcher | Pass a `transport` instead. The `Fetcher` contract cannot surface HTTP wire metadata (status, headers, timing, size). See `docs/migration/graphiql-6.0.0.md`. |
요구 사항 변경 (engines, peer 의존성)
| 이전 | 이후 | |
|---|---|---|
peerDependencies.graphql | ^15.5.0 || ^16.0.0 || ^17.0.0 | ^16.11.0 || ^17.0.0 |
새 export (45)
| import | export | kind |
|---|---|---|
@graphiql/react | TopBar | variable |
@graphiql/react | Density | type |
@graphiql/react | FontSize | type |
@graphiql/react | MODIFIER | variable |
@graphiql/react | SaveIcon | variable |
@graphiql/react | CleanupFn | type |
@graphiql/react | Operation | variable |
@graphiql/react | SidePanel | variable |
@graphiql/react | StatusBar | variable |
@graphiql/react | KeycapHint | variable |
@graphiql/react | MethodPill | variable |
@graphiql/react | ModifierKey | type |
@graphiql/react | PanelHeader | variable |
@graphiql/react | SaveHandler | type |
@graphiql/react | TopBarProps | type |
@graphiql/react | ActivityRail | variable |
@graphiql/react | ResponseView | type |
@graphiql/react | typeCategory | function |
@graphiql/react | SettingsTheme | type |
@graphiql/react | VarHeadersTab | type |
@graphiql/react | PortalProvider | variable |
@graphiql/react | SettingsDialog | variable |
@graphiql/react | GraphQLLogoIcon | variable |
@graphiql/react | KeycapHintProps | type |
@graphiql/react | MethodPillProps | type |
@graphiql/react | VarHeadersStrip | variable |
@graphiql/react | ConnectionStatus | type |
@graphiql/react | GraphiQLSettings | type |
@graphiql/react | PanelHeaderProps | type |
@graphiql/react | QueryBuilderIcon | variable |
@graphiql/react | SegmentedControl | function |
@graphiql/react | ActivityRailProps | interface |
@graphiql/react | OnResponseCallback | type |
@graphiql/react | usePortalContainer | function |
@graphiql/react | GraphQLTypeCategory | type |
@graphiql/react | SettingsDialogProps | interface |
@graphiql/react | useGraphiQLSettings | function |
@graphiql/react | OnBeforeSendCallback | type |
@graphiql/react | SETTINGS_STORAGE_KEY | variable |
@graphiql/react | VarHeadersStripProps | type |
@graphiql/react | GraphiQLPluginContext | type |
@graphiql/react | SegmentedControlProps | type |
@graphiql/react | PluginTransportContext | type |
@graphiql/react | SegmentedControlOption | type |
@graphiql/react | useGraphiQLPluginContext | function |
이 데이터를 AI 에이전트에 제공하세요
Vigia는 무료 MCP 서버입니다. 코딩 에이전트가 코드를 작성하기 전에 버전, 호환성을 깨는 변경, 취약점을 확인합니다. 가입도 API 키도 필요 없습니다.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Cursor에 추가VS Code에 추가★ GitHub에서 스타 누르기
그 밖의 MCP 클라이언트
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }에이전트 스킬(SKILL.md): 에이전트에게 Vigia를 언제 쓸지 알려 줍니다 · 풀 리퀘스트용 GitHub Action
자주 묻는 질문
@graphiql/react을(를) 0에서 1(으)로 업그레이드할 때 호환성이 깨지는 변경은 무엇인가요?
@graphiql/react 0.39.1과 1.0.0 사이에서 Vigia는 삭제된 export 15개, 변경된 시그니처 3개, 삭제되거나 변경된 클래스·인터페이스 멤버 3개를 찾았습니다.
@graphiql/react 1에서 지원 중단된 것은 무엇인가요?
@graphiql/react 1.0.0에서 export 또는 멤버 1개가 새로 지원 중단으로 표시되었습니다.
에이전트용
GET https://vigia.coredls.cloud/v1/packages/npm/@graphiql/react/upgrade?from=0.39.1&to=1.0.0