Skip to content

Releases: graphql-hive/graphql-modules

0.4.0

30 Jan 19:16
Compare
Choose a tag to compare
  • Remove circular dep support and using name in definitions are also removed
    🚀 BREAKING CHANGE! ; circular deps must be fixed in the projects which uses old version
  • Reimplement forRoot and forChild logic
  • Remove modulesMap
  • Generate more readable module names
  • Reimplement and optimize schema merge logic
  • Remove mergeModules
  • Add more unit tests
  • Implement better directiveResolvers logic
  • Make sure session is deleted from memory when WS connection is terminated
  • Custom logger definition enhancement
  • Move composeResolvers to utils
  • resolvers field is now able to take an array of resolvers.
import { GraphQLModule } from '@graphql-modules/core';
import { loadResolversFiles, loadSchemaFiles } from '@graphql-modules/sonar';
export const UserModule = new GraphQLModule({
  typeDefs: loadSchemaFiles(__dirname + '/schema/'),
  resolvers: loadResolversFiles(__dirname + '/resolvers/'),
});
  • FIX: Call middleware immediately after schema built
  • FIX: Expose ModuleSessionInfo
  • Add Default ProviderScope option; defaultProviderScope
  • Performance Improvements; initial schema construction and context builder is way faster. (80% / 90% short response time)

v0.3.0

21 Jan 06:56
Compare
Choose a tag to compare

core

@Injectable()
class SomeProvider {
 @Inject(SomeOtherProvider)
 someOtherProvider: SomeOtherProvider;
}
resolvers: InjectFunction(SomeProvider)(someProvider => ({
  foo: () => someProvider.foo()
}))

v0.2.18

24 Dec 11:25
Compare
Choose a tag to compare

epoxy

  • Fixed issues with merging GraphQL schemas that uses extend type syntax (#238)

core

di

  • Fixed issues with exported ProviderScope (now exported as valid enum)

v0.2.17

04 Dec 11:37
Compare
Choose a tag to compare
  • DI package is now seperated;
    • Injectable and Inject are now in @graphql-modules/di instead of @graphql-modules/core
  • Do not add an extra schema definition to the final typeDefs.
  • Introduce configRequired option; if it is true, it won't be able to generate schema without a valid configuration.
  • directiveResolvers support
  • Injection for factory functions using Inject decorator-like function.
  • Middleware option to mutate schema and injector
  • Fix schema merging
  • Do not emit scalars

v0.2.10

26 Nov 23:19
Compare
Choose a tag to compare

core

  • Fix IResolver typings
  • You can disable circular imports
    • mergeCircularImports: false
  • You can manipulate schema and other generated parts of module using middleware
    • middleware: ({ schema }) => { /*some logic*/ return { schema }; }

epoxy

  • Extension nodes are now supported
    • extend type Something
  • SchemaDefinition generation are now optional
    • useSchemaDefinition

v0.2.7

21 Nov 10:20
Compare
Choose a tag to compare

Epoxy

  • Fixed issue with schema merging where the root type names are different than the default (Query, Mutation, Subscription) (#195)

v0.2.6

20 Nov 19:30
Compare
Choose a tag to compare

Epoxy

  • Support resolvers factories
  • Fix content concatenation

Docs

  • Some updates

v0.2.5

20 Nov 00:48
Compare
Choose a tag to compare

Epoxy

  • Expose DocumentNode instead of string.

Core

  • Reflect the changes from epoxy API to expose DocumentNode.

Utils

  • Added missing getFieldsWithDirectives function.

v0.2.4

17 Nov 02:45
Compare
Choose a tag to compare

Epoxy

Logger

  • Logger package is now removed.

Core

  • Allow extraSchemas to be loaded into a module

v0.2.3

16 Nov 03:02
Compare
Choose a tag to compare

Core

  • Added missing config field inside GraphQLModule
  • Now reflect-metadata is optional dependency, but it should be added for DI.
  • Do not merge deeply contextBuilder results, use shallow merge instead to keep complex object types.