From 9a21114ab882704099ecdbdadaeae691d30737d0 Mon Sep 17 00:00:00 2001 From: Jim Isaacs Date: Sun, 22 Aug 2021 07:30:53 -0700 Subject: [PATCH 1/6] generate instead of --- packages/apollo-codegen-typescript/src/language.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/apollo-codegen-typescript/src/language.ts b/packages/apollo-codegen-typescript/src/language.ts index 81e1e0dc6a..d1e41f8687 100644 --- a/packages/apollo-codegen-typescript/src/language.ts +++ b/packages/apollo-codegen-typescript/src/language.ts @@ -167,7 +167,7 @@ export default class TypescriptGenerator { } public import(types: GraphQLType[], source: string) { - return t.importDeclaration( + const node = t.importDeclaration( types.map(type => t.importSpecifier( t.identifier(type.toString()), @@ -176,5 +176,7 @@ export default class TypescriptGenerator { ), t.stringLiteral(source) ); + node.importKind = 'type'; + return node; } } From 7dacc99d1c00b602b9a2e8b0ae80d28a1b9a0a16 Mon Sep 17 00:00:00 2001 From: Jim Isaacs Date: Mon, 23 Aug 2021 16:56:10 +0000 Subject: [PATCH 2/6] Expect error until @types/babel-types is upgraded --- packages/apollo-codegen-typescript/src/language.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/apollo-codegen-typescript/src/language.ts b/packages/apollo-codegen-typescript/src/language.ts index d1e41f8687..b7f67b39f8 100644 --- a/packages/apollo-codegen-typescript/src/language.ts +++ b/packages/apollo-codegen-typescript/src/language.ts @@ -176,6 +176,8 @@ export default class TypescriptGenerator { ), t.stringLiteral(source) ); + // Expect error until @types/babel-types is upgraded + // @ts-expect-error node.importKind = 'type'; return node; } From 22db1d0cc64dd97413a46a6d386e2db082c3fb44 Mon Sep 17 00:00:00 2001 From: hwillson Date: Thu, 26 Aug 2021 14:47:21 -0400 Subject: [PATCH 3/6] Lint fixes --- packages/apollo-codegen-typescript/src/language.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/apollo-codegen-typescript/src/language.ts b/packages/apollo-codegen-typescript/src/language.ts index b7f67b39f8..4726ec5347 100644 --- a/packages/apollo-codegen-typescript/src/language.ts +++ b/packages/apollo-codegen-typescript/src/language.ts @@ -178,7 +178,7 @@ export default class TypescriptGenerator { ); // Expect error until @types/babel-types is upgraded // @ts-expect-error - node.importKind = 'type'; + node.importKind = "type"; return node; } } From 66f9f7ddd68c3fb2597f56bc7b00495b01866d92 Mon Sep 17 00:00:00 2001 From: hwillson Date: Thu, 26 Aug 2021 15:07:54 -0400 Subject: [PATCH 4/6] Update snapshots to include import type --- .../__snapshots__/codeGeneration.ts.snap | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/apollo-codegen-typescript/src/__tests__/__snapshots__/codeGeneration.ts.snap b/packages/apollo-codegen-typescript/src/__tests__/__snapshots__/codeGeneration.ts.snap index 21a94462b9..3467cfe458 100644 --- a/packages/apollo-codegen-typescript/src/__tests__/__snapshots__/codeGeneration.ts.snap +++ b/packages/apollo-codegen-typescript/src/__tests__/__snapshots__/codeGeneration.ts.snap @@ -673,7 +673,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { EnumCommentTestCase, Duplicate } from \\"./../../__generated__/globalTypes\\"; +import type { EnumCommentTestCase, Duplicate } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL mutation operation: duplicates @@ -739,7 +739,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { Episode } from \\"./../../__generated__/globalTypes\\"; +import type { Episode } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL query operation: HeroName @@ -865,7 +865,7 @@ export interface humanFragment { // @generated // This file was automatically generated and should not be edited. -import { Episode } from \\"./../../__generated__/globalTypes\\"; +import type { Episode } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL fragment: droidFragment @@ -1018,7 +1018,7 @@ export interface simpleFragment { // @generated // This file was automatically generated and should not be edited. -import { Episode } from \\"./../../__generated__/globalTypes\\"; +import type { Episode } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL fragment: anotherFragment @@ -1149,7 +1149,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { Episode } from \\"./../../__generated__/globalTypes\\"; +import type { Episode } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL query operation: HeroInlineFragment @@ -1218,7 +1218,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { Episode } from \\"./../../__generated__/globalTypes\\"; +import type { Episode } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL query operation: HeroName @@ -1321,7 +1321,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { Episode } from \\"./../../__generated__/globalTypes\\"; +import type { Episode } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL query operation: HeroName @@ -1436,7 +1436,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { EnumCommentTestCase } from \\"./../../__generated__/globalTypes\\"; +import type { EnumCommentTestCase } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL query operation: nesting @@ -1490,7 +1490,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { EnumCommentTestCase } from \\"./../../__generated__/globalTypes\\"; +import type { EnumCommentTestCase } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL query operation: nesting @@ -1544,7 +1544,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { Episode } from \\"./../../__generated__/globalTypes\\"; +import type { Episode } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL query operation: HeroFragment @@ -1682,7 +1682,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { Episode } from \\"./../../__generated__/globalTypes\\"; +import type { Episode } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL query operation: HeroName @@ -1751,7 +1751,7 @@ Array [ // @generated // This file was automatically generated and should not be edited. -import { Episode, ReviewInput } from \\"./../../__generated__/globalTypes\\"; +import type { Episode, ReviewInput } from \\"./../../__generated__/globalTypes\\"; // ==================================================== // GraphQL mutation operation: ReviewMovie From 9b62ad62438f4fd8f5743e38e3bbd7291490df49 Mon Sep 17 00:00:00 2001 From: hwillson Date: Thu, 26 Aug 2021 15:59:36 -0400 Subject: [PATCH 5/6] Remove hard coded check for an apollographql remoteUrl Yikes - clones won't have an `apollographql` based `remoteUrl`, which means this test has been failing for contributors for about 2 years :-(. --- packages/apollo/src/__tests__/git.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/apollo/src/__tests__/git.test.ts b/packages/apollo/src/__tests__/git.test.ts index 9881e72a00..b2e9a0066d 100644 --- a/packages/apollo/src/__tests__/git.test.ts +++ b/packages/apollo/src/__tests__/git.test.ts @@ -11,7 +11,7 @@ describe("Git integration", () => { expect(info.remoteUrl).toBeDefined(); // Match both ssh and http/s remotes expect(info.remoteUrl).toMatch( - /(https?:\/\/|git@)github.com(\/|:)apollographql\/apollo-tooling(.git)?/ + /(https?:\/\/|git@)github.com(\/|:)(.*)\/apollo-tooling(.git)?/ ); expect(info.message).toBeDefined(); expect(info.branch).toBeDefined(); From 17c3d8bd078019b9352492a51018afc00e8ecdf3 Mon Sep 17 00:00:00 2001 From: hwillson Date: Fri, 27 Aug 2021 09:20:01 -0400 Subject: [PATCH 6/6] Slight adjustment to the importKind expect error comment --- packages/apollo-codegen-typescript/src/language.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/apollo-codegen-typescript/src/language.ts b/packages/apollo-codegen-typescript/src/language.ts index 4726ec5347..191073fb02 100644 --- a/packages/apollo-codegen-typescript/src/language.ts +++ b/packages/apollo-codegen-typescript/src/language.ts @@ -176,7 +176,9 @@ export default class TypescriptGenerator { ), t.stringLiteral(source) ); - // Expect error until @types/babel-types is upgraded + // Expect an error until `@types/babel-types` is upgraded to match the + // `importKind` changes made to babel: + // https://github.com/babel/babel/issues/9485 // @ts-expect-error node.importKind = "type"; return node;