UNPKG

5.27 kBMarkdownView Raw
1# Changelog
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
8<!-- ## Unreleased -->
9
10## 0.24.0 - 2021-04-13
11
12### Changed
13
14- Removed dependency on tslib, as we no-longer compile with `tsc`. [#1829](https://github.com/Shopify/quilt/pull/1829)
15
16### Added
17
18- Minor: `Builder.run` now accepts an optional `graphQLFilesystem` property. Custom filesystems _must_ provide watch/glob functionality mandated by [`GraphQLFileSystem`](./src/filesystem/graphql-filesystem.ts) [[#1824](https://github.com/Shopify/quilt/pull/1824)]
19- Minor: `AbstractGraphQLFileSystem` provides emitter boilerplate for `GraphQLFileSystem`'s `change:schema` / `change:document` / `delete:document` events [[#1824](https://github.com/Shopify/quilt/pull/1824)]
20
21## 0.23.2 - 2021-03-23
22
23### Fixed
24
25- Fix `graphql-typescript-definitions` binary not running [[#1798](https://github.com/Shopify/quilt/pull/1798)]
26
27## 0.23.0 - 2021-03-11
28
29### Changed
30
31- Move from graphql-tools-web repo to quilt
32
33## 0.21.2 - 2021-02-18
34
35- Ensure we add an `export {}` to otherwise blank files to make it clear that they are in the es modules format [[#131](https://github.com/Shopify/graphql-tools-web/pull/131)]
36
37## 0.21.0 - 2020-06-15
38
39- Allow custom scalars that alias built-in types [[#90](https://github.com/Shopify/graphql-tools-web/pull/90)] (thanks [ryanw](https://github.com/ryanw)!)
40
41## 0.20.3 - 2020-06-03
42
43### Fixed
44
45- generated types `index.ts` file now emits all imports before exports [[#118](https://github.com/Shopify/graphql-tools-web/pull/118)]
46
47## 0.20.1 - 2020-04-28
48
49### Fixed
50
51- Fixed `Builder` not respecting the `exportFormat` option.
52
53## 0.20.0 - 2020-04-27
54
55### Added
56
57- Added a new `exportFormat` option to control the type of documents exported from `.graphql` files [[#114](https://github.com/Shopify/graphql-tools-web/pull/114)]
58
59## 0.19.0 - 2020-04-14
60
61### Changed
62
63- Upgrade yargs to `15` [[#107](https://github.com/Shopify/graphql-tools-web/pull/107)]
64- Update dependencies (`chalk`, `change-case`, `chokidar`, `upper-case-first`) [[#110](https://github.com/Shopify/graphql-tools-web/pull/110)]
65- Upgrade fs-extra to v9 [[#105](https://github.com/Shopify/graphql-tools-web/pull/105)]
66- Upgrade prettier to `v2.0.4` and change `eslint-plugin-shopify` to `@shopify/eslint-plugin` [[#104](https://github.com/Shopify/graphql-tools-web/pull/104)]
67- Upgrade graphql to `v14.6.0` [[#104](https://github.com/Shopify/graphql-tools-web/pull/104)]
68
69## 0.18.0 - 2019-10-09
70
71### Changed
72
73- duplicate checks now include fragments [[#88](https://github.com/Shopify/graphql-tools-web/pull/88)]
74
75## 0.17.0 - 2019-04-01
76
77- 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)]
78
79## 0.16.0 - 2019-03-11
80
81### Changed
82
83- Upgrading `graphql` to `^14.0.0` (`14.1.1`) [[#72](https://github.com/Shopify/graphql-tools-web/pull/72)]
84
85## 0.15.1 - 2019-01-22
86
87### Fixed
88
89- 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)]
90
91## 0.15.0 - 2019-01-22
92
93### Added
94
95- 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)]
96
97### Changed
98
99- 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.
100
101 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:
102
103 ```graphql
104 type Ball = {
105 color: String!
106 }
107
108 union Object = Ball
109
110 type Query = {
111 object: Object
112 }
113 ```
114
115 And this query:
116
117 ```graphql
118 query BallQuery {
119 object {
120 ... on Ball {
121 color
122 }
123 }
124 }
125 ```
126
127 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.
128
\No newline at end of file