All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and adheres to Semantic Versioning.
- Fixed babel helpers file being generated with incorrect filename in esm build. [#2082]
- Migrate from
sewing-kit-next
toloom
for building - package build output remains identical. [#2039]
- No updates. Transitive dependency bump.
- Performance improvements [#2035]
- No updates. Transitive dependency bump.
- No updates. Transitive dependency bump.
- Support for
graphql
@15.x
. [#1978]
- Updated build tooling, types are now compiled with TypeScript 4.3. [#1997]
- Added file exclusion for tests to package.json and enable type checking for tests. [#2005]
- Rename test/ to tests/ [#2005]
- Remove dependency on
upper-case-first
. [#1990]
- Update to latest sewing-kit-next for build. Update
types
/typesVersions
fields to point directly into the build folder [#1980]
- Update
@babel/generator
and@babel/types to
^7.14.5` #1948
- Update
fs-extra
to^9.1.0
#1946
- Fix binary files referencing non-existent files #1929
- Update minimum supported node version to 12.14.0. Add engines field to help enforce usage of this version. #1906
- Fix broken file exports. #1894
- Update
graphql-config
to version 3. Updategraphql-config-utilities
. #1883
- Removed dependency on tslib, as we no-longer compile with
tsc
. #1829
- Minor:
Builder.run
now accepts an optionalgraphQLFilesystem
property. Custom filesystems must provide watch/glob functionality mandated byGraphQLFileSystem
[#1824] - Minor:
AbstractGraphQLFileSystem
provides emitter boilerplate forGraphQLFileSystem
'schange:schema
/change:document
/delete:document
events [#1824]
- Fix
graphql-typescript-definitions
binary not running [#1798]
- Move from graphql-tools-web repo to quilt
- Ensure we add an
export {}
to otherwise blank files to make it clear that they are in the es modules format [#131]
- generated types
index.ts
file now emits all imports before exports [#118]
- Fixed
Builder
not respecting theexportFormat
option.
- Added a new
exportFormat
option to control the type of documents exported from.graphql
files [#114]
- Upgrade yargs to
15
[#107] - Update dependencies (
chalk
,change-case
,chokidar
,upper-case-first
) [#110] - Upgrade fs-extra to v9 [#105]
- Upgrade prettier to
v2.0.4
and changeeslint-plugin-shopify
to@shopify/eslint-plugin
[#104] - Upgrade graphql to
v14.6.0
[#104]
- duplicate checks now include fragments [#88]
- Added a
--config
option to allow a JSON-serialized config an an alternative to looking up a.graphqlconfig
[#70, thanks to alexkirsz]
- Upgrading
graphql
to^14.0.0
(14.1.1
) [#72]
- Using static utility functions from
graphql-tool-utilities
instead ofGraphQLProject
augmentations to preventTypeError: project.resolveSchemaPath is not a function
when a duplicategraphql
packages exist in the node package dependency chain. [#73]
- You can now pass a
--custom-scalars
flag (or the equivalentcustomScalars
option in Node.js) to reference custom types that should be used for custom scalars in GraphQL [#63]
-
The library now generates an
Other
type for union/ intersection fields, even when the type is "fully covered" [#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 anOther
type. If all implementing types were queried in some way, it would include the types with postfixed names, but would not include anOther
type.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:
type Ball = { color: String! } union Object = Ball type Query = { object: Object }
And this query:
query BallQuery { object { ... on Ball { color } } }
The library used to generate a type
BallQueryData.Object
with{color: string}
, becauseBall
was the only implementing type. Now, the library will generate aBallQueryData.ObjectBall
and aBallQueryData.ObjectOther
, which represents future implementing types ofObject
. When a__typename
field is added, either explicitly or with the--add-typename
flag, theOther
type has a__typename: ''
definition, which allows you to disambiguate it from results that did query a member of the union or interface.