Skip to content

Commit

Permalink
Support named imports from "aws-sdk" (#245)
Browse files Browse the repository at this point in the history
  • Loading branch information
trivikr authored Dec 29, 2022
1 parent db6b1be commit d236d4c
Show file tree
Hide file tree
Showing 26 changed files with 3,653 additions and 104 deletions.
5 changes: 5 additions & 0 deletions .changeset/real-jars-obey.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"aws-sdk-js-codemod": patch
---

Support named imports from "aws-sdk"
14 changes: 2 additions & 12 deletions scripts/generateNewClientTests/getServiceImportDeepOutput.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
import { getV3PackageImportsCode } from "./getV3PackageImportsCode";
import { getServiceImportOutput } from "./getServiceImportOutput";

export const getServiceImportDeepOutput = (codegenComment: string) => {
let serviceImportOutputContent = `${codegenComment}\n`;

serviceImportOutputContent += getV3PackageImportsCode(CLIENT_NAMES);
serviceImportOutputContent += `\n`;
serviceImportOutputContent += getV3ClientsNewExpressionCode();

return serviceImportOutputContent;
};
export const getServiceImportDeepOutput = getServiceImportOutput;
14 changes: 14 additions & 0 deletions scripts/generateNewClientTests/getServiceImportInput.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
import { getV2ClientsNewExpressionCode } from "./getV2ClientsNewExpressionCode";

export const getServiceImportInput = (codegenComment: string) => {
let serviceImportInputContent = `${codegenComment}\n`;

for (const clientName of CLIENT_NAMES) {
serviceImportInputContent += `import { ${clientName} } from "aws-sdk";\n`;
}
serviceImportInputContent += `\n`;
serviceImportInputContent += getV2ClientsNewExpressionCode();

return serviceImportInputContent;
};
13 changes: 13 additions & 0 deletions scripts/generateNewClientTests/getServiceImportOutput.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
import { getV3PackageImportsCode } from "./getV3PackageImportsCode";

export const getServiceImportOutput = (codegenComment: string) => {
let serviceImportOutputContent = `${codegenComment}\n`;

serviceImportOutputContent += getV3PackageImportsCode(CLIENT_NAMES);
serviceImportOutputContent += `\n`;
serviceImportOutputContent += getV3ClientsNewExpressionCode();

return serviceImportOutputContent;
};
14 changes: 2 additions & 12 deletions scripts/generateNewClientTests/getServiceRequireDeepOutput.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
import { getV3PackageRequireCode } from "./getV3PackageRequireCode";
import { getServiceRequireOutput } from "./getServiceRequireOutput";

export const getServiceRequireDeepOutput = (codegenComment: string) => {
let serviceRequireOutputContent = `${codegenComment}\n`;

serviceRequireOutputContent += getV3PackageRequireCode(CLIENT_NAMES);
serviceRequireOutputContent += `\n`;
serviceRequireOutputContent += getV3ClientsNewExpressionCode();

return serviceRequireOutputContent;
};
export const getServiceRequireDeepOutput = getServiceRequireOutput;
14 changes: 14 additions & 0 deletions scripts/generateNewClientTests/getServiceRequireInput.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
import { getV2ClientsNewExpressionCode } from "./getV2ClientsNewExpressionCode";

export const getServiceRequireInput = (codegenComment: string) => {
let serviceRequireInputContent = `${codegenComment}\n`;

for (const clientName of CLIENT_NAMES) {
serviceRequireInputContent += `const { ${clientName} } = require("aws-sdk");\n`;
}
serviceRequireInputContent += `\n`;
serviceRequireInputContent += getV2ClientsNewExpressionCode();

return serviceRequireInputContent;
};
13 changes: 13 additions & 0 deletions scripts/generateNewClientTests/getServiceRequireOutput.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
import { getV3PackageRequireCode } from "./getV3PackageRequireCode";

export const getServiceRequireOutput = (codegenComment: string) => {
let serviceRequireOutputContent = `${codegenComment}\n`;

serviceRequireOutputContent += getV3PackageRequireCode(CLIENT_NAMES);
serviceRequireOutputContent += `\n`;
serviceRequireOutputContent += getV3ClientsNewExpressionCode();

return serviceRequireOutputContent;
};
8 changes: 8 additions & 0 deletions scripts/generateNewClientTests/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,12 @@ import { getGlobalRequireInput } from "./getGlobalRequireInput";
import { getGlobalRequireOutput } from "./getGlobalRequireOutput";
import { getServiceImportDeepInput } from "./getServiceImportDeepInput";
import { getServiceImportDeepOutput } from "./getServiceImportDeepOutput";
import { getServiceImportInput } from "./getServiceImportInput";
import { getServiceImportOutput } from "./getServiceImportOutput";
import { getServiceRequireDeepInput } from "./getServiceRequireDeepInput";
import { getServiceRequireDeepOutput } from "./getServiceRequireDeepOutput";
import { getServiceRequireInput } from "./getServiceRequireInput";
import { getServiceRequireOutput } from "./getServiceRequireOutput";

// The "use strict" directive is added to so that comments can be attached to it.
// Recast removes the comments while removing import/require.
Expand All @@ -28,8 +32,12 @@ const newClientTestsPath = join(__dirname, "..", "..", newClientsTestsFolder);
["global-import.output.js", getGlobalImportOutput],
["global-require.input.js", getGlobalRequireInput],
["global-require.output.js", getGlobalRequireOutput],
["service-import.input.js", getServiceImportInput],
["service-import.output.js", getServiceImportOutput],
["service-import-deep.input.js", getServiceImportDeepInput],
["service-import-deep.output.js", getServiceImportDeepOutput],
["service-require.input.js", getServiceRequireInput],
["service-require.output.js", getServiceRequireOutput],
["service-require-deep.input.js", getServiceRequireDeepInput],
["service-require-deep.output.js", getServiceRequireDeepOutput],
] as [string, (comment: string) => string][]) {
Expand Down
Loading

0 comments on commit d236d4c

Please sign in to comment.