UNPKG

2.97 kBMarkdownView Raw
1# Changelog
2
3All notable consumer-facing changes are documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
4and from `v0.14.0`, this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
5
6<!-- ## [Unreleased] -->
7
8## [0.18.0] - 2019-10-09
9
10### Changed
11
12* duplicate checks now include fragments [[#88](https://github.com/Shopify/graphql-tools-web/pull/88)]
13
14## [0.17.0] - 2019-04-01
15
16* Added a `--config` option to allow a JSON-serialized config an an alternative to looking up a `.graphqlconfig` [[#70](https://github.com/Shopify/graphql-tools-web/pull/70), thanks to [alexkirsz](https://github.com/alexkirsz)]
17
18## [0.16.0] - 2019-03-11
19
20### Changed
21
22* Upgrading `graphql` to `^14.0.0` (`14.1.1`) [[#72](https://github.com/Shopify/graphql-tools-web/pull/72)]
23
24## [0.15.1] - 2019-01-22
25
26### Fixed
27
28* Using static utility functions from `graphql-tool-utilities` instead of `GraphQLProject` augmentations to prevent `TypeError: project.resolveSchemaPath is not a function` when a duplicate `graphql` packages exist in the node package dependency chain. [[#73](https://github.com/Shopify/graphql-tools-web/pull/73)]
29
30## [0.15.0] - 2019-01-22
31
32### Added
33
34* You can now pass a `--custom-scalars` flag (or the equivalent `customScalars` option in Node.js) to reference custom types that should be used for custom scalars in GraphQL [[#63](https://github.com/Shopify/graphql-tools-web/pull/63)]
35
36### Changed
37
38* The library now generates an `Other` type for union/ intersection fields, even when the type is "fully covered" [[#64](https://github.com/Shopify/graphql-tools-web/pull/64)]. Before, if there were only a single type that implemented the union or interface, it was generated without being postfixed with the implementing type's name, and without an `Other` type. If all implementing types were queried in some way, it would include the types with postfixed names, but would not include an `Other` type.
39
40 This can be a breaking change if you were querying fields where only a single type implemented a union or interface, as the types for these fields will have their names changed. For example, given the following schema:
41
42 ```graphql
43 type Ball = {
44 color: String!
45 }
46
47 union Object = Ball
48
49 type Query = {
50 object: Object
51 }
52 ```
53
54 And this query:
55
56 ```graphql
57 query BallQuery {
58 object {
59 ... on Ball {
60 color
61 }
62 }
63 }
64 ```
65
66 The library used to generate a type `BallQueryData.Object` with `{color: string}`, because `Ball` was the only implementing type. Now, the library will generate a `BallQueryData.ObjectBall` and a `BallQueryData.ObjectOther`, which represents future implementing types of `Object`. When a `__typename` field is added, either explicitly or with the `--add-typename` flag, the `Other` type has a `__typename: ''` definition, which allows you to disambiguate it from results that did query a member of the union or interface.
67
\No newline at end of file