-
Notifications
You must be signed in to change notification settings - Fork 218
feat(graphiql): add GraphiQL editor with Monaco integration #6582
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
amcaplan
wants to merge
1
commit into
11-06-feat_graphiql_add_api_version_selector_component
Choose a base branch
from
11-06-feat_graphiql_add_graphiql_editor_with_monaco_integration
base: 11-06-feat_graphiql_add_api_version_selector_component
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This was referenced Nov 6, 2025
Contributor
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
This was referenced Nov 6, 2025
Contributor
Coverage report
Test suite run success3422 tests passing in 1395 suites. Report generated by 🧪jest coverage report action from fbbce5d |
d2661f2 to
fc285da
Compare
f1c8933 to
b9ab875
Compare
fc285da to
9607030
Compare
b9ab875 to
5b82f74
Compare
5b82f74 to
37969e0
Compare
9607030 to
b09054f
Compare
37969e0 to
dbe1b3f
Compare
b09054f to
4af8d43
Compare
4af8d43 to
c2551ad
Compare
dbe1b3f to
c95f764
Compare
c95f764 to
757e3ef
Compare
c2551ad to
6dedd3f
Compare
0cab9c2 to
a436c2a
Compare
6dedd3f to
cc588d6
Compare
a436c2a to
3e5ff33
Compare
cc588d6 to
b5d1cb1
Compare
3e5ff33 to
7479a72
Compare
b5d1cb1 to
b2f9616
Compare
ba4433a to
34f9d5e
Compare
b20c543 to
7f1b051
Compare
34f9d5e to
4ff7e34
Compare
7f1b051 to
ab008f1
Compare
4ff7e34 to
9cccb15
Compare
Adds the core GraphiQL editor component with Monaco language support. - Integrate GraphiQL library for query editing - Configure Monaco editor for GraphQL syntax highlighting - Add tab management for multiple queries - Inject default queries (welcome message, shop query) - Include comprehensive tests (252 lines) All editor tests pass, Monaco workers build correctly
9cccb15 to
fbbce5d
Compare
ab008f1 to
ecb6ff8
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

WHY are these changes introduced?
This PR adds the core GraphiQL editor component, which is the heart of the GraphQL query editing experience. This is the fifth PR in the 8-PR migration stack.
Context: The GraphiQL library provides the interactive query editor, documentation explorer, and result viewer for GraphQL APIs. By integrating GraphiQL with Monaco editor, we get:
This replaces the old template-based GraphiQL initialization with a React component that can be managed declaratively.
WHAT is this pull request doing?
This PR adds the main
GraphiQLEditorcomponent that wraps the GraphiQL library and configures it for use with the Shopify Admin API.Key Changes:
GraphiQLEditor Component (
src/components/GraphiQLEditor/):Core Features:
1. API Integration:
config.keyis provided2. Tab Management:
Default tabs are created in this order:
WELCOME_MESSAGE)DEFAULT_SHOP_QUERY)config.queryis providedconfig.defaultQueriesarray3. Ephemeral Storage:
4. Configuration:
defaultEditorToolsVisibility: true- Show docs/history sidebar by defaultisHeadersEditorEnabled: false- Hide headers editor (auth handled by fetcher)forcedTheme: "light"- Match Shopify Admin themeProps Interface:
Testing:
Files Added:
src/components/GraphiQLEditor/GraphiQLEditor.tsx- Component implementation (103 lines)src/components/GraphiQLEditor/GraphiQLEditor.test.tsx- Tests (252 lines)src/components/GraphiQLEditor/index.ts- Barrel exportDependencies
Builds on:
Used by:
How to test your changes?
Manual Testing:
To test the editor interactively, add it to the App component:
You should see:
Measuring impact
Checklist