chore(deps): update dependency babel-plugin-relay to v17 #2675
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.
This PR contains the following updates:
16.2.0
->17.0.0
Release Notes
facebook/relay (babel-plugin-relay)
v17.0.0
: Version 17.0.0 Release NotesCompare Source
Since our last release in January of this year, we've made many improvements to Relay. Themes include:
Breaking Changes
Schema Validation
Relay compiler now runs spec-compliant schema validation against your schema including client schema extensions and Relay Resolvers. You can opt out of this feature by disabling validation in your Relay compiler config.
[
ccc4465
] by Jordan EldredgeEdge Type Validation
We now validate that the names passed to directives like
@prependNode
and@appendNode
are valid typenames. You can opt out of this validation with the following feature flag in your compiler config:[
53b2436
] by tobias-tenglerBug fixes
f87e77d
]: Fix MockPayloadGenerator for deferred fragments in lists by Fernando Gorodscy24b557a
]: Use default values from mock resolver for Relay 3D payload by Andrey Lunyov59ff9c1
]: Mark resolves as clean again if we reread their fragment and find data unchanged by Jordan Eldredge0d7a3d0
]: Input fields with defaults shouldn't be required (#4647) by Graeme Coupar7cc4f2b
]: Check if condition on defer/stream fragments by Fernando Gorodscy05d64cc
]: Update GraphQL parser to consume escaped characters by Monica Tang448aa67
]: Fix Flow Types in RelayObservable by Jerry FrancoisImprovements
Runtime Improvements
This release includes a new implementation of our hooks which are significantly more efficient in terms of memory use. Thanks to Dave McCabe for his work on this huge project.
9f03ea5
]: Make new useFragment implementation the default by Andrey LunyovEditor Integration Improvements
Huge shout out to community contributor Tobias Tengler for many improvements to our Editor Support via our VSCode extension. Our VSCode extension is powered by the
relay-compiler
so upgrading to version17.0.0
of the compiler should unlock a number of great IDE features.dc2cb85
]: Add code action to rename fragment (#4697) by tobias-tengler68c7cca
]: Add SchemaDocument go to definition LSP support (#4669) by tobias-tengler8fd21e7
]: Attach previous location to duplicate type diagnostic by Jordan Eldredgedd9d3a0
]: Support inlay hints by Jordan Eldredge (Requires upgrading to v2.3.0 of our VSCode extension)964e078
]: Activate LSP for schema and schema extension files (#4652) by tobias-tenglerbb41169
]: Support go to definition for arguments (#4605) by tobias-tenglerbbddbf3
]: Report errors if location provider fails (#4588) by Jordan Eldredge964e078
]: Activate LSP for schema and schema extension files (#4652) by tobias-tenglerCompiler Performance Improvements
232985f
]: Parallel watchman queries for saved state and changed files by Gordy Frenchef22ae6
]: Run schema validation in parallel by Jordan Eldredgea7984bc
]: Speed upwatchman_query_time_before_subscribe
by Tianyu Yaoacd17ec
]: Use multithreaded zstd compression by Gordy Frencha7984bc
]: Speed upwatchman_query_time_before_subscribe
by Tianyu Yaof7b030e
]: Split a project into multiple chunks and parallelize by Tianyu Yaobafd56b
]: Parallelize GraphQLAsts::from_graphql_sources by Tianyu Yao69dbfee
]: Parallelize from_graphql_sources_map by Tianyu Yaoce12ecf
]: Parallelize building schemas by Tianyu Yao586483e
]: Parallelize from_file_source_changes by Tianyu Yaoee8523f
]: Implement SchemaDocument path resolution (#4639) by Tobias Tengler5f1eb8a
]: Add path resolution for fragment arguments (#4651) by tobias-tengler6601a35
]: Speed up LSP requests outside of GraphQL by Evan Yeunga5a7947
]: Incrementally build Enum schema changes by Evan Yeungce6ea74
]: Add go to definition support for type defined in variable definition (#4629) by tobias-tengler2ba726b
]: Add go to definition support for directives (#4625) by tobias-tenglerMisc. Improvements
29d9e55
]: AddpreferFetchable
argument to the @refetchable directive by Andrey Lunyovf45b35f
]: New feature flag that will allow to opt-out @fetchable types from thenode
query generation in @refetchable by Andrey Lunyov9958e56
]: Print raw response on persisting parsing error by Tianyu Yao9cf21af
]: Integrate with Sapling or Git if they exist (#4691) by Jon Janzenbadd538
]: Migrate relay hooks to hook-syntax by Alex Taylor (alta)349b5a8
]: Use client schema extension enum values as source of truth for Flow types by Jordan Eldredged3c8d1c
]: Add feature flag for fragment arguments (#4648) by tobias-tengler9e9428e
]: Add support for ENABLE_RELAY_OPERATION_TRACKER_SUSPENSE flag in the the new hooks implementation by Andrey LunyovDocumentation Improvements
acb227a
]: Fix search on relay.dev (#4715) by Paul O’Shannessy6b91a2e
]: Improve compiler explorer (#4698) by Jordan Eldredge4c5cd41
]: Add docs forpreferFetchable
argument by Andrey Lunyov95010c8
]: Relay: Update Obsolete Docs Reference toReactTestUtils
by Tim Yung51a82f6
]: Document Relay Resolvers (#4547) by Jordan Eldredgeff8e80d
]: Update docs to clarify behavior of refetchable variables with nullable fragment reference by Jordan Eldredge76d6d77
]: Demonstrate using custom scalar to replace RelayResolverValue by Jordan Eldredge05cf065
]: Fixing minor typo in website (#4673) by Jeshuran Paul906f5ed
]: Relay docs: Fix shell script getting Prism'd as a JS comment by Robin Giese0109168
]: Relay docs: Tutorial page should have proper title by Robin Gieseea2cbbc
]: Fix typos in the Relay Resolvers docs by Evan Yeungdc36b48
]: Fix typos in tutorial by Monica Tang14314f9
]: Escape asterisks in README.md (#4635) by Chris Morinee03182
]: Fix(docs): add instructions about installing watchman if necessary in the tutorial (#4620) by Mark Feng1256e73
]: Remove CodeSandbox Example by Jordan Eldredgeb7f59af
]: Chore(doc): improve relay compiler doc for persist (#4608) by eMerzh8e557f9
]: Fix typos (#4597) by Kenneth Lum615c2d2
]: Fix(doc): update config name following update (#4596) by eMerzhExperimental Changes
We are also continuing to evolve many experimental features which are not yet stable enough to be enabled by default in Relay.
Relay Resolvers
Relay Resolvers have been extended to support defining types which implement interfaces, and define resolvers that return client-defined interfaces where all implementing types are defined using Relay Resolvers. Relay Resolvers are now stable enough to have full documentation with instructions on how to enable them.
ba5e48f
]: Add model resolvers for interfaces by Monica Tang55b8716
]: Return an interface with multiple weak concrete types from a resolver field by Monica Tang46879b4
]: Multiple weak models implement an interface by Monica Tang98823ea
]: Add model resolvers for unions by Monica Tang245602f
]: Remove allow_legacy_verbose_syntax ParseOption by Lynn Yucdab89f
]: Remove ENABLE_CLIENT_EDGES runtime feature flag by Jordan Eldredgeb26f3be
]: Remove @outputType feature flag by Monica Tang7ce13bc
]: Remove LiveResolverStore from experimental export namespace by Jordan Eldredgef193cda
]: Invert the default for emit_normalization_node_for_client_edges by Jordan Eldredge0cac319
]: Define resolver on interface with weak types by Monica Tang6bda98c
]: Make interface model resolver fields compatible with client schema extension-defined concrete types by Monica TangAdditionally, we are exploring the ability to extract Resolver type and field definitions directly from your typed JavaScript code, similar to how Grats works. This work is still highly experimental, only supported for Flow, and not yet fully functional. If you are interested in working with us to help bring this support to TypeScript, please get in touch.
722b18f
]: Better error message for using an optional flow type for strong objects by Tianyu Yao4267075
]: Implement schema generation for weak object fields by Evan Yeung5d2fa70
]: Prevent docblock parsing error for new resolver syntax in LSP by Tianyu Yao36802d9
]: Properly support nullable strong return type by Tianyu Yao8e5c565
]: Add "description" to Flow schema generation by Evan Yeung7e41583
]: Fix passing empty documents to schema gen by Tianyu Yao8cce449
]: A RelayResolverValue generic by Tianyu Yao0d1b5c2
]: Add argument support for Flow schema generation by Evan Yeung95aaa48
]:IdOf<>
return type by Tianyu Yao5052062
]: Support boolean by Tianyu Yao77a87be
]: Add root fragment support to relay resolvers by Evan Yeung35f9763
]: Pass fragment information to Flow schema generation code by Evan Yeunga8a41e2
]: Treat existing resolve syntax fields as fields by Tianyu Yao16e28af
]: Add @live to Flow schema generation by Evan Yeung49563f1
]: Fix incorrect error message for Relay Resolver missing function param by Evan Yeung24510ae
]: Improve error messages for Relay Resolver schema generation imports by Evan Yeung433c93e
]: Improve error messages for resolver schema generation by Evan Yeungd1749df
]: Add weak type definitions to Flow resolvers by Evan Yeung8fa3d43
]: Crate for extracting type information from JS definitions by Tianyu Yao@alias
We've added an experimental new directive to allow fragments to appear as fields. This can enable you, or optionally require you, to check if a fragment was fetched before using it.
efab5ab
]: Complete @alias (#4699) by Jordan Eldredge868183c
]: Refine @alias enforcement by Jordan Eldredge6aaa9ce
]: Add directive to opt out of @alias enforcement by Jordan EldredgeError Handling and Semantic Nullability
As part of our involvement with the GraphQL Nullability Working Group we are exploring features to enable explicit error handling and semantic nullability. Neither of these features are officially available yet, but we're excited about what will become possible here.
af1f9de
]: Disallow required on non-null and semanticNonNull fields by Gordy French56c099a
]: Fix non-null-required validator's field traversal by Gordy French470c814
]: Create CatchField for @catch on Scalar by Itamar Kestenbaum38655ec
]: Create CatchField for @catch and throw unimplemented by Itamar Kestenbaum7bfd200
]: Emit proper Flow for semanticNonNull RelayResolverValue by Gordy French88a6ff9
]: Fix semanticNonNull levels support in resolver docblock by Gordy Frenchc7d46c3
]: Create CatchField feature flag by Itamar Kestenbaum696a1b3
]: Support @catch directive in RelayReader by Itamar Kestenbaumd1cf472
]: Emit semanticNonNull in generated schema by Gordy Frenchddfa2b0
]: Parse semanticNonNull from docblock by Gordy French145c788
]: Add allow_non_null_resolver_fields feature flag by Gordy Frenchcebc7f0
]: Experimental support for @semanticNonNull (#4601) by Jordan EldredgeConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.