Skip to content

Conversation

@myronmarston
Copy link
Collaborator

graphql-c_parser requires native C extensions which don't work on all platforms (e.g. JRuby). By making it optional, ElasticGraph can run on more platforms while still recommending the faster parser.

GraphQLGemLoader loads both graphql and graphql/c_parser together. When c_parser is unavailable, prints a yellow warning to stderr (once) directing users to add the gem. Warning is suppressed on JRuby since C extensions can't work there anyway.

New projects still include graphql-c_parser in their generated Gemfile since it's recommended for better performance.

@myronmarston myronmarston force-pushed the myron/remove-graphql-c-parser branch 2 times, most recently from 4935f8d to ecfecb7 Compare January 29, 2026 03:51
graphql-c_parser requires native C extensions which don't work on all
platforms (e.g. JRuby). By making it optional, ElasticGraph can run
on more platforms while still recommending the faster parser.

GraphQLGemLoader loads both `graphql` and `graphql/c_parser` together.
When c_parser is unavailable, prints a yellow warning to stderr (once)
directing users to add the gem. Warning is suppressed on JRuby since
C extensions can't work there anyway.

New projects still include graphql-c_parser in their generated Gemfile
since it's recommended for better performance.

Co-Authored-By: Claude (global.anthropic.claude-opus-4-5-20251101-v1:0) <noreply@anthropic.com>
@myronmarston myronmarston force-pushed the myron/remove-graphql-c-parser branch from ecfecb7 to 3bc37b1 Compare January 29, 2026 18:52
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