Skip to content

Commit 9a70d58

Browse files
authored
Add key-value pair to existing var declarator in import equals (#379)
1 parent d57547b commit 9a70d58

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

src/transforms/v2-to-v3/modules/addV3ClientNamedImportEquals.ts

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

33
import { getV3ClientDefaultLocalName } from "../utils";
44
import { getImportEqualsDeclaration } from "./getImportEqualsDeclaration";
5+
import { getV3ClientRequireProperty } from "./getV3ClientRequireProperty";
56
import { V3ClientModulesOptions, V3ClientRequirePropertyOptions } from "./types";
67

78
export const addV3ClientNamedImportEquals = (
@@ -15,20 +16,26 @@ export const addV3ClientNamedImportEquals = (
1516
}: V3ClientModulesOptions & V3ClientRequirePropertyOptions
1617
) => {
1718
const v3ClientDefaultLocalName = getV3ClientDefaultLocalName(v2ClientLocalName);
19+
const namedImportObjectProperty = getV3ClientRequireProperty(j, { keyName, valueName });
20+
21+
const existingVarDeclarator = source.find(j.VariableDeclarator, {
22+
type: "VariableDeclarator",
23+
init: { type: "Identifier", name: v3ClientDefaultLocalName },
24+
});
25+
26+
if (existingVarDeclarator.size()) {
27+
existingVarDeclarator.get(0).node.id.properties.push(namedImportObjectProperty);
28+
return;
29+
}
30+
1831
const existingImportEquals = source.find(
1932
j.TSImportEqualsDeclaration,
2033
getImportEqualsDeclaration(v3ClientPackageName)
2134
);
2235

2336
const varDeclaration = j.variableDeclaration("const", [
2437
j.variableDeclarator(
25-
j.objectPattern([
26-
j.objectProperty.from({
27-
key: j.identifier(keyName),
28-
value: j.identifier(valueName),
29-
shorthand: true,
30-
}),
31-
]),
38+
j.objectPattern([namedImportObjectProperty]),
3239
j.identifier(v3ClientDefaultLocalName)
3340
),
3441
]);

0 commit comments

Comments
 (0)