UNPKG

5.44 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## 1.0.1 - 2021-05-07
11
12### Breaking Change
13
14- Update `graphql-config` to version 3. Update `graphql-config-utilities`. [#1883](https://github.com/Shopify/quilt/pull/1883)
15
16## 0.24.0 - 2021-04-13
17
18### Changed
19
20- Removed dependency on tslib, as we no-longer compile with `tsc`. [#1829](https://github.com/Shopify/quilt/pull/1829)
21
22### Added
23
24- 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)]
25- Minor: `AbstractGraphQLFileSystem` provides emitter boilerplate for `GraphQLFileSystem`'s `change:schema` / `change:document` / `delete:document` events [[#1824](https://github.com/Shopify/quilt/pull/1824)]
26
27## 0.23.2 - 2021-03-23
28
29### Fixed
30
31- Fix `graphql-typescript-definitions` binary not running [[#1798](https://github.com/Shopify/quilt/pull/1798)]
32
33## 0.23.0 - 2021-03-11
34
35### Changed
36
37- Move from graphql-tools-web repo to quilt
38
39## 0.21.2 - 2021-02-18
40
41- 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)]
42
43## 0.21.0 - 2020-06-15
44
45- Allow custom scalars that alias built-in types [[#90](https://github.com/Shopify/graphql-tools-web/pull/90)] (thanks [ryanw](https://github.com/ryanw)!)
46
47## 0.20.3 - 2020-06-03
48
49### Fixed
50
51- generated types `index.ts` file now emits all imports before exports [[#118](https://github.com/Shopify/graphql-tools-web/pull/118)]
52
53## 0.20.1 - 2020-04-28
54
55### Fixed
56
57- Fixed `Builder` not respecting the `exportFormat` option.
58
59## 0.20.0 - 2020-04-27
60
61### Added
62
63- 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)]
64
65## 0.19.0 - 2020-04-14
66
67### Changed
68
69- Upgrade yargs to `15` [[#107](https://github.com/Shopify/graphql-tools-web/pull/107)]
70- Update dependencies (`chalk`, `change-case`, `chokidar`, `upper-case-first`) [[#110](https://github.com/Shopify/graphql-tools-web/pull/110)]
71- Upgrade fs-extra to v9 [[#105](https://github.com/Shopify/graphql-tools-web/pull/105)]
72- 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)]
73- Upgrade graphql to `v14.6.0` [[#104](https://github.com/Shopify/graphql-tools-web/pull/104)]
74
75## 0.18.0 - 2019-10-09
76
77### Changed
78
79- duplicate checks now include fragments [[#88](https://github.com/Shopify/graphql-tools-web/pull/88)]
80
81## 0.17.0 - 2019-04-01
82
83- 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)]
84
85## 0.16.0 - 2019-03-11
86
87### Changed
88
89- Upgrading `graphql` to `^14.0.0` (`14.1.1`) [[#72](https://github.com/Shopify/graphql-tools-web/pull/72)]
90
91## 0.15.1 - 2019-01-22
92
93### Fixed
94
95- 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)]
96
97## 0.15.0 - 2019-01-22
98
99### Added
100
101- 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)]
102
103### Changed
104
105- 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.
106
107 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:
108
109 ```graphql
110 type Ball = {
111 color: String!
112 }
113
114 union Object = Ball
115
116 type Query = {
117 object: Object
118 }
119 ```
120
121 And this query:
122
123 ```graphql
124 query BallQuery {
125 object {
126 ... on Ball {
127 color
128 }
129 }
130 }
131 ```
132
133 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.
134
\No newline at end of file