From 2c8ee6b16c1bb2b5dececa70354d7f4fff616497 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 26 Mar 2024 10:42:30 -0700 Subject: [PATCH] remove unused imports --- .../__snapshots__/generate-ts-data-schema.test.ts.snap | 6 ------ .../src/ts-schema-generator/generate-ts-schema.ts | 7 ++++++- .../src/ts-schema-generator/helpers.ts | 9 +++++++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/amplify-graphql-schema-generator/src/__tests__/__snapshots__/generate-ts-data-schema.test.ts.snap b/packages/amplify-graphql-schema-generator/src/__tests__/__snapshots__/generate-ts-data-schema.test.ts.snap index 3a658f7c65..5fa36d8e3d 100644 --- a/packages/amplify-graphql-schema-generator/src/__tests__/__snapshots__/generate-ts-data-schema.test.ts.snap +++ b/packages/amplify-graphql-schema-generator/src/__tests__/__snapshots__/generate-ts-data-schema.test.ts.snap @@ -3,8 +3,6 @@ exports[`Type name conversions basic models should generate correct typescript data schema 1`] = ` "/* eslint-disable */ import { a } from \\"@aws-amplify/data-schema\\"; -import { configure } from \\"@aws-amplify/data-schema/internals\\"; -import { secret } from \\"@aws-amplify/backend\\"; export const schema = a.schema({ \\"User\\": a.model({ @@ -26,8 +24,6 @@ export const schema = a.schema({ exports[`Type name conversions check all valid datatypes 1`] = ` "/* eslint-disable */ import { a } from \\"@aws-amplify/data-schema\\"; -import { configure } from \\"@aws-amplify/data-schema/internals\\"; -import { secret } from \\"@aws-amplify/backend\\"; export const schema = a.schema({ \\"Table\\": a.model({ @@ -57,8 +53,6 @@ export const schema = a.schema({ exports[`Type name conversions generates enum imports correctly 1`] = ` "/* eslint-disable */ import { a } from \\"@aws-amplify/data-schema\\"; -import { configure } from \\"@aws-amplify/data-schema/internals\\"; -import { secret } from \\"@aws-amplify/backend\\"; export const schema = a.schema({ \\"User\\": a.model({ diff --git a/packages/amplify-graphql-schema-generator/src/ts-schema-generator/generate-ts-schema.ts b/packages/amplify-graphql-schema-generator/src/ts-schema-generator/generate-ts-schema.ts index 03e7427991..553041d1f9 100644 --- a/packages/amplify-graphql-schema-generator/src/ts-schema-generator/generate-ts-schema.ts +++ b/packages/amplify-graphql-schema-generator/src/ts-schema-generator/generate-ts-schema.ts @@ -6,9 +6,14 @@ const file = ts.createSourceFile('schema.ts', '', ts.ScriptTarget.ESNext, false, const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed }); export const generateTypescriptDataSchema = (schema: Schema, config?: DataSourceConfig): string => { + const containsSecretName = !!config?.secretName; const result = printer.printList( ts.ListFormat.MultiLine, - ts.factory.createNodeArray([...createImportExpression(), ts.factory.createIdentifier('\n'), createSchema(schema, config)]), + ts.factory.createNodeArray([ + ...createImportExpression(containsSecretName), + ts.factory.createIdentifier('\n'), + createSchema(schema, config), + ]), file, ); return result; diff --git a/packages/amplify-graphql-schema-generator/src/ts-schema-generator/helpers.ts b/packages/amplify-graphql-schema-generator/src/ts-schema-generator/helpers.ts index e759704009..2aa42896b3 100644 --- a/packages/amplify-graphql-schema-generator/src/ts-schema-generator/helpers.ts +++ b/packages/amplify-graphql-schema-generator/src/ts-schema-generator/helpers.ts @@ -169,7 +169,7 @@ export const createSchema = (schema: Schema, config?: DataSourceConfig): ts.Node * Creates an import expression for typescript data schema * @returns Import statement in TS Node format */ -export const createImportExpression = (): ts.NodeArray => { +export const createImportExpression = (containsSecretName: boolean): ts.NodeArray => { const importStatement = ts.factory.createImportDeclaration( undefined, ts.factory.createImportClause( @@ -218,7 +218,12 @@ export const createImportExpression = (): ts.NodeArray => ' eslint-disable ', true, ); - return ts.factory.createNodeArray([importStatementWithEslintDisabled, internalsConfigureImportStatement, secretImportStatement]); + + const importExpressions = [importStatementWithEslintDisabled]; + if (containsSecretName) { + importExpressions.push(internalsConfigureImportStatement, secretImportStatement); + } + return ts.factory.createNodeArray(importExpressions); }; export const createConfigureExpression = (schema: Schema, config: DataSourceConfig): ts.Expression => {