Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/@graphql-codegen_cli-10496-dependencies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@graphql-codegen/cli": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/client-preset@^5.2.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/client-preset/v/5.2.0) (from `^5.1.2`, in `dependencies`)
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
10 changes: 10 additions & 0 deletions .changeset/@graphql-codegen_client-preset-10496-dependencies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
"@graphql-codegen/client-preset": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/typed-document-node@^6.1.3` ↗︎](https://www.npmjs.com/package/@graphql-codegen/typed-document-node/v/6.1.3) (from `^6.1.2`, in `dependencies`)
- Updated dependency [`@graphql-codegen/typescript@^5.0.5` ↗︎](https://www.npmjs.com/package/@graphql-codegen/typescript/v/5.0.5) (from `^5.0.4`, in `dependencies`)
- Updated dependency [`@graphql-codegen/typescript-operations@^5.0.5` ↗︎](https://www.npmjs.com/package/@graphql-codegen/typescript-operations/v/5.0.5) (from `^5.0.4`, in `dependencies`)
- Updated dependency [`@graphql-codegen/gql-tag-operations@5.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/gql-tag-operations/v/5.1.0) (from `5.0.5`, in `dependencies`)
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
- Updated dependency [`@graphql-codegen/visitor-plugin-common@^6.2.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/visitor-plugin-common/v/6.2.0) (from `^6.1.2`, in `dependencies`)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@graphql-codegen/gql-tag-operations": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
- Updated dependency [`@graphql-codegen/visitor-plugin-common@6.2.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/visitor-plugin-common/v/6.2.0) (from `6.1.2`, in `dependencies`)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@graphql-codegen/graphql-modules-preset": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
- Updated dependency [`@graphql-codegen/visitor-plugin-common@6.2.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/visitor-plugin-common/v/6.2.0) (from `6.1.2`, in `dependencies`)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@graphql-codegen/typed-document-node": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
- Updated dependency [`@graphql-codegen/visitor-plugin-common@6.2.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/visitor-plugin-common/v/6.2.0) (from `6.1.2`, in `dependencies`)
6 changes: 6 additions & 0 deletions .changeset/@graphql-codegen_typescript-10496-dependencies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@graphql-codegen/typescript": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
- Updated dependency [`@graphql-codegen/visitor-plugin-common@6.2.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/visitor-plugin-common/v/6.2.0) (from `6.1.2`, in `dependencies`)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@graphql-codegen/typescript-document-nodes": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
- Updated dependency [`@graphql-codegen/visitor-plugin-common@6.2.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/visitor-plugin-common/v/6.2.0) (from `6.1.2`, in `dependencies`)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@graphql-codegen/typescript-operations": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
- Updated dependency [`@graphql-codegen/typescript@^5.0.5` ↗︎](https://www.npmjs.com/package/@graphql-codegen/typescript/v/5.0.5) (from `^5.0.4`, in `dependencies`)
- Updated dependency [`@graphql-codegen/visitor-plugin-common@6.2.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/visitor-plugin-common/v/6.2.0) (from `6.1.2`, in `dependencies`)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@graphql-codegen/typescript-resolvers": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
- Updated dependency [`@graphql-codegen/typescript@^5.0.5` ↗︎](https://www.npmjs.com/package/@graphql-codegen/typescript/v/5.0.5) (from `^5.0.4`, in `dependencies`)
- Updated dependency [`@graphql-codegen/visitor-plugin-common@6.2.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/visitor-plugin-common/v/6.2.0) (from `6.1.2`, in `dependencies`)
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@graphql-codegen/visitor-plugin-common": patch
---
dependencies updates:
- Updated dependency [`@graphql-codegen/plugin-helpers@^6.1.0` ↗︎](https://www.npmjs.com/package/@graphql-codegen/plugin-helpers/v/6.1.0) (from `^6.0.0`, in `dependencies`)
6 changes: 6 additions & 0 deletions .changeset/clever-loops-crash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@graphql-codegen/visitor-plugin-common': minor
'@graphql-codegen/typescript-operations': minor
---

Add importSchemaTypesFrom support
5 changes: 5 additions & 0 deletions .changeset/curly-trees-lead.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@graphql-codegen/typescript-operations': major
---

BREAKING CHANGE: typescript-operations plugin now generates enum if it is used in operation.
6 changes: 6 additions & 0 deletions .changeset/khaki-turtles-juggle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@graphql-codegen/typescript-operations': major
'@graphql-codegen/typescript': minor
---

The `typescript-operations` plugin no longer generates InputMaybe and Scalars types; it now uses native Typescript types instead.
7 changes: 7 additions & 0 deletions .changeset/lovely-sloths-kiss.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@graphql-codegen/typescript-operations': major
'@graphql-codegen/typescript': major
'@graphql-codegen/client-preset': major
---

BREAKING CHANGE: `typescript` plugin no longer generates `Exact` utility type. Instead, `typescript-operations` generates said utility type for every file it creates. This is because it is used _only_ for `Variables`, so we only need to generate it once for every generated operation file.
5 changes: 5 additions & 0 deletions .changeset/proud-cougars-hear.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@graphql-codegen/visitor-plugin-common': major
---

BREAKING CHANGE: `@graphql-codegen/visitor-plugin-common`'s `base-types-visitor` no longer has `getNodeComment` or `buildEnumValuesBlock` method.
6 changes: 6 additions & 0 deletions .changeset/proud-jobs-decide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@graphql-codegen/visitor-plugin-common': minor
'@graphql-codegen/typescript-operations': minor
---

Add generatesOperationTypes to typescript-operations to allow omitting operation types such as Variables, Query/Mutation/Subscription selection set, and Fragment types
6 changes: 6 additions & 0 deletions .changeset/salty-guests-retire.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@graphql-codegen/typescript-operations': major
'@graphql-codegen/client-preset': major
---

Integrate new typescript-operations into client-preset
5 changes: 5 additions & 0 deletions .changeset/silly-kiwis-sip.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@graphql-codegen/typescript': patch
---

Extract utilities from base-type-visitor to be shared with other plugins later: convertSchemaEnumToDeclarationBlockString, getNodeComment
9 changes: 9 additions & 0 deletions .changeset/tidy-jobs-unite.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@graphql-codegen/visitor-plugin-common': patch
'@graphql-codegen/typescript-operations': patch
'@graphql-codegen/typescript': patch
'@graphql-codegen/typescript-resolvers': patch
'@graphql-codegen/client-preset': patch
---

Abstract how enum imports are generated into visitor-plugin-common package
2 changes: 2 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ on:
push:
branches:
- master
- master-next # FIXME:eddeee888 Remove once done
pull_request:
branches:
- master
- master-next # FIXME:eddeee888 Remove once released

env:
NODE_OPTIONS: '--max_old_space_size=4096'
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
FIXME:eddeee888

<div>
<img src="./logo.svg" width="150px" alt="GraphQL Code Generator logo"/>
<a href="https://the-guild.dev">
Expand Down
82 changes: 50 additions & 32 deletions dev-test/codegen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ const config: CodegenConfig = {
{ add: { content: 'declare namespace GraphQL {' } },
{ add: { placement: 'append', content: '}' } },
'typescript',
'typescript-operations',
],
},
'./dev-test/test-schema/env.types.ts': { schema: process.env.SCHEMA_PATH, plugins: ['typescript'] },
Expand All @@ -65,81 +64,81 @@ const config: CodegenConfig = {
'./dev-test/githunt/typed-document-nodes.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
plugins: ['typescript', 'typescript-operations', 'typed-document-node'],
plugins: ['typescript-operations', 'typed-document-node'],
},
'./dev-test/githunt/types.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/githunt/types.preResolveTypes.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
config: { preResolveTypes: true },
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/githunt/types.onlyEnums.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
config: { onlyEnums: true },
plugins: ['typescript'],
config: { generatesOperationTypes: false },
plugins: ['typescript-operations'],
},
'./dev-test/githunt/types.preResolveTypes.onlyOperationTypes.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
config: { preResolveTypes: true, onlyOperationTypes: true },
plugins: ['typescript', 'typescript-operations'],
config: { preResolveTypes: true },
plugins: ['typescript-operations'],
},
'./dev-test/githunt/types.flatten.preResolveTypes.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
config: { preResolveTypes: true, flattenGeneratedTypes: true },
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/githunt/types.enumsAsTypes.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
config: { enumsAsTypes: true },
plugins: ['typescript', 'typescript-operations'],
config: { enumType: 'string-literal' },
plugins: ['typescript-operations'],
},
'./dev-test/githunt/types.d.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
config: { enumsAsTypes: true },
plugins: ['typescript', 'typescript-operations'],
config: {},
plugins: ['typescript-operations'],
},
'./dev-test/githunt/types.avoidOptionals.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
config: { avoidOptionals: true },
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/githunt/types.immutableTypes.ts': {
schema: './dev-test/githunt/schema.json',
documents: './dev-test/githunt/**/*.graphql',
config: { immutableTypes: true },
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/star-wars/types.ts': {
schema: './dev-test/star-wars/schema.json',
documents: './dev-test/star-wars/**/*.graphql',
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/star-wars/types.excludeQueryAlpha.ts': {
schema: './dev-test/star-wars/schema.json',
documents: ['./dev-test/star-wars/**/*.graphql', '!./dev-test/star-wars/**/ExcludeQueryAlpha.graphql'],
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/star-wars/types.excludeQueryBeta.ts': {
schema: './dev-test/star-wars/schema.json',
documents: ['./dev-test/star-wars/**/*.graphql', '!./dev-test/star-wars/**/ExcludeQueryBeta.graphql'],
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/star-wars/types.preResolveTypes.ts': {
schema: './dev-test/star-wars/schema.json',
documents: './dev-test/star-wars/**/*.graphql',
config: { preResolveTypes: true },
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/star-wars/types.OnlyEnums.ts': {
schema: './dev-test/star-wars/schema.json',
Expand All @@ -150,25 +149,25 @@ const config: CodegenConfig = {
'./dev-test/star-wars/types.preResolveTypes.onlyOperationTypes.ts': {
schema: './dev-test/star-wars/schema.json',
documents: './dev-test/star-wars/**/*.graphql',
config: { preResolveTypes: true, onlyOperationTypes: true },
plugins: ['typescript', 'typescript-operations'],
config: { preResolveTypes: true },
plugins: ['typescript-operations'],
},
'./dev-test/test-schema/types.preResolveTypes.ts': {
schema: './dev-test/test-schema/schema.graphql',
documents: ['query test { testArr1 testArr2 testArr3 }'],
config: { preResolveTypes: true },
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/test-schema/types.preResolveTypes.onlyOperationTypes.ts': {
schema: './dev-test/test-schema/schema.graphql',
documents: ['query test { testArr1 testArr2 testArr3 }'],
config: { preResolveTypes: true, onlyOperationTypes: true },
plugins: ['typescript', 'typescript-operations'],
config: { preResolveTypes: true },
plugins: ['typescript-operations'],
},
'./dev-test/star-wars/types.d.ts': {
schema: './dev-test/star-wars/schema.json',
config: { enumsAsTypes: true },
plugins: ['typescript', 'typescript-operations'],
config: { enumType: 'string-literal' },
plugins: ['typescript-operations'],
},
'./dev-test/modules/': {
schema: './dev-test/modules/*/types/*.graphql',
Expand All @@ -179,25 +178,25 @@ const config: CodegenConfig = {
'./dev-test/star-wars/types.globallyAvailable.d.ts': {
schema: './dev-test/star-wars/schema.json',
documents: './dev-test/star-wars/**/*.graphql',
config: { enumsAsTypes: true, noExport: true },
plugins: ['typescript', 'typescript-operations'],
config: { noExport: true },
plugins: ['typescript-operations'],
},
'./dev-test/star-wars/types.avoidOptionals.ts': {
schema: './dev-test/star-wars/schema.json',
documents: './dev-test/star-wars/**/*.graphql',
config: { avoidOptionals: true },
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/star-wars/types.immutableTypes.ts': {
schema: './dev-test/star-wars/schema.json',
documents: './dev-test/star-wars/**/*.graphql',
config: { immutableTypes: true },
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/star-wars/types.skipSchema.ts': {
schema: './dev-test/star-wars/schema.json',
documents: './dev-test/star-wars/**/*.graphql',
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
},
'./dev-test/gql-tag-operations/gql/': {
schema: './dev-test/gql-tag-operations/schema.graphql',
Expand All @@ -224,7 +223,7 @@ const config: CodegenConfig = {
'./dev-test/test-null-value/result.d.ts': {
schema: './dev-test/test-null-value/schema.graphql',
documents: ['./dev-test/test-null-value/query.ts'],
plugins: ['typescript', 'typescript-operations'],
plugins: ['typescript-operations'],
config: {
// The combination of these two flags caused the following issue:
// https://github.com/dotansimha/graphql-code-generator/pull/9709
Expand Down Expand Up @@ -256,6 +255,25 @@ const config: CodegenConfig = {
},
},
},

// standalone-operations
'./dev-test/standalone-operations/import-schema-types/_base.generated.ts': {
schema: './dev-test/standalone-operations/schema.graphql',
documents: ['./dev-test/standalone-operations/import-schema-types/*.graphql'],
plugins: ['typescript-operations'],
config: {
generatesOperationTypes: false,
},
},
'./dev-test/standalone-operations/import-schema-types/_types.generated.ts': {
schema: './dev-test/standalone-operations/schema.graphql',
documents: ['./dev-test/standalone-operations/import-schema-types/*.graphql'],
plugins: ['typescript-operations'],
config: {
importSchemaTypesFrom: './dev-test/standalone-operations/import-schema-types/_base.generated.ts',
namespacedImportName: 'Types',
},
},
},
};

Expand Down
Loading