Skip to content

Commit 1dc8390

Browse files
authored
Add default import equals from named import equals (#380)
1 parent 9a70d58 commit 1dc8390

File tree

2 files changed

+15
-17
lines changed

2 files changed

+15
-17
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ export const addV3ClientImportEquals = (
2121
}
2222

2323
if (newExpressionCount > 0 || clientTSTypeRefCount > 0) {
24-
addV3ClientDefaultImportEquals(j, source, options);
2524
addV3ClientNamedImportEquals(j, source, {
2625
...options,
2726
keyName: options.v3ClientName,

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

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

33
import { getV3ClientDefaultLocalName } from "../utils";
4+
import { addV3ClientDefaultImportEquals } from "./addV3ClientDefaultImportEquals";
45
import { getImportEqualsDeclaration } from "./getImportEqualsDeclaration";
56
import { getV3ClientRequireProperty } from "./getV3ClientRequireProperty";
67
import { V3ClientModulesOptions, V3ClientRequirePropertyOptions } from "./types";
78

89
export const addV3ClientNamedImportEquals = (
910
j: JSCodeshift,
1011
source: Collection<unknown>,
11-
{
12-
keyName,
13-
valueName,
14-
v2ClientLocalName,
15-
v3ClientPackageName,
16-
}: V3ClientModulesOptions & V3ClientRequirePropertyOptions
12+
options: V3ClientModulesOptions & V3ClientRequirePropertyOptions
1713
) => {
14+
const { keyName, valueName, ...v3ClientModulesOptions } = options;
15+
const { v2ClientLocalName, v3ClientPackageName } = v3ClientModulesOptions;
16+
1817
const v3ClientDefaultLocalName = getV3ClientDefaultLocalName(v2ClientLocalName);
1918
const namedImportObjectProperty = getV3ClientRequireProperty(j, { keyName, valueName });
2019

@@ -28,10 +27,10 @@ export const addV3ClientNamedImportEquals = (
2827
return;
2928
}
3029

31-
const existingImportEquals = source.find(
32-
j.TSImportEqualsDeclaration,
33-
getImportEqualsDeclaration(v3ClientPackageName)
34-
);
30+
const importEqualsDeclaration = getImportEqualsDeclaration(v3ClientPackageName);
31+
if (source.find(j.TSImportEqualsDeclaration, importEqualsDeclaration).size() === 0) {
32+
addV3ClientDefaultImportEquals(j, source, v3ClientModulesOptions);
33+
}
3534

3635
const varDeclaration = j.variableDeclaration("const", [
3736
j.variableDeclarator(
@@ -40,16 +39,16 @@ export const addV3ClientNamedImportEquals = (
4039
),
4140
]);
4241

43-
if (existingImportEquals.size()) {
44-
const v3ClientImportEquals = existingImportEquals.filter(
42+
const v3ClientImportEquals = source
43+
.find(j.TSImportEqualsDeclaration, importEqualsDeclaration)
44+
.filter(
4545
(importEqualsDeclaration) =>
4646
importEqualsDeclaration.value.id.name === v3ClientDefaultLocalName
4747
);
4848

49-
if (v3ClientImportEquals.size() > 0) {
50-
v3ClientImportEquals.at(0).insertAfter(varDeclaration);
51-
return;
52-
}
49+
if (v3ClientImportEquals.size() > 0) {
50+
v3ClientImportEquals.at(0).insertAfter(varDeclaration);
51+
return;
5352
}
5453

5554
// Unreachable code, throw error

0 commit comments

Comments
 (0)