TypeGraphQL v1.0.0 Release Notes

Release Date: 2020-08-19 // over 3 years ago
  • ๐Ÿ”‹ Features

    • ๐Ÿ’ฅ Breaking Change : emit in schema only types actually used by provided resolvers classes (#415)
    • ๐Ÿ’ฅ Breaking Change : update graphql-js peer dependency to ^15.3.0
    • ๐Ÿ’ฅ Breaking Change : update graphql-query-complexity dependency to ^0.7.0 and drop support for fieldConfigEstimator (use fieldExtensionsEstimator instead)
    • ๐Ÿ’ฅ Breaking Change : introduce sortedSchema option in PrintSchemaOptions and emit sorted schema file by default
    • ๐Ÿ’ฅ Breaking Change : make class-validator a peer dependency of version >=0.12.0 that needs to be installed manually (#366)
    • ๐Ÿ’ฅ Breaking Change : remove CannotDetermineTypeError and make other error messages more detailed and specific
    • ๐Ÿ’ฅ Breaking Change : remove legacy array inference - now explicit array syntax ([Item]) is required
    • โšก๏ธ update TypeResolver interface to match with GraphQLTypeResolver from graphql-js
    • โž• add basic support for directives with @Directive() decorator (#369)
    • โž• add possibility to tune up the performance and disable auth & middlewares stack for simple field resolvers (#479)
    • โšก๏ธ optimize resolvers execution paths to speed up a lot basic scenarios (#488)
    • โž• add @Extensions decorator for putting metadata into GraphQL types config (#521)
    • โž• add support for defining arguments and implementing resolvers for interface types fields (#579)
    • โž• add { autoRegisterImplementations: false } option to prevent automatic emitting in schema all the object types that implements used interface type (#595)
    • ๐Ÿ‘ allow interfaces to implement other interfaces (#602)
    • ๐Ÿ”ฆ expose createResolversMap utility that generates apollo-like resolvers object
    • ๐Ÿ‘Œ support IoC containers which .get() method returns a Promise of resolver instance
    • โšก๏ธ update deps to newest major versions (tslib, graphql-query-complexity)

    ๐Ÿ›  Fixes

    • ๐Ÿ’ฅ Breaking Change : stop returning null for GraphQLTimestamp and GraphQLISODateTime scalars when returned value is not a Date instance - now it throws explicit error instead
    • ๐Ÿ’ฅ Breaking Change : fix transforming and validating nested inputs and arrays (#462)
    • ๐Ÿ”จ refactor union types function syntax handling to prevent possible errors with circular refs
    • โœ‚ remove duplicated entries for resolver classes that use inheritance (#499)
    • ๐Ÿ›  fix using name option on interface fields (#567)
    • ๐Ÿ›  fix not calling authChecker during subscribe phase for subscriptions (#578)
    • ๐Ÿ›  fix using shared union type in multiple schemas
    • ๐Ÿ›  fix using shared interface type in multiple schemas
    • ๐Ÿ›  fix calling field resolver without providing resolver class to buildSchema
    • ๐Ÿ›  fix generated TS union type for union type of object type classes extending themselves (#587)
    • ๐Ÿ›  fix using shared union and interface types in multiple schemas when resolveType is used
    • properly inherit directives while extending @InputType or @ObjectType classes (#626)
    • skip transforming empty array items into input classes

    Others

    • ๐Ÿ’ฅ Breaking Change : change build config to ES2018 - drop support for Node.js < 10.3
    • ๐Ÿ’ฅ Breaking Change : remove deprecated DepreciationOptions interface
    • ๐Ÿ’ฅ Breaking Change : remove deprecated direct array syntax for declaring union types