Skip to content

Commit 140298a

Browse files
Next major version feature branch (dotansimha#10218)
* [resolvers][federation] Fix mapper being incorrectly used as the base type for reference (dotansimha#10216) * [resolvers][federation] Add `__resolveReference` to applicable `Interface` entities, fix Interface types having non-meta resolver fields (dotansimha#10221) * Add __resolveReference for applicable Interfaces - Deprecate generateInternalResolversIfNeeded.__resolveReference - Fix tests - Deprecate onlyResolveTypeForInterfaces - Add changeset - Cleanup - Handle __resolveReference generation in Interface - Let FieldDefinition decide whether to generate __resolveReference by checking whether parent has resolvable key * Fix test * chore(dependencies): updated changesets for modified dependencies * chore(dependencies): updated changesets for modified dependencies * [resolvers] Ensure `__isTypeof` is only generated for implementing types (of Interfaces) or Union members (dotansimha#10283) * Implement logic to only generate __isTypeOf for implementing types OR union members * Remove unused types * Add changeset * Remove generateInternalResolversIfNeeded * Fix dev tests * Refactor to use parsedSchemaMeta * [resolvers][federation] Bring Federation reference selection set to ResolversParentTypes instead of each resolver (dotansimha#10297) * Bring reference selection set to ResolversParentTypes * Put back old types to extractReferenceSelectionSet * Update tests for TDD * Handle parent type consistently for __resolveReference and subsequent resolvers * Update tests * chore(dependencies): updated changesets for modified dependencies * Add missing changeset * chore(dependencies): updated changesets for modified dependencies * [resolvers][federation] Fix fields or types being wrong generated when marked with @external (dotansimha#10287) * Ensure @external does not generate resolver types - Handle external directive when part or whole type is marked - Add changeset - Add test cases for @provides and @external * Format and minor text updates * Add comments * Fix __resolveReference not getting generated * Fix test with __isTypeOf when not needed * Fix type cast that results in wrong type * Revert unncessary changes to FieldDefinitionPrintFn * Re-format * Convert to use AST Node instead of GraphQL Type * Update test template * Cache field nodes to generate for processed objects * Put FIXME on base-resolvers-visitor to remove Name method * Fix unit test * [resolvers][federation] Fix federation @requires type (dotansimha#10366) * Update test setup * Implement @requires combination * Add changeset * Force release alpha * Fix issue with empty array, set up tests * Generate FederationReferenceTypes once * Update tests related to FederationReferenceTypes * Update dev-tests * Revert force release * Update test related to mapper * [resolvers] Refactor to remove NameNode override and simplify federation functions (dotansimha#10377) * Remove NameNode override and refactor relevant references * Simplify federation utils by making functions handle nodes * Fix lint issue * CODEGEN-834 - [cli] Handle partial generation success (dotansimha#10376) * Add writeOnPartialSuccess flag to partially write successful generateiong * Update config name from writeOnPartialSuccess to allowPartialOutputs * Ensure consistent experience on complete failure, update tests * Restructure code and comment * Update website schema * Update doc * Drop Node 18 support (dotansimha#10392) * Drop Node 18 support * Add changeset * Drop graphql tools prisma loader (dotansimha#10400) * Drop @graphql-tools/prisma-loader * Add changeset * Update yarn.lock * Update tsconfig for Node 20 (dotansimha#10403) * Update tsconfig to Node 20 recommended version * Make babel allow declare TS field * Bump packages (dotansimha#10404) * Bump dependency-graph to ^1.0.0 * Bump nock to 14.0.0 * Bump debounce to v2 and remove types package * Bump ESM packages - chalk - detect-indent - log-symbols - auto-bind * Revert "Bump ESM packages" This reverts commit 7b79aaa. * Migrate jitit to v2 * Bump cosmiconfig to v9 * Add changesets * Use min. jiti v2.3.0 to handle default import like before * [CLI] Bump deps for next major version (dotansimha#10405) * Bump listr2 * Migrate implementation and update tests for listr2 * Migrate inquirer to inquirer/prompts * Remove old resolutions & update lock file (dotansimha#10407) * Remove unnecessary resolutions * Remove deprecated config options for next major version (dotansimha#10408) * Remove deprecated config - watchConfig - dedupeFragments - noGraphQLTag * Add changesets * Regen website schema * CODEGEN-840 - Handle empty object type better (dotansimha#10409) * Update ts-resolvers to handle {} correctly * Refactor types * Update ts-documents to handle {} better * Add changeset * Update tests * Migrate to Vitest (dotansimha#10410) * Install vitest * Set up vitest config * Install tsconfigPaths * Set up root vite config * Set up vitest project for typescript-resolvers * Set up vitest for plugins-helpers and fix ESM test * Set up client preset vitest project * Prepare for vitest.setup.ts * Set up vitest for graphql-modules-preset * Set up vitest for typescript plugin * Set up vitest for typed-document-node * Set up vitest for typescript-operations * Set up vitest for gql-tag-operations * Set up vitest in typescript-document-nodes * Set up vitest for visitor-plugin-common * Set up vitest for time plugin * Set up vitest for schema-ast plugin * Set up vitest for introspection plugin * Set up vitest for fragment-matcher plugin * Set up vitest for add * Set up vitest for graphql-codegen-core * Install memfs to support fs testing * Set up test config for cli * Fix init tests * Set up vitest for graphql-codegen-testing * Update linting rules for test files * Fix cli-* specs * Handle cwd mocking for CLI command * Fix cjs vs esm issues in codegen.spec * Fix config.spec * Fix watcher.spec and trim down the mocks * Migrate rest of examples to vitest * By jest things. Not even jesting 🤡 * Fix cache jest -> vitest * Fix lint issues and unncessary disables * Fix vitest spec * Fix test and generated things in examples * Fix vitest things * Bump ESM packages (dotansimha#10415) * Bump ESM packages * Add changeset * [typescript] Remove NameNode overrides (dotansimha#10416) * Avoid NameNode and StringValue string conversion * Add changeset * Remove CI config used for dev * [resolvers] Report if an object can have `__isTypeOf` resolver to output meta (dotansimha#10417) * Report hasIsTypeOf in meta * Add changeset * Revert "Remove CI config used for dev" This reverts commit 6d2c6e4. * Revert "Bump ESM packages (dotansimha#10415)" (dotansimha#10423) This reverts commit 939752c. * Remove branch debug * Update test setup: test once by default, and add watch flag to watch --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 9c1005b commit 140298a

229 files changed

Lines changed: 5243 additions & 4839 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.changeset/angry-lamps-notice.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@graphql-codegen/visitor-plugin-common': major
3+
'@graphql-codegen/typescript-resolvers': major
4+
'@graphql-codegen/plugin-helpers': major
5+
---
6+
7+
BREAKING CHANGES: Do not generate \_\_isTypeOf for non-implementing types or non-union members

‎.changeset/brave-days-heal.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@graphql-codegen/plugin-helpers': major
3+
---
4+
5+
Remove deprecated option `watchConfig`

‎.changeset/brave-meals-brake.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@graphql-codegen/cli': major
3+
---
4+
5+
Drop @graphql-tools/prisma-loader

‎.changeset/flat-ghosts-push.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@graphql-codegen/testing': major
3+
---
4+
5+
Bump depdendencies major versions:
6+
7+
- nock v14

‎.changeset/kind-donkeys-retire.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@graphql-codegen/visitor-plugin-common': major
3+
---
4+
5+
Remove deprecated config option `dedupeFragments`

‎.changeset/large-glasses-jump.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@graphql-codegen/visitor-plugin-common': major
3+
'@graphql-codegen/typescript': major
4+
---
5+
6+
Remove NameNode override

‎.changeset/long-dolphins-teach.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
'@graphql-codegen/visitor-plugin-common': major
3+
'@graphql-codegen/typescript-operations': major
4+
'@graphql-codegen/typescript-resolvers': major
5+
'@graphql-codegen/client-preset': major
6+
---
7+
8+
BREAKING CHANGE: Use Record<PropertyKey, never> instead of {} for empty object type

‎.changeset/loud-suits-admire.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
'@graphql-codegen/visitor-plugin-common': major
3+
'@graphql-codegen/typescript-resolvers': major
4+
'@graphql-codegen/plugin-helpers': major
5+
---
6+
7+
Ensure Federation Interfaces have `__resolveReference` if they are resolvable entities
8+
9+
BREAKING CHANGES: Deprecate `onlyResolveTypeForInterfaces` because majority of use cases cannot implement resolvers in Interfaces.
10+
BREAKING CHANGES: Deprecate `generateInternalResolversIfNeeded.__resolveReference` because types do not have `__resolveReference` if they are not Federation entities or are not resolvable. Users should not have to manually set this option. This option was put in to wait for this major version.

‎.changeset/lovely-snails-travel.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@graphql-codegen/visitor-plugin-common': major
3+
'@graphql-codegen/typescript-resolvers': major
4+
'@graphql-codegen/plugin-helpers': major
5+
---
6+
7+
BREAKING CHANGE: Improve Federation Entity's resolvers' parent param type: These types were using reference types inline. This makes it hard to handle mappers. The Parent type now all comes from ParentResolverTypes to make handling mappers and parent types simpler.

‎.changeset/many-pets-attend.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@graphql-codegen/plugin-helpers': minor
3+
'@graphql-codegen/cli': major
4+
---
5+
6+
Add `allowPartialOutputs` flag to partially write successful generation to files

0 commit comments

Comments
 (0)