Skip to content

Commit a72bd0c

Browse files
authored
Rename Import to Module wherever required (#68)
1 parent 9e80878 commit a72bd0c

File tree

9 files changed

+41
-36
lines changed

9 files changed

+41
-36
lines changed

.changeset/afraid-sheep-beam.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+
Rename Import to Module wherever required

src/transforms/v2-to-v3/transformer.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import { API, FileInfo } from "jscodeshift";
33
import {
44
addV3ClientModule,
55
getClientMetadata,
6-
getV2ClientImportNames,
6+
getV2ClientModuleNames,
77
getV2ClientNames,
8-
getV2DefaultImportName,
8+
getV2DefaultModuleName,
99
removeDefaultModuleIfNotUsed,
1010
removePromiseCalls,
1111
removeV2ClientModule,
@@ -16,24 +16,24 @@ export default function transformer(file: FileInfo, api: API) {
1616
const j = api.jscodeshift;
1717
const source = j(file.source);
1818

19-
const v2DefaultImportName = getV2DefaultImportName(j, source);
20-
const v2ClientImportNames = getV2ClientImportNames(j, source);
21-
if (!v2DefaultImportName && v2ClientImportNames.length === 0) {
19+
const v2DefaultModuleName = getV2DefaultModuleName(j, source);
20+
const v2ClientModuleNames = getV2ClientModuleNames(j, source);
21+
if (!v2DefaultModuleName && v2ClientModuleNames.length === 0) {
2222
return source.toSource();
2323
}
2424

25-
const v2ClientNames = getV2ClientNames(j, source, { v2DefaultImportName, v2ClientImportNames });
25+
const v2ClientNames = getV2ClientNames(j, source, { v2DefaultModuleName, v2ClientModuleNames });
2626
const clientMetadata = getClientMetadata(v2ClientNames);
2727

2828
for (const [v2ClientName, v3ClientMetadata] of Object.entries(clientMetadata).reverse()) {
2929
const { v3ClientName, v3ClientPackageName } = v3ClientMetadata;
3030
addV3ClientModule(j, source, { v2ClientName, v3ClientName, v3ClientPackageName });
3131
removeV2ClientModule(j, source, v2ClientName);
32-
removePromiseCalls(j, source, { v2DefaultImportName, v2ClientName });
33-
replaceClientCreation(j, source, { v2DefaultImportName, v2ClientName, v3ClientName });
32+
removePromiseCalls(j, source, { v2DefaultModuleName, v2ClientName });
33+
replaceClientCreation(j, source, { v2DefaultModuleName, v2ClientName, v3ClientName });
3434
}
3535

36-
removeDefaultModuleIfNotUsed(j, source, v2DefaultImportName);
36+
removeDefaultModuleIfNotUsed(j, source, v2DefaultModuleName);
3737

3838
return source.toSource();
3939
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { Collection, Identifier, JSCodeshift } from "jscodeshift";
22

33
import { CLIENT_NAMES } from "./config";
44

5-
export const getV2ClientImportNames = (j: JSCodeshift, source: Collection<any>): string[] => {
6-
const v2ClientImportNames = [];
5+
export const getV2ClientModuleNames = (j: JSCodeshift, source: Collection<any>): string[] => {
6+
const v2ClientModuleNames = [];
77

88
for (const clientName of CLIENT_NAMES) {
99
// Add specifier name to v2ClientImportNames if it is imported in the source.
@@ -17,7 +17,7 @@ export const getV2ClientImportNames = (j: JSCodeshift, source: Collection<any>):
1717
specifier.type === "ImportDefaultSpecifier" ||
1818
specifier.type === "ImportNamespaceSpecifier"
1919
) {
20-
v2ClientImportNames.push(specifier.local.name);
20+
v2ClientModuleNames.push(specifier.local.name);
2121
}
2222
});
2323
});
@@ -33,9 +33,9 @@ export const getV2ClientImportNames = (j: JSCodeshift, source: Collection<any>):
3333
},
3434
})
3535
.forEach((declerationPath) => {
36-
v2ClientImportNames.push((declerationPath.value.id as Identifier).name);
36+
v2ClientModuleNames.push((declerationPath.value.id as Identifier).name);
3737
});
3838
}
3939

40-
return v2ClientImportNames;
40+
return v2ClientModuleNames;
4141
};

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import { Collection, Identifier, JSCodeshift, MemberExpression } from "jscodeshift";
22

33
export interface GetV2ClientNamesOptions {
4-
v2DefaultImportName: string;
5-
v2ClientImportNames: string[];
4+
v2DefaultModuleName: string;
5+
v2ClientModuleNames: string[];
66
}
77

88
export const getV2ClientNames = (
99
j: JSCodeshift,
1010
source: Collection<any>,
11-
{ v2DefaultImportName, v2ClientImportNames }: GetV2ClientNamesOptions
11+
{ v2DefaultModuleName, v2ClientModuleNames }: GetV2ClientNamesOptions
1212
): Array<string> => {
1313
const v2ClientNamesFromDefaultImport = source
1414
.find(j.NewExpression, {
1515
callee: {
1616
type: "MemberExpression",
17-
object: { type: "Identifier", name: v2DefaultImportName },
17+
object: { type: "Identifier", name: v2DefaultModuleName },
1818
property: { type: "Identifier" },
1919
},
2020
})
@@ -25,7 +25,7 @@ export const getV2ClientNames = (
2525

2626
// Merge v2ClientNamesFromDefaultImport with v2ClientImportNames with duplicates removed.
2727
return v2ClientNamesFromDefaultImport.concat(
28-
v2ClientImportNames.filter(
28+
v2ClientModuleNames.filter(
2929
(v2ClientImportName) => v2ClientNamesFromDefaultImport.indexOf(v2ClientImportName) < 0
3030
)
3131
);

src/transforms/v2-to-v3/utils/getV2DefaultImportName.ts renamed to src/transforms/v2-to-v3/utils/getV2DefaultModuleName.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { Collection, Identifier, JSCodeshift } from "jscodeshift";
22

3-
export const getV2DefaultImportName = (
3+
export const getV2DefaultModuleName = (
44
j: JSCodeshift,
55
source: Collection<any>
66
): string | undefined => {
7-
let v2DefaultImportName = undefined;
7+
let v2DefaultModuleName = undefined;
88

99
// Set specifier name in v2DefaultImportName if it is imported in the source.
1010
source
@@ -17,7 +17,7 @@ export const getV2DefaultImportName = (
1717
specifier.type === "ImportDefaultSpecifier" ||
1818
specifier.type === "ImportNamespaceSpecifier"
1919
) {
20-
v2DefaultImportName = specifier.local.name;
20+
v2DefaultModuleName = specifier.local.name;
2121
}
2222
});
2323
});
@@ -33,8 +33,8 @@ export const getV2DefaultImportName = (
3333
},
3434
})
3535
.forEach((declerationPath) => {
36-
v2DefaultImportName = (declerationPath.value.id as Identifier).name;
36+
v2DefaultModuleName = (declerationPath.value.id as Identifier).name;
3737
});
3838

39-
return v2DefaultImportName;
39+
return v2DefaultModuleName;
4040
};

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
export * from "./addV3ClientModule";
22
export * from "./containsRequire";
33
export * from "./getClientMetadata";
4-
export * from "./getV2ClientImportNames";
4+
export * from "./getV2ClientModuleNames";
55
export * from "./getV2ClientNames";
6-
export * from "./getV2DefaultImportName";
6+
export * from "./getV2DefaultModuleName";
77
export * from "./removeDefaultModuleIfNotUsed";
88
export * from "./removePromiseCalls";
99
export * from "./removeV2ClientModule";

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ import { removeDefaultRequire } from "./removeDefaultRequire";
77
export const removeDefaultModuleIfNotUsed = (
88
j: JSCodeshift,
99
source: Collection<any>,
10-
defaultImportName: string
10+
defaultModuleName: string
1111
) => {
12-
const identifierUsages = source.find(j.Identifier, { name: defaultImportName });
12+
const identifierUsages = source.find(j.Identifier, { name: defaultModuleName });
1313

1414
// Only usage is import/require.
1515
if (identifierUsages.size() === 1) {
1616
if (containsRequire(j, source)) {
17-
removeDefaultRequire(j, source, defaultImportName);
17+
removeDefaultRequire(j, source, defaultModuleName);
1818
} else {
19-
removeDefaultImport(j, source, defaultImportName);
19+
removeDefaultImport(j, source, defaultModuleName);
2020
}
2121
}
2222
};

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@ import { Collection, Identifier, JSCodeshift, MemberExpression } from "jscodeshi
22

33
export interface RemovePromiseCallsOptions {
44
v2ClientName: string;
5-
v2DefaultImportName: string;
5+
v2DefaultModuleName: string;
66
}
77

88
// Removes .promise() from client API calls.
99
export const removePromiseCalls = (
1010
j: JSCodeshift,
1111
source: Collection<any>,
12-
{ v2DefaultImportName, v2ClientName }: RemovePromiseCallsOptions
12+
{ v2DefaultModuleName, v2ClientName }: RemovePromiseCallsOptions
1313
): void => {
1414
source
1515
.find(j.VariableDeclarator, {
1616
id: { type: "Identifier" },
1717
init: {
1818
type: "NewExpression",
1919
callee: {
20-
object: { type: "Identifier", name: v2DefaultImportName },
20+
object: { type: "Identifier", name: v2DefaultModuleName },
2121
property: { type: "Identifier", name: v2ClientName },
2222
},
2323
},

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@ import { Collection, JSCodeshift } from "jscodeshift";
33
export interface ReplaceClientCreationOptions {
44
v2ClientName: string;
55
v3ClientName: string;
6-
v2DefaultImportName: string;
6+
v2DefaultModuleName: string;
77
}
88

99
// Replace v2 client creation with v3 client creation.
1010
export const replaceClientCreation = (
1111
j: JSCodeshift,
1212
source: Collection<any>,
13-
{ v2DefaultImportName, v2ClientName, v3ClientName }: ReplaceClientCreationOptions
13+
{ v2DefaultModuleName, v2ClientName, v3ClientName }: ReplaceClientCreationOptions
1414
): void => {
1515
// Replace clients created with default import.
1616
source
1717
.find(j.NewExpression, {
1818
callee: {
19-
object: { type: "Identifier", name: v2DefaultImportName },
19+
object: { type: "Identifier", name: v2DefaultModuleName },
2020
property: { type: "Identifier", name: v2ClientName },
2121
},
2222
})

0 commit comments

Comments
 (0)