Skip to content

Commit d236d4c

Browse files
authored
Support named imports from "aws-sdk" (#245)
1 parent db6b1be commit d236d4c

26 files changed

+3653
-104
lines changed

.changeset/real-jars-obey.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"aws-sdk-js-codemod": patch
3+
---
4+
5+
Support named imports from "aws-sdk"
Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
1-
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2-
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
3-
import { getV3PackageImportsCode } from "./getV3PackageImportsCode";
1+
import { getServiceImportOutput } from "./getServiceImportOutput";
42

5-
export const getServiceImportDeepOutput = (codegenComment: string) => {
6-
let serviceImportOutputContent = `${codegenComment}\n`;
7-
8-
serviceImportOutputContent += getV3PackageImportsCode(CLIENT_NAMES);
9-
serviceImportOutputContent += `\n`;
10-
serviceImportOutputContent += getV3ClientsNewExpressionCode();
11-
12-
return serviceImportOutputContent;
13-
};
3+
export const getServiceImportDeepOutput = getServiceImportOutput;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2+
import { getV2ClientsNewExpressionCode } from "./getV2ClientsNewExpressionCode";
3+
4+
export const getServiceImportInput = (codegenComment: string) => {
5+
let serviceImportInputContent = `${codegenComment}\n`;
6+
7+
for (const clientName of CLIENT_NAMES) {
8+
serviceImportInputContent += `import { ${clientName} } from "aws-sdk";\n`;
9+
}
10+
serviceImportInputContent += `\n`;
11+
serviceImportInputContent += getV2ClientsNewExpressionCode();
12+
13+
return serviceImportInputContent;
14+
};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2+
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
3+
import { getV3PackageImportsCode } from "./getV3PackageImportsCode";
4+
5+
export const getServiceImportOutput = (codegenComment: string) => {
6+
let serviceImportOutputContent = `${codegenComment}\n`;
7+
8+
serviceImportOutputContent += getV3PackageImportsCode(CLIENT_NAMES);
9+
serviceImportOutputContent += `\n`;
10+
serviceImportOutputContent += getV3ClientsNewExpressionCode();
11+
12+
return serviceImportOutputContent;
13+
};
Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
1-
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2-
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
3-
import { getV3PackageRequireCode } from "./getV3PackageRequireCode";
1+
import { getServiceRequireOutput } from "./getServiceRequireOutput";
42

5-
export const getServiceRequireDeepOutput = (codegenComment: string) => {
6-
let serviceRequireOutputContent = `${codegenComment}\n`;
7-
8-
serviceRequireOutputContent += getV3PackageRequireCode(CLIENT_NAMES);
9-
serviceRequireOutputContent += `\n`;
10-
serviceRequireOutputContent += getV3ClientsNewExpressionCode();
11-
12-
return serviceRequireOutputContent;
13-
};
3+
export const getServiceRequireDeepOutput = getServiceRequireOutput;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2+
import { getV2ClientsNewExpressionCode } from "./getV2ClientsNewExpressionCode";
3+
4+
export const getServiceRequireInput = (codegenComment: string) => {
5+
let serviceRequireInputContent = `${codegenComment}\n`;
6+
7+
for (const clientName of CLIENT_NAMES) {
8+
serviceRequireInputContent += `const { ${clientName} } = require("aws-sdk");\n`;
9+
}
10+
serviceRequireInputContent += `\n`;
11+
serviceRequireInputContent += getV2ClientsNewExpressionCode();
12+
13+
return serviceRequireInputContent;
14+
};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { CLIENT_NAMES } from "../../src/transforms/v2-to-v3/utils/config";
2+
import { getV3ClientsNewExpressionCode } from "./getV3ClientsNewExpressionCode";
3+
import { getV3PackageRequireCode } from "./getV3PackageRequireCode";
4+
5+
export const getServiceRequireOutput = (codegenComment: string) => {
6+
let serviceRequireOutputContent = `${codegenComment}\n`;
7+
8+
serviceRequireOutputContent += getV3PackageRequireCode(CLIENT_NAMES);
9+
serviceRequireOutputContent += `\n`;
10+
serviceRequireOutputContent += getV3ClientsNewExpressionCode();
11+
12+
return serviceRequireOutputContent;
13+
};

scripts/generateNewClientTests/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@ import { getGlobalRequireInput } from "./getGlobalRequireInput";
99
import { getGlobalRequireOutput } from "./getGlobalRequireOutput";
1010
import { getServiceImportDeepInput } from "./getServiceImportDeepInput";
1111
import { getServiceImportDeepOutput } from "./getServiceImportDeepOutput";
12+
import { getServiceImportInput } from "./getServiceImportInput";
13+
import { getServiceImportOutput } from "./getServiceImportOutput";
1214
import { getServiceRequireDeepInput } from "./getServiceRequireDeepInput";
1315
import { getServiceRequireDeepOutput } from "./getServiceRequireDeepOutput";
16+
import { getServiceRequireInput } from "./getServiceRequireInput";
17+
import { getServiceRequireOutput } from "./getServiceRequireOutput";
1418

1519
// The "use strict" directive is added to so that comments can be attached to it.
1620
// Recast removes the comments while removing import/require.
@@ -28,8 +32,12 @@ const newClientTestsPath = join(__dirname, "..", "..", newClientsTestsFolder);
2832
["global-import.output.js", getGlobalImportOutput],
2933
["global-require.input.js", getGlobalRequireInput],
3034
["global-require.output.js", getGlobalRequireOutput],
35+
["service-import.input.js", getServiceImportInput],
36+
["service-import.output.js", getServiceImportOutput],
3137
["service-import-deep.input.js", getServiceImportDeepInput],
3238
["service-import-deep.output.js", getServiceImportDeepOutput],
39+
["service-require.input.js", getServiceRequireInput],
40+
["service-require.output.js", getServiceRequireOutput],
3341
["service-require-deep.input.js", getServiceRequireDeepInput],
3442
["service-require-deep.output.js", getServiceRequireDeepOutput],
3543
] as [string, (comment: string) => string][]) {

0 commit comments

Comments
 (0)