Skip to content

Commit 4df95bd

Browse files
authored
Add utility getV2ClientModulePath (#76)
1 parent 5690340 commit 4df95bd

File tree

6 files changed

+22
-11
lines changed

6 files changed

+22
-11
lines changed

.changeset/khaki-pillows-sleep.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+
Add utility getV2ClientModulePath

src/transforms/v2-to-v3/utils/addV3ClientImport.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Collection, JSCodeshift } from "jscodeshift";
22

33
import { AddV3ClientModuleOptions } from "./addV3ClientModule";
44
import { PACKAGE_NAME } from "./config";
5+
import { getV2ClientModulePath } from "./getV2ClientModulePath";
56

67
export const addV3ClientImport = (
78
j: JSCodeshift,
@@ -29,7 +30,7 @@ export const addV3ClientImport = (
2930
.filter(
3031
(path) =>
3132
path.value.source.value === PACKAGE_NAME ||
32-
path.value.source.value === `aws-sdk/clients/${v2ClientName.toLowerCase()}`
33+
path.value.source.value === getV2ClientModulePath(v2ClientName)
3334
)
3435
.insertAfter(
3536
j.importDeclaration(

src/transforms/v2-to-v3/utils/addV3ClientRequire.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Collection, Identifier, JSCodeshift, ObjectPattern, Property } from "js
33
import { AddV3ClientModuleOptions } from "./addV3ClientModule";
44
import { PACKAGE_NAME } from "./config";
55
import { getRequireVariableDeclaration } from "./getRequireVariableDeclaration";
6+
import { getV2ClientModulePath } from "./getV2ClientModulePath";
67

78
export const addV3ClientRequire = (
89
j: JSCodeshift,
@@ -42,9 +43,9 @@ export const addV3ClientRequire = (
4243
}
4344

4445
// Insert after default require if present. If not, insert after client require.
45-
const clientRequireValue = `aws-sdk/clients/${v2ClientName.toLowerCase()}`;
46+
const v2ClientModulePath = getV2ClientModulePath(v2ClientName);
4647
const defaultRequireVarDeclaration = getRequireVariableDeclaration(j, source, PACKAGE_NAME);
47-
const clientRequireVarDeclaration = getRequireVariableDeclaration(j, source, clientRequireValue);
48+
const clientRequireVarDeclaration = getRequireVariableDeclaration(j, source, v2ClientModulePath);
4849

4950
const requireVarDeclaration =
5051
defaultRequireVarDeclaration.size() > 0

src/transforms/v2-to-v3/utils/getV2ClientModuleNames.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ import { CLIENT_NAMES } from "./config";
44
import { containsRequire } from "./containsRequire";
55
import { getImportIdentifierName } from "./getImportIdentifierName";
66
import { getRequireIdentifierName } from "./getRequireIdentifierName";
7+
import { getV2ClientModulePath } from "./getV2ClientModulePath";
78

89
export const getV2ClientModuleNames = (j: JSCodeshift, source: Collection<any>): string[] =>
9-
CLIENT_NAMES.map((clientName) => `aws-sdk/clients/${clientName.toLowerCase()}`)
10-
.map((v2ClientLiteralValue) =>
11-
containsRequire(j, source)
12-
? getRequireIdentifierName(j, source, v2ClientLiteralValue)
13-
: getImportIdentifierName(j, source, v2ClientLiteralValue)
14-
)
15-
.filter((v2ClientModuleName) => v2ClientModuleName !== undefined);
10+
CLIENT_NAMES.map((clientName) =>
11+
containsRequire(j, source)
12+
? getRequireIdentifierName(j, source, getV2ClientModulePath(clientName))
13+
: getImportIdentifierName(j, source, getV2ClientModulePath(clientName))
14+
).filter((v2ClientModuleName) => v2ClientModuleName !== undefined);
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { PACKAGE_NAME } from "./config";
2+
3+
export const getV2ClientModulePath = (v2ClientName: string) =>
4+
`${PACKAGE_NAME}/clients/${v2ClientName.toLowerCase()}`;

src/transforms/v2-to-v3/utils/removeV2ClientModule.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Collection, JSCodeshift } from "jscodeshift";
22

33
import { containsRequire } from "./containsRequire";
4+
import { getV2ClientModulePath } from "./getV2ClientModulePath";
45
import { removeImportIdentifierName } from "./removeImportIdentifierName";
56
import { removeRequireIdentifierName } from "./removeRequireIdentifierName";
67

@@ -11,7 +12,7 @@ export const removeV2ClientModule = (
1112
) => {
1213
const removeIdentifierNameOptions = {
1314
identifierName: v2ClientName,
14-
literalValue: `aws-sdk/clients/${v2ClientName.toLowerCase()}`,
15+
literalValue: getV2ClientModulePath(v2ClientName),
1516
};
1617
return containsRequire(j, source)
1718
? removeRequireIdentifierName(j, source, removeIdentifierNameOptions)

0 commit comments

Comments
 (0)