Open
Description
GraphQL-Tools roadmap
💡 This page's content and the list of tasks is synced automatically from The Guild's Notion. We are open sourcing our roadmap and tasks because we wish to build tools in the public, and allow developers to take part in the process of shaping the future of this library.
🚀 Feel free to share your thoughts, feedback and ideas with us.
👍 If you wish to show interest and help us prioritize tasks, use the 👍 on the issue.
Future
- Create benchmark comparing Apollo Router, Yoga + Gateway and Apollo Server + Gateway
- Create performance benchmark for Federation and Stitching
- Add notes about loading files on non-Node env
- merge deferred fragments at the same level
- Add notes to various places to raise awareness that printSchema doesn’t include directives in the SDL
- Possible bug in GraphQL Tools?
- Drop Node.js 14 support in our libraries
- Adding a computed property with a non-primitive/non-scalar return type breaks the schema when stitching #4956 👍 2
- graphql-tools/load: use
debug
to log timers and errors #4886 👍 4 - Create symbols with Symbol.for() #5131
- Helper package to create a basic Stitching gateway based on directives via HTTP #5115
- feat: allow addMocksToSchema to receive legacy resolver validation options #4435
- Read and use the
connectionParams
from operation extensions #4781 - Failing tests for union merges when queried with inline fragments #4965
- Add failing test when import documents with comments #3113 👍 1
- test: Test for parsing nested imports with interfaces #3798
- Add option to pluck from custom Vue block #4439
- Copy Symbols as well in
copyOwnPropsIfNotPresent
#4505 👍 1 - Add breaking test case for extending transformed schemas #4994
- feat(wrap): New transform AddArgumentsAsVariables #4291
- allow using merge directive without keyArg argument if resolver takes 0 arguments #4337
- Fix subschemas merge #4549
- WIP: buildASTSchemaWithResolvers #2397
- defer stream support within stitching #1941 👀 2 ❤️ 10
- Reduce the bundle for some utilities #4844
- test #3594
- Test with v17 #4485
- Smaller resolver package #4545
- Adding support for module import paths #4723
- GitHub Workflows security hardening #4728 👀 1
- RC Releases #5073
- fix: batch delegation collapses two requests with different arguments into a single memoized loader #5189
- add breaking test for interfering RenameInputObjectFields transforms #5093
- Batch delegation memoization is insensitive to non-key arguments #5188
- graphql-tag-pluck can't be configured to ignore gql
...
#5173 - Composite computed fields #5162 ❤️ 1
- graphql-tag-pluck inline fragment support #5140
- Stitched schema loses error 'extensions' when batched #5191
- Bug: HoistField does not support List in path #3906
- = is not allowed in path #4699 👍 1
- Bug with
import
when using default export and there is a space beforeimport
and after#
#3837 👍 2 - Schema stitching bug when multiple versions of delegate in workspace #5130
- Remove packages pinning #5132 👍 1
-
@graphql-tools/git-loader
can't find definitions if they are in the upper directory #5101 - requireResolversForArgs incorrectly labelled as missing with subscription args #3571
- TransformQuery path also matches fragments #4171
- inconsistency with enum type and value merge functions #2464
- Interface with unions in an imported file is not recognized #3797
- Transforms break nested stitched schemas #4226 👍 1 👀 1
- stitchSchemas with added fields inserting unneeded Fragment #4262
- Remapping root fields from query to mutation with wrap tools #2559
- Merge configs created using stitching directives don't respect type rename transforms on the subschema #4289
- Add hooks to
graphql-tag-pluck
to modify its behavior #5127 👍 6 ❤️ 2 🎉 2 - Bug(mock): Resolver with return type List is not use value from mock resolver. #2550 👍 1
- Bring AddArgumentsAsVariables back #4290 👍 1
- Data is getting set null when errors come from stitched remote schemas #4063
- Allow using merge directive without keyArg argument if resolver takes 0 arguments #4336
- @graphql-tools/wrap: Nested variable input types are not treated as input types #4300 👍 1
- Repeatable directives from extensions merged incorrectly #4338
- Cannot merge two directives if their descriptions differ (Part 2) #4366
- Merging directive arguments from extensions doesn't consider list input coercion #4339
- @graphql-tools/webpack-loader readme is only mentioning 2 of 6 options #3127
- (@graphql-tools/load-files) - improve error message on import to require fallback #3785 👍 1
- mapSchema carries over schema validation state #4087
- I set requireResolversForResolveType: 'ignore', then get this warning Type "QueryResponse" is missing a "__resolveType" resolver. #4285
- advise against using schema wrapping #4278 👍 1
- Gain access to input variables from mock functions #3209
- Add script for checking broken links in website #4196
- Allow random list length to be configured by user #4263 👍 4
- Can't import the named export XXXX from non EcmaScript module (only default export is available) #4265
- makeExecutableSchema: run as a build step #4270 👍 12
- Apollo BatchHttpLink queries failing in React app #4280 👍 3
- Consider Codesandbox CI for this repo #4383
- Stitched schema does return "null" for aliased fields in union types #4394
- Allow
addMocksToSchema
to pass validation options toaddResolversToSchema
#4434 - Add option to pluck raw GraphQL from custom Vue block #4320
-
rewireTypes
should recreate types only when necessary #4464 - Default headers in
@graphql-tools/url-loader
are case sensitive #4482 - Request for a Wrap TransformObjectFieldArguments #4475
- Pass index value as parameter to List mocks #4498 👍 1
- Micro-server is not connected if without passing anything to args #4512
- On mutation of stitched schema, executed query on merged type #4508
- Stitching returns null object when no field is offered by original object #4514
- Url Loader fails to load schema from server #4522
- Custom directive not working #4027
- stitchSchemas with namespaced queries and mutations #4047
- transformInputValue chokes on queries that rely on array input coercion #4596
- handle error from custom loader #4612
- resolvers-composition: do not mutate resolvers #4722
- GraphQL Stitching is losing "extensions" information from sub-schema response #4732 👍 3
-
getResolversFromSchema
fails to extract Federation__resolveReference
resolvers #4768 - Infinite loop in TransformCompositeFields when using WrapFields #4774
- Cannot mock a field being undefined or null #4792 👍 4
- Support of serialization and deserialization of GraphqlSchemas #4794
- webpack-loader: allow loading multiple GraphQL Operations per file #4854 👍 11
- Can't mock nested field resolvers #4848 👍 9
- Missing console.timeEnd #4859
- emphasize that schema transform are workarounds #4857
- 'loadTypedefsSync' is not outputting imported types #4894
- Fields in extensionASTNodes is undefined #4881
-
mergeTypeDefs
does not preserve repeated directives #4767 - wrapSchema transforms the response when error path is not provided #3880 👍 2
- Selection set for nested object with batchDelegateToSchema #4898
- Aliasing not working if multiple stiched layers are used #4683 👍 2
- Delegate removes selection sets when nesting Top-Level Abstract Fields in a Mutation response #4945
- batchDelegateToSchema creates a duplicate of data from response for every resulting fields #4958
- Forked relay-compiler breaks .bin script #4726 😕 2 👀 1
- Inline fragments are only evaluated against the first subschema containing the merge type #4966
- Directive definition is changed from pruning. #4998 👍 1
- Executors break field aliasing on stitched schemas #5049 👍 1
-
@graphql-tools/load
outputs debug logs for any value of DEBUG #4777 👍 5 - @graphql-tools/links requires react as dependency #4582 👍 1
- Peer dependency warnings from @graphql-tools/graphql-tag-pluck on @babel/core #5066 👍 4
- Override field types option for mergeSchemas #2051
- Interference between
RenameInputObjectFields
transforms #5091 - fix(mapSchema): allow custom serialization function #5120
- Tools - New Website #4618 👍 1
- PruneSchema does not prune unused implementations of a returned interface #4819
batch-delegate
- [batch-delegate] Error paths use their batched indices #2951
- [batch-delegate] Error paths use their batched indices #2950
WIP
- [WIP] Introduce caching in loaders #2816 👍 1 👀 1 ❤️ 1 🎉 1 🚀 1
Feature request
documentation
resolvers-composition
graphql-tools/load
website
executor-http
Metadata
Metadata
Assignees
Labels
No labels