eddeee888 / graphql-code-generator-plugins

List of GraphQL Code Generator plugins that complements the official plugins.
MIT License
51 stars 12 forks source link

Support extending non-root object types across multiple modules #182

Closed eddeee888 closed 1 year ago

eddeee888 commented 1 year ago

Given this schema:

# user/schema.graphql
type User {
  id: ID!
}

#  car/schema.graphql
extend type User {
  cars: [Car!]!
}

# house/schema.graphql
extend type User {
  housesOwned: [House!]!
  housesSold: [House!]!
}

It'd generate these files:

// user/resolvers/User.ts
export const User: Pick<UserResolvers, 'id'> = {
  // ...
}

// car/resolvers/User.ts
export const User: Pick<UserResolvers, 'cars'> = {
  // ...
}

// house/resolvers/User.ts
export const User: Pick<UserResolvers, 'housesOwned' | 'housesSold'> = {
  // ...
}

And the main resolver file:

// resolvers.generated.ts
import { User as user_User } from './user/resolvers/User';
import { User as car_User } from './car/resolvers/User';
import { User as house_User } from './house/resolvers/User';

export const resolvers: Resolvers = {
  User: {
    ...user_User,
    ...car_User,
    ...house_User,
  }
}
changeset-bot[bot] commented 1 year ago

🦋 Changeset detected

Latest commit: 2bf7b5737460ff8119b86ece759b98b5ff4079d8

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package | Name | Type | | ---------------------------------------- | ----- | | @eddeee888/gcg-typescript-resolver-files | Minor |

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

eddeee888 commented 1 year ago

/release-snapshot

github-actions[bot] commented 1 year ago

✅ Successfully published package/s with tag pr182-run298-1!

eddeee888 commented 1 year ago

/release-snapshot

github-actions[bot] commented 1 year ago

✅ Successfully published package/s with tag pr182-run302-1!

eddeee888 commented 1 year ago

/release-snapshot

github-actions[bot] commented 1 year ago

✅ Successfully published package/s with tag pr182-run304-1!

eddeee888 commented 1 year ago

/release-snapshot

github-actions[bot] commented 1 year ago

✅ Successfully published package/s with tag pr182-run306-1!