Skip to content
This repository has been archived by the owner on Apr 15, 2020. It is now read-only.

Test with graphql-js v15.0.0-rc.1 #32

Closed
IvanGoncharov opened this issue Jan 6, 2020 · 3 comments
Closed

Test with graphql-js v15.0.0-rc.1 #32

IvanGoncharov opened this issue Jan 6, 2020 · 3 comments

Comments

@IvanGoncharov
Copy link

Hi @yaacovCR
I plan to release long overdue graphql-js v15.0.0
It includes a number of small breaking changes:
https://github.com/graphql/graphql-js/releases/tag/v15.0.0-alpha.1
https://github.com/graphql/graphql-js/releases/tag/v15.0.0-alpha.2
https://github.com/graphql/graphql-js/releases/tag/v15.0.0-rc.1

Since your fork uses a lot of public APIs from graphql-js it would be great if you can try 15.0.0-rc.1 and report back problems if any.

@yaacovCR
Copy link
Owner

yaacovCR commented Jan 6, 2020

@IvanGoncharov,

One change that I think will be breaking for graphql-tools (now "fixed" in the fork's v15 branch) is that buildSchema used to ignore extensions, but now parses them. graphql-tools used to pass the extensions to buildSchema and then call extendSchema, but in v15 this will fail as the extensions are already added.

graphql/graphql-js#2248
graphql/graphql-js#2246

This is labelled as a new feature (which it is!) but possibly should also be considered a breaking change, which it will be for graphql-tools (although not the fork).

If that makes sense!

@yaacovCR
Copy link
Owner

yaacovCR commented Jan 7, 2020

@IvanGoncharov, looks good from here.

a3aadcf

Users can install the prerelease of graphql-tools-fork v9 with graphql v15.0.0-rc.1 support via npm using the below amazing label:

npm install graphql-tools-fork@9.0.0-graphql-15.0.0-rc.1.0

Ref: graphql/graphql-js#2303

@IvanGoncharov
Copy link
Author

This is labelled as a new feature (which it is!) but possibly should also be considered a breaking change, which it will be for graphql-tools (although not the fork).

@yaacovCR Yes, indeed 👍 I will update the changelog to mark it as breaking.
It sad that it will break "official" graphql-tools but I don't see any good long term solution.
I will ping the Apollo team to see if they can fix it.

@yaacovCR yaacovCR closed this as completed Jan 9, 2020
abernix added a commit to ardatan/graphql-tools that referenced this issue Feb 17, 2020
.@IvanGoncharov originally brought this to my attention when he pointed me to
yaacovCR#32 (comment)
and suggested stripping extension nodes prior to invoking `buildASTSchema`
as a cross-version (v14 <=> v15) approach for interim compatibility on the
v4 series of `graphql-tools`.

The most urgent and pertinent need here from my perspective is to allow
user-exploration of the new `graphql@15` release candidate within Apollo
Server which currently re-exports the entirety of `graphql-tools` (even
though it only relies on small portions of it).

Upon further investigation of the above-referenced issue, it appears that
@yaacovCR had already crafted the solution that @IvanGoncharov had suggested
to me, which I found in 2280eef within the
well-organized #1206
(which I am thankful for the continued updates on!).

My commit here merely grabs a sub-set of that commit that seemed most
pertinent; I certainly don't claim that this solution is nearly as
comprehensive as the original 2280eef.  My
hope is that by using the same code/implementation here, it will marginally
lessen future merge conflicts.

Since this is basically a re-working of @yaacovCR's commit, I've attributed
co-authorship of this commit accordingly.  (Thank you, again!)

Ref: #1272
Co-authored-by: yaacovCR <yaacovCR@gmail.com>
abernix added a commit to ardatan/graphql-tools that referenced this issue Feb 19, 2020
…1284)

* Inline `PrintSchemaOptions` type, whose parent module has been moved.

This option will likely be deprecated in `graphql@16`.  For now, we'll
inline this type into this module to continue emitting it into the
declaration file for `makeRemoteExecutableSchema`.

This is necessary since the TypeScript compiler can no longer resolve its
previous location as `graphql` has moved the location of the `schemaPrinter`
module to `printSchema` in graphql/graphql-js#2426.

cc @IvanGoncharov

* Fix incompatibility between `iterall` and newer TypeScript types.

This wouldn't be necessary if this project had a `package-lock.json`, but...

* compat: filter extensions prior to passing to `buildASTSchema`.

.@IvanGoncharov originally brought this to my attention when he pointed me to
yaacovCR#32 (comment)
and suggested stripping extension nodes prior to invoking `buildASTSchema`
as a cross-version (v14 <=> v15) approach for interim compatibility on the
v4 series of `graphql-tools`.

The most urgent and pertinent need here from my perspective is to allow
user-exploration of the new `graphql@15` release candidate within Apollo
Server which currently re-exports the entirety of `graphql-tools` (even
though it only relies on small portions of it).

Upon further investigation of the above-referenced issue, it appears that
@yaacovCR had already crafted the solution that @IvanGoncharov had suggested
to me, which I found in 2280eef within the
well-organized #1206
(which I am thankful for the continued updates on!).

My commit here merely grabs a sub-set of that commit that seemed most
pertinent; I certainly don't claim that this solution is nearly as
comprehensive as the original 2280eef.  My
hope is that by using the same code/implementation here, it will marginally
lessen future merge conflicts.

Since this is basically a re-working of @yaacovCR's commit, I've attributed
co-authorship of this commit accordingly.  (Thank you, again!)

Ref: #1272
Co-authored-by: yaacovCR <yaacovCR@gmail.com>

* Add CHANGELOG for #1284.

Co-authored-by: Yaacov Rydzinski  <yaacovCR@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants