@christiango/unbarrel 0.0.4 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/getBarrelFileReferencesInFile.d.ts +1 -1
- package/lib/getBarrelFileReferencesInFile.d.ts.map +1 -1
- package/lib/getBarrelFileReferencesInFile.js +5 -7
- package/lib/getBarrelFileReferencesInFile.js.map +1 -1
- package/lib/getExportsFromModule.d.ts.map +1 -1
- package/lib/getExportsFromModule.js +90 -28
- package/lib/getExportsFromModule.js.map +1 -1
- package/lib/importUtils.d.ts +5 -0
- package/lib/importUtils.d.ts.map +1 -1
- package/lib/importUtils.js +12 -3
- package/lib/importUtils.js.map +1 -1
- package/lib/resolveModulePath.d.ts.map +1 -1
- package/lib/resolveModulePath.js +2 -1
- package/lib/resolveModulePath.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ export interface BarrelFileReference {
|
|
|
3
3
|
barrelFilePath: string;
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
|
-
* Analyzes the exports of the provided file and returns any references to barrel files.
|
|
6
|
+
* Analyzes the exports of the provided file and returns any references to barrel files within the current package. External packages are not included.
|
|
7
7
|
* @param absoluteFilePath The absolute path the the file we will analyze
|
|
8
8
|
* @returns An array of barrel file references found in the file
|
|
9
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBarrelFileReferencesInFile.d.ts","sourceRoot":"","sources":["../src/getBarrelFileReferencesInFile.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,gBAAgB,EAAE,MAAM,GAAG,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"getBarrelFileReferencesInFile.d.ts","sourceRoot":"","sources":["../src/getBarrelFileReferencesInFile.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,gBAAgB,EAAE,MAAM,GAAG,mBAAmB,EAAE,CA6B7F"}
|
|
@@ -9,7 +9,7 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
9
9
|
const resolveModulePath_1 = require("./resolveModulePath");
|
|
10
10
|
const importUtils_1 = require("./importUtils");
|
|
11
11
|
/**
|
|
12
|
-
* Analyzes the exports of the provided file and returns any references to barrel files.
|
|
12
|
+
* Analyzes the exports of the provided file and returns any references to barrel files within the current package. External packages are not included.
|
|
13
13
|
* @param absoluteFilePath The absolute path the the file we will analyze
|
|
14
14
|
* @returns An array of barrel file references found in the file
|
|
15
15
|
*/
|
|
@@ -17,20 +17,18 @@ function getBarrelFileReferencesInFile(absoluteFilePath) {
|
|
|
17
17
|
const result = [];
|
|
18
18
|
const exports = (0, getExportsFromModule_1.getExportsFromModule)(absoluteFilePath);
|
|
19
19
|
for (const reExportToVisit of exports.reExports) {
|
|
20
|
+
// Only consider internal modules (relative paths)
|
|
20
21
|
if ((0, importUtils_1.isInternalModule)(reExportToVisit.importPath)) {
|
|
21
22
|
const potentialBarrelFilePath = (0, resolveModulePath_1.resolveModulePath)(node_path_1.default.resolve(node_path_1.default.dirname(absoluteFilePath), reExportToVisit.importPath));
|
|
22
23
|
const exportsFromPotentialBarrel = (0, getExportsFromModule_1.getExportsFromModule)(potentialBarrelFilePath);
|
|
23
|
-
if (exportsFromPotentialBarrel.reExports.length > 0
|
|
24
|
+
if (exportsFromPotentialBarrel.reExports.length > 0 &&
|
|
25
|
+
// Don't consider re-exports from external packages a barrel file reference
|
|
26
|
+
exportsFromPotentialBarrel.reExports.filter((e) => (0, importUtils_1.isInternalModule)(e.importPath)).length > 0) {
|
|
24
27
|
result.push({
|
|
25
28
|
barrelFilePath: (0, importUtils_1.convertAbsolutePathToRelativeImportPath)(potentialBarrelFilePath, node_path_1.default.dirname(absoluteFilePath)),
|
|
26
29
|
});
|
|
27
30
|
}
|
|
28
31
|
}
|
|
29
|
-
else {
|
|
30
|
-
result.push({
|
|
31
|
-
barrelFilePath: reExportToVisit.importPath,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
32
|
}
|
|
35
33
|
return result;
|
|
36
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBarrelFileReferencesInFile.js","sourceRoot":"","sources":["../src/getBarrelFileReferencesInFile.ts"],"names":[],"mappings":";;;;;AAeA,
|
|
1
|
+
{"version":3,"file":"getBarrelFileReferencesInFile.js","sourceRoot":"","sources":["../src/getBarrelFileReferencesInFile.ts"],"names":[],"mappings":";;;;;AAeA,sEA6BC;AA5CD,iEAA8D;AAC9D,0DAA6B;AAC7B,2DAAwD;AACxD,+CAA0F;AAO1F;;;;GAIG;AACH,SAAgB,6BAA6B,CAAC,gBAAwB;IACpE,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,IAAA,2CAAoB,EAAC,gBAAgB,CAAC,CAAC;IAEvD,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAChD,kDAAkD;QAClD,IAAI,IAAA,8BAAgB,EAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;YACjD,MAAM,uBAAuB,GAAG,IAAA,qCAAiB,EAC/C,mBAAI,CAAC,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CACzE,CAAC;YACF,MAAM,0BAA0B,GAAG,IAAA,2CAAoB,EAAC,uBAAuB,CAAC,CAAC;YAEjF,IACE,0BAA0B,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC/C,2EAA2E;gBAC3E,0BAA0B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAC7F,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,cAAc,EAAE,IAAA,qDAAuC,EACrD,uBAAuB,EACvB,mBAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAC/B;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExportsFromModule.d.ts","sourceRoot":"","sources":["../src/getExportsFromModule.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,eAAe,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,2BAA2B;AAC3B,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAE/E,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,0IAA0I;IAC1I,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,0IAA0I;IAC1I,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAE7F,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,6DAA6D;IAC7D,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"getExportsFromModule.d.ts","sourceRoot":"","sources":["../src/getExportsFromModule.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,aAAa,CAAC;IACpB,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,eAAe,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,2BAA2B;AAC3B,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAE/E,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,0IAA0I;IAC1I,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,0IAA0I;IAC1I,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAE7F,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,6DAA6D;IAC7D,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,aAAa,CA0K5E"}
|
|
@@ -71,12 +71,26 @@ function getExportsFromModule(absoluteFilePath) {
|
|
|
71
71
|
(0, traverse_1.default)(ast, {
|
|
72
72
|
ExportNamedDeclaration(path) {
|
|
73
73
|
if ('declaration' in path.node && path.node.declaration) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
74
|
+
if (path.node.declaration.type === 'VariableDeclaration') {
|
|
75
|
+
for (const declarator of path.node.declaration.declarations) {
|
|
76
|
+
const names = babel.types.isPatternLike(declarator.id) ? getIdentifiersFromPattern(declarator.id) : [];
|
|
77
|
+
for (const name of names) {
|
|
78
|
+
results.definitions.push({
|
|
79
|
+
type: 'namedExport',
|
|
80
|
+
name,
|
|
81
|
+
typeOnly: false,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const name = getNameFromDeclaration(path.node.declaration);
|
|
88
|
+
results.definitions.push({
|
|
89
|
+
type: 'namedExport',
|
|
90
|
+
name,
|
|
91
|
+
typeOnly: isTypeOnlyDeclaration(path.node.declaration),
|
|
92
|
+
});
|
|
93
|
+
}
|
|
80
94
|
}
|
|
81
95
|
else if (path.node.specifiers) {
|
|
82
96
|
if (path.node.specifiers.length > 0) {
|
|
@@ -157,19 +171,38 @@ function getExportsFromModule(absoluteFilePath) {
|
|
|
157
171
|
}
|
|
158
172
|
},
|
|
159
173
|
Declaration(path) {
|
|
160
|
-
if (path.
|
|
174
|
+
if (path.parentPath?.isProgram() && // Only consider top level declarations
|
|
175
|
+
path.node.type !== 'ImportDeclaration' &&
|
|
161
176
|
path.node.type !== 'ExportNamedDeclaration' &&
|
|
162
177
|
path.node.type !== 'ExportDefaultDeclaration' &&
|
|
163
178
|
path.node.type !== 'ExportAllDeclaration') {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
179
|
+
if (path.node.type === 'VariableDeclaration') {
|
|
180
|
+
for (const declarator of path.node.declarations) {
|
|
181
|
+
const names = getIdentifiersFromPattern(declarator.id);
|
|
182
|
+
for (const name of names) {
|
|
183
|
+
const candidateExportMatch = exportsToFindInSecondPass.get(name);
|
|
184
|
+
if (candidateExportMatch) {
|
|
185
|
+
results.definitions.push({
|
|
186
|
+
type: 'namedExport',
|
|
187
|
+
name: candidateExportMatch.exportedName,
|
|
188
|
+
typeOnly: candidateExportMatch.typeOnly || isTypeOnlyDeclaration(path.node),
|
|
189
|
+
});
|
|
190
|
+
exportsToFindInSecondPass.delete(name);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
const name = getNameFromDeclaration(path.node);
|
|
197
|
+
const candidateExportMatch = exportsToFindInSecondPass.get(name);
|
|
198
|
+
if (candidateExportMatch) {
|
|
199
|
+
results.definitions.push({
|
|
200
|
+
type: 'namedExport',
|
|
201
|
+
name: candidateExportMatch.exportedName,
|
|
202
|
+
typeOnly: candidateExportMatch.typeOnly || isTypeOnlyDeclaration(path.node),
|
|
203
|
+
});
|
|
204
|
+
exportsToFindInSecondPass.delete(name);
|
|
205
|
+
}
|
|
173
206
|
}
|
|
174
207
|
}
|
|
175
208
|
},
|
|
@@ -183,6 +216,47 @@ function getExportsFromModule(absoluteFilePath) {
|
|
|
183
216
|
function getImportedNameFromSpecifier(specifier) {
|
|
184
217
|
return specifier.imported.type === 'Identifier' ? specifier.imported.name : specifier.imported.value;
|
|
185
218
|
}
|
|
219
|
+
function getIdentifiersFromPattern(pattern) {
|
|
220
|
+
switch (pattern.type) {
|
|
221
|
+
case 'Identifier':
|
|
222
|
+
return [pattern.name];
|
|
223
|
+
case 'ObjectPattern':
|
|
224
|
+
return pattern.properties.flatMap((property) => {
|
|
225
|
+
if (property.type === 'ObjectProperty') {
|
|
226
|
+
if (property.value.type === 'Identifier') {
|
|
227
|
+
return [property.value.name];
|
|
228
|
+
}
|
|
229
|
+
if (babel.types.isPatternLike(property.value)) {
|
|
230
|
+
return getIdentifiersFromPattern(property.value);
|
|
231
|
+
}
|
|
232
|
+
return [];
|
|
233
|
+
}
|
|
234
|
+
if (property.type === 'RestElement') {
|
|
235
|
+
return getIdentifiersFromPattern(property.argument);
|
|
236
|
+
}
|
|
237
|
+
return [];
|
|
238
|
+
});
|
|
239
|
+
case 'ArrayPattern':
|
|
240
|
+
return pattern.elements.flatMap((element) => {
|
|
241
|
+
if (!element) {
|
|
242
|
+
return [];
|
|
243
|
+
}
|
|
244
|
+
if (element.type === 'Identifier') {
|
|
245
|
+
return [element.name];
|
|
246
|
+
}
|
|
247
|
+
if (element && babel.types.isPatternLike(element)) {
|
|
248
|
+
return getIdentifiersFromPattern(element);
|
|
249
|
+
}
|
|
250
|
+
return [];
|
|
251
|
+
});
|
|
252
|
+
case 'AssignmentPattern':
|
|
253
|
+
return getIdentifiersFromPattern(pattern.left);
|
|
254
|
+
case 'RestElement':
|
|
255
|
+
return getIdentifiersFromPattern(pattern.argument);
|
|
256
|
+
default:
|
|
257
|
+
return [];
|
|
258
|
+
}
|
|
259
|
+
}
|
|
186
260
|
function isTypeOnlyDeclaration(declaration) {
|
|
187
261
|
return declaration.type === 'TSTypeAliasDeclaration' || declaration.type === 'TSInterfaceDeclaration';
|
|
188
262
|
}
|
|
@@ -201,18 +275,6 @@ function getNameFromDeclaration(declaration) {
|
|
|
201
275
|
}
|
|
202
276
|
return declaration.id?.name;
|
|
203
277
|
}
|
|
204
|
-
if (declaration.type === 'VariableDeclaration') {
|
|
205
|
-
if (declaration.declarations.length === 0) {
|
|
206
|
-
throw new Error(`Variable declaration without any declarators found: ${declaration}`);
|
|
207
|
-
}
|
|
208
|
-
if (declaration.declarations.length > 1) {
|
|
209
|
-
throw new Error(`Variable declaration with multiple declarators found: ${declaration}`);
|
|
210
|
-
}
|
|
211
|
-
if (!('name' in declaration.declarations[0].id)) {
|
|
212
|
-
throw new Error(`Variable declaration without name found: ${declaration}`);
|
|
213
|
-
}
|
|
214
|
-
return declaration.declarations[0].id.name;
|
|
215
|
-
}
|
|
216
278
|
throw new Error(`getNameFromDeclaration currently does not support declaration type: ${declaration.type}`);
|
|
217
279
|
}
|
|
218
280
|
//# sourceMappingURL=getExportsFromModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExportsFromModule.js","sourceRoot":"","sources":["../src/getExportsFromModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA,
|
|
1
|
+
{"version":3,"file":"getExportsFromModule.js","sourceRoot":"","sources":["../src/getExportsFromModule.ts"],"names":[],"mappings":"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"}
|
package/lib/importUtils.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes any Windows style path separators into POSIX separators so the path can be used in import specifiers.
|
|
3
|
+
* @param filePath The path to normalize
|
|
4
|
+
*/
|
|
5
|
+
export declare function normalizeToPosixPath(filePath: string): string;
|
|
1
6
|
/**
|
|
2
7
|
* Returns true if the import path is to an internal module and false if it's an external package
|
|
3
8
|
* @param importPath The path to check
|
package/lib/importUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importUtils.d.ts","sourceRoot":"","sources":["../src/importUtils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"importUtils.d.ts","sourceRoot":"","sources":["../src/importUtils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAQnE;AAED;;;;GAIG;AACH,wBAAgB,uCAAuC,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGrG"}
|
package/lib/importUtils.js
CHANGED
|
@@ -3,10 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.normalizeToPosixPath = normalizeToPosixPath;
|
|
6
7
|
exports.isInternalModule = isInternalModule;
|
|
7
8
|
exports.convertToESMImportPath = convertToESMImportPath;
|
|
8
9
|
exports.convertAbsolutePathToRelativeImportPath = convertAbsolutePathToRelativeImportPath;
|
|
9
10
|
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
+
/**
|
|
12
|
+
* Normalizes any Windows style path separators into POSIX separators so the path can be used in import specifiers.
|
|
13
|
+
* @param filePath The path to normalize
|
|
14
|
+
*/
|
|
15
|
+
function normalizeToPosixPath(filePath) {
|
|
16
|
+
return filePath.split(node_path_1.default.sep).join(node_path_1.default.posix.sep);
|
|
17
|
+
}
|
|
10
18
|
/**
|
|
11
19
|
* Returns true if the import path is to an internal module and false if it's an external package
|
|
12
20
|
* @param importPath The path to check
|
|
@@ -21,10 +29,11 @@ function isInternalModule(importPath) {
|
|
|
21
29
|
* @returns The converted path, which is suitable for ESM imports
|
|
22
30
|
*/
|
|
23
31
|
function convertToESMImportPath(relativePath) {
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
const normalizedPath = normalizeToPosixPath(relativePath);
|
|
33
|
+
if (normalizedPath.startsWith('.')) {
|
|
34
|
+
return normalizedPath;
|
|
26
35
|
}
|
|
27
|
-
return './' +
|
|
36
|
+
return './' + normalizedPath;
|
|
28
37
|
}
|
|
29
38
|
/**
|
|
30
39
|
* Converts an absolute path to a relative ESM import path. For example /foo/bar/baz.ts turns into ./baz.ts for baseDir /foo/bar
|
package/lib/importUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importUtils.js","sourceRoot":"","sources":["../src/importUtils.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"importUtils.js","sourceRoot":"","sources":["../src/importUtils.ts"],"names":[],"mappings":";;;;;AAMA,oDAEC;AAOD,4CAEC;AAOD,wDAQC;AAOD,0FAGC;AA1CD,0DAA6B;AAE7B;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,OAAO,QAAQ,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,YAAoB;IACzD,MAAM,cAAc,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAE1D,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,GAAG,cAAc,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAgB,uCAAuC,CAAC,YAAoB,EAAE,OAAe;IAC3F,MAAM,YAAY,GAAG,mBAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveModulePath.d.ts","sourceRoot":"","sources":["../src/resolveModulePath.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveModulePath.d.ts","sourceRoot":"","sources":["../src/resolveModulePath.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAoCpE"}
|
package/lib/resolveModulePath.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.resolveModulePath = resolveModulePath;
|
|
7
7
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const importUtils_1 = require("./importUtils");
|
|
9
10
|
/** Given a module path, attempts to get the path to that module, accounting to the fact that the absolute path may be missing an extension or pointing to a barrel file (index.ts/js etc)
|
|
10
11
|
* @param absoluteModulePath - The absolute path to the module, which may be missing an extension or pointing to a directory
|
|
11
12
|
* @returns - The resolved absolute path to the module file
|
|
@@ -43,6 +44,6 @@ function resolveModulePath(absoluteModulePath) {
|
|
|
43
44
|
if (!resolvedFilePath) {
|
|
44
45
|
throw new Error(`Could not resolve module: ${absoluteModulePath}`);
|
|
45
46
|
}
|
|
46
|
-
return resolvedFilePath;
|
|
47
|
+
return (0, importUtils_1.normalizeToPosixPath)(resolvedFilePath);
|
|
47
48
|
}
|
|
48
49
|
//# sourceMappingURL=resolveModulePath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveModulePath.js","sourceRoot":"","sources":["../src/resolveModulePath.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"resolveModulePath.js","sourceRoot":"","sources":["../src/resolveModulePath.ts"],"names":[],"mappings":";;;;;AASA,8CAoCC;AA7CD,sDAAyB;AACzB,0DAA6B;AAE7B,+CAAqD;AAErD;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,kBAA0B;IAC1D,4EAA4E;IAC5E,IAAI,gBAAoC,CAAC;IACzC,IAAI,CAAC;QACH,mCAAmC;QACnC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;QAClE,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAEtE,kCAAkC;QAClC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,kBAAkB,GAAG,GAAG,CAAC;YAC1C,IAAI,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,gBAAgB,GAAG,QAAQ,CAAC;gBAC5B,MAAM;YACR,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;gBAC1D,IAAI,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,gBAAgB,GAAG,QAAQ,CAAC;oBAC5B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6BAA6B,kBAAkB,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,IAAA,kCAAoB,EAAC,gBAAgB,CAAC,CAAC;AAChD,CAAC"}
|