@christiango/unbarrel 0.12.13 → 0.13.0
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/fixIssuesInBarrelFile.d.ts.map +1 -1
- package/lib/fixIssuesInBarrelFile.js +50 -48
- package/lib/fixIssuesInBarrelFile.js.map +1 -1
- package/lib/flattenExportStar.d.ts +6 -9
- package/lib/flattenExportStar.d.ts.map +1 -1
- package/lib/flattenExportStar.js +30 -24
- package/lib/flattenExportStar.js.map +1 -1
- package/lib/getExportDefinitionFromReExport.d.ts.map +1 -1
- package/lib/getExportDefinitionFromReExport.js +4 -1
- package/lib/getExportDefinitionFromReExport.js.map +1 -1
- package/lib/getIssuesInBarrelFile.d.ts.map +1 -1
- package/lib/getIssuesInBarrelFile.js +8 -1
- package/lib/getIssuesInBarrelFile.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixIssuesInBarrelFile.d.ts","sourceRoot":"","sources":["../src/fixIssuesInBarrelFile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fixIssuesInBarrelFile.d.ts","sourceRoot":"","sources":["../src/fixIssuesInBarrelFile.ts"],"names":[],"mappings":"AAkFA,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,2GAA2G;IAC3G,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,GAAE,4BAAiC,QA0GzG"}
|
|
@@ -124,70 +124,72 @@ function fixIssuesInBarrelFile(absoluteFilePath, options = {}) {
|
|
|
124
124
|
const shouldFlattenExportStar = allFixesEnabled || options.enabledFixes?.flattenExportStar === true;
|
|
125
125
|
const shouldFixBarrelReferences = allFixesEnabled || options.enabledFixes?.fixBarrelReferences === true;
|
|
126
126
|
const ast = (0, parseUtils_1.parseTypescriptFile)(absoluteFilePath);
|
|
127
|
-
const exportStatements = [];
|
|
128
127
|
let astModified = false;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
if (exportStatement.type === 'exportStar' && shouldFlattenExportStar) {
|
|
151
|
-
const flattened = (0, flattenExportStar_1.flattenExportStar)(absoluteFilePath, exportStatement.nodePath.node.source.value, {
|
|
152
|
-
preserveOriginalImportPath: !shouldFixBarrelReferences,
|
|
153
|
-
});
|
|
154
|
-
const exportNamedDeclarations = [];
|
|
155
|
-
const isTypeOnlyExportStar = exportStatement.nodePath.node.exportKind === 'type';
|
|
156
|
-
for (const resolvedModuleDefinition of flattened) {
|
|
157
|
-
const specifier = t.exportSpecifier(t.identifier(resolvedModuleDefinition.importedName), t.identifier(resolvedModuleDefinition.exportedName));
|
|
158
|
-
// For export type star statements, make all the generated specifiers type only
|
|
159
|
-
if (resolvedModuleDefinition.typeOnly || isTypeOnlyExportStar) {
|
|
160
|
-
specifier.exportKind = 'type';
|
|
128
|
+
// Pass 1: Flatten export * statements into explicit named exports, using the original import path.
|
|
129
|
+
// The barrel reference fix in Pass 2 will then resolve any of those that point through barrel files.
|
|
130
|
+
if (shouldFlattenExportStar) {
|
|
131
|
+
(0, traverse_1.default)(ast, {
|
|
132
|
+
ExportAllDeclaration(path) {
|
|
133
|
+
if ((0, ignoreComment_1.hasIgnoreComment)(path.node))
|
|
134
|
+
return;
|
|
135
|
+
if (!(0, importUtils_1.isInternalModule)(path.node.source.value))
|
|
136
|
+
return;
|
|
137
|
+
const flattened = (0, flattenExportStar_1.flattenExportStar)(absoluteFilePath, path.node.source.value);
|
|
138
|
+
const isTypeOnlyExportStar = path.node.exportKind === 'type';
|
|
139
|
+
const exportNamedDeclarations = [];
|
|
140
|
+
for (const resolvedModuleDefinition of flattened) {
|
|
141
|
+
const specifier = t.exportSpecifier(t.identifier(resolvedModuleDefinition.importedName), t.identifier(resolvedModuleDefinition.exportedName));
|
|
142
|
+
// For export type * statements, mark all generated specifiers as type-only
|
|
143
|
+
if (resolvedModuleDefinition.typeOnly || isTypeOnlyExportStar) {
|
|
144
|
+
specifier.exportKind = 'type';
|
|
145
|
+
}
|
|
146
|
+
exportNamedDeclarations.push(t.exportNamedDeclaration(null, [specifier], t.stringLiteral(resolvedModuleDefinition.importPath)));
|
|
161
147
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
148
|
+
path.replaceWithMultiple(exportNamedDeclarations);
|
|
149
|
+
astModified = true;
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
// Pass 2: Fix barrel file references in all ExportNamedDeclaration nodes. A second traversal is
|
|
154
|
+
// used so that nodes generated by Pass 1 (which are now in the AST) are included.
|
|
155
|
+
if (shouldFixBarrelReferences) {
|
|
156
|
+
const namedExportPaths = [];
|
|
157
|
+
(0, traverse_1.default)(ast, {
|
|
158
|
+
ExportNamedDeclaration(path) {
|
|
159
|
+
if (!path.node.source)
|
|
160
|
+
return;
|
|
161
|
+
if ((0, ignoreComment_1.hasIgnoreComment)(path.node))
|
|
162
|
+
return;
|
|
163
|
+
namedExportPaths.push(path);
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
for (const nodePath of namedExportPaths) {
|
|
167
|
+
const sourcePath = nodePath.node.source.value;
|
|
168
|
+
if (!(0, importUtils_1.isInternalModule)(sourcePath))
|
|
169
|
+
continue;
|
|
170
|
+
for (const specifier of nodePath.node.specifiers) {
|
|
169
171
|
if (specifier.type === 'ExportSpecifier' && specifier.exported.type === 'Identifier') {
|
|
170
172
|
const exportedName = specifier.exported.name;
|
|
171
173
|
const importedName = specifier.local.name;
|
|
172
|
-
// If this export points to another barrel file,
|
|
173
|
-
if ((0, getIssuesInBarrelFile_1.isBarrelFileReference)(absoluteFilePath,
|
|
174
|
-
const typeOnly = specifier.exportKind === 'type' ||
|
|
174
|
+
// If this export points to another barrel file, replace it with a direct reference to the true source module
|
|
175
|
+
if ((0, getIssuesInBarrelFile_1.isBarrelFileReference)(absoluteFilePath, sourcePath, importedName)) {
|
|
176
|
+
const typeOnly = specifier.exportKind === 'type' || nodePath.node.exportKind === 'type';
|
|
175
177
|
const resolvedExport = (0, getExportDefinitionFromReExport_1.getExportDefinitionFromReExport)(absoluteFilePath, {
|
|
176
178
|
type: importedName === 'default' ? 'defaultExport' : 'namedExport',
|
|
177
179
|
importedName,
|
|
178
180
|
exportedName,
|
|
179
|
-
importPath:
|
|
181
|
+
importPath: sourcePath,
|
|
180
182
|
typeOnly,
|
|
181
183
|
});
|
|
182
|
-
// Add a new export statement to the true
|
|
184
|
+
// Add a new export statement pointing directly to the true source module
|
|
183
185
|
const newSpecifier = t.exportSpecifier(t.identifier(resolvedExport.importedName), t.identifier(resolvedExport.exportedName));
|
|
184
186
|
// Preserve the type-only flag
|
|
185
187
|
if (resolvedExport.typeOnly) {
|
|
186
188
|
newSpecifier.exportKind = 'type';
|
|
187
189
|
}
|
|
188
|
-
|
|
189
|
-
// Remove the specifier from the
|
|
190
|
-
|
|
190
|
+
nodePath.insertAfter(t.exportNamedDeclaration(null, [newSpecifier], t.stringLiteral(resolvedExport.importPath)));
|
|
191
|
+
// Remove the specifier from the original export statement
|
|
192
|
+
nodePath.node.specifiers = nodePath.node.specifiers.filter((s) => s !== specifier);
|
|
191
193
|
astModified = true;
|
|
192
194
|
}
|
|
193
195
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixIssuesInBarrelFile.js","sourceRoot":"","sources":["../src/fixIssuesInBarrelFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"fixIssuesInBarrelFile.js","sourceRoot":"","sources":["../src/fixIssuesInBarrelFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { ResolvedModuleDefinition } from './getExportDefinitionFromReExport';
|
|
2
|
-
export type FlattenExportStarOptions = {
|
|
3
|
-
/**
|
|
4
|
-
* Keep all flattened exports sourced from the original export-star import path,
|
|
5
|
-
* instead of resolving each symbol to its deepest source file.
|
|
6
|
-
*/
|
|
7
|
-
preserveOriginalImportPath?: boolean;
|
|
8
|
-
};
|
|
9
2
|
/**
|
|
10
|
-
* Takes an export star and
|
|
3
|
+
* Takes an export star and enumerates all named exports reachable by the export *, keeping the
|
|
4
|
+
* original import path for all internal re-exports. Barrel file reference resolution (i.e. resolving
|
|
5
|
+
* exports that point through intermediate barrel files to their true source) is intentionally left to
|
|
6
|
+
* a separate pass so that fixIssuesInBarrelFile can handle both flattened and pre-existing named
|
|
7
|
+
* exports uniformly.
|
|
11
8
|
* @param absolutePathOfBarrelFile - The absolute path of the barrel file with the export * in it
|
|
12
9
|
* @param importPath - The relative path of the module that is being referenced by the export *
|
|
13
10
|
*/
|
|
14
|
-
export declare function flattenExportStar(absolutePathOfBarrelFile: string, importPath: string
|
|
11
|
+
export declare function flattenExportStar(absolutePathOfBarrelFile: string, importPath: string): ResolvedModuleDefinition[];
|
|
15
12
|
//# sourceMappingURL=flattenExportStar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenExportStar.d.ts","sourceRoot":"","sources":["../src/flattenExportStar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flattenExportStar.d.ts","sourceRoot":"","sources":["../src/flattenExportStar.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAG7E;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAiElH"}
|
package/lib/flattenExportStar.js
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.flattenExportStar = flattenExportStar;
|
|
7
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
8
4
|
const getExportsFromModule_1 = require("./getExportsFromModule");
|
|
9
5
|
const importUtils_1 = require("./importUtils");
|
|
10
|
-
const getExportDefinitionFromReExport_1 = require("./getExportDefinitionFromReExport");
|
|
11
6
|
const getAllExportDefinitionsReachableFromModule_1 = require("./getAllExportDefinitionsReachableFromModule");
|
|
12
7
|
/**
|
|
13
|
-
* Takes an export star and
|
|
8
|
+
* Takes an export star and enumerates all named exports reachable by the export *, keeping the
|
|
9
|
+
* original import path for all internal re-exports. Barrel file reference resolution (i.e. resolving
|
|
10
|
+
* exports that point through intermediate barrel files to their true source) is intentionally left to
|
|
11
|
+
* a separate pass so that fixIssuesInBarrelFile can handle both flattened and pre-existing named
|
|
12
|
+
* exports uniformly.
|
|
14
13
|
* @param absolutePathOfBarrelFile - The absolute path of the barrel file with the export * in it
|
|
15
14
|
* @param importPath - The relative path of the module that is being referenced by the export *
|
|
16
15
|
*/
|
|
17
|
-
function flattenExportStar(absolutePathOfBarrelFile, importPath
|
|
16
|
+
function flattenExportStar(absolutePathOfBarrelFile, importPath) {
|
|
18
17
|
const result = [];
|
|
19
|
-
const preserveOriginalImportPath = options.preserveOriginalImportPath === true;
|
|
20
18
|
const importAbsolutePath = (0, importUtils_1.getAbsolutePathOfImport)(absolutePathOfBarrelFile, importPath);
|
|
21
19
|
const moduleExports = (0, getExportsFromModule_1.getExportsFromModule)(importAbsolutePath);
|
|
22
20
|
for (const definition of moduleExports.definitions) {
|
|
@@ -35,32 +33,40 @@ function flattenExportStar(absolutePathOfBarrelFile, importPath, options = {}) {
|
|
|
35
33
|
if (!(0, importUtils_1.isInternalModule)(reExport.importPath)) {
|
|
36
34
|
continue;
|
|
37
35
|
}
|
|
36
|
+
// Recursively collect all reachable export names, but always use the original importPath so
|
|
37
|
+
// the barrel reference fix pass can later resolve them to their true source modules.
|
|
38
38
|
const reachableExports = (0, getAllExportDefinitionsReachableFromModule_1.getAllExportDefinitionsReachableFromModule)((0, importUtils_1.getAbsolutePathOfImport)(importAbsolutePath, reExport.importPath), absolutePathOfBarrelFile);
|
|
39
39
|
result.push(...reachableExports.map((exp) => ({
|
|
40
40
|
...exp,
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
// Use exportedName as importedName: getAllExportDefinitionsReachableFromModule resolves
|
|
42
|
+
// importedName to the name in the deepest source file, but once we override importPath
|
|
43
|
+
// to the intermediate barrel the only name that barrel knows is its exported name.
|
|
44
|
+
importedName: exp.exportedName,
|
|
45
|
+
importPath,
|
|
43
46
|
})));
|
|
44
47
|
}
|
|
45
48
|
else {
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
if (!(0, importUtils_1.isInternalModule)(reExport.importPath)) {
|
|
50
|
+
// External packages: preserve the package path as-is since we can't resolve further
|
|
48
51
|
result.push({
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
type: 'resolvedModuleDefinition',
|
|
53
|
+
exportedName: reExport.exportedName,
|
|
54
|
+
importedName: reExport.type === 'namedExport' ? reExport.importedName : 'default',
|
|
55
|
+
importPath: reExport.importPath,
|
|
56
|
+
typeOnly: reExport.typeOnly,
|
|
52
57
|
});
|
|
53
58
|
}
|
|
54
|
-
else if (!(0, importUtils_1.isInternalModule)(resolved.importPath)) {
|
|
55
|
-
// If the resolved import path is external, keep it as-is
|
|
56
|
-
result.push(resolved);
|
|
57
|
-
}
|
|
58
59
|
else {
|
|
59
|
-
//
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
// namedExport or defaultExport (`import foo from './source'; export { foo }`): use the
|
|
61
|
+
// original importPath. isBarrelFileReference will flag this as a barrel reference and
|
|
62
|
+
// getExportDefinitionFromReExport will resolve it to the true source in the fix pass.
|
|
63
|
+
result.push({
|
|
64
|
+
type: 'resolvedModuleDefinition',
|
|
65
|
+
exportedName: reExport.exportedName,
|
|
66
|
+
importedName: reExport.exportedName,
|
|
67
|
+
importPath,
|
|
68
|
+
typeOnly: reExport.typeOnly,
|
|
69
|
+
});
|
|
64
70
|
}
|
|
65
71
|
}
|
|
66
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenExportStar.js","sourceRoot":"","sources":["../src/flattenExportStar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flattenExportStar.js","sourceRoot":"","sources":["../src/flattenExportStar.ts"],"names":[],"mappings":";;AAcA,8CAiEC;AA/ED,iEAA8D;AAC9D,+CAA0E;AAE1E,6GAA0G;AAE1G;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,wBAAgC,EAAE,UAAkB;IACpF,MAAM,MAAM,GAA+B,EAAE,CAAC;IAE9C,MAAM,kBAAkB,GAAG,IAAA,qCAAuB,EAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,IAAA,2CAAoB,EAAC,kBAAkB,CAAC,CAAC;IAE/D,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,0BAA0B;YAChC,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,UAAU;YACxB,UAAU;YACV,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC/C,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClC,0EAA0E;YAC1E,IAAI,CAAC,IAAA,8BAAgB,EAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,4FAA4F;YAC5F,qFAAqF;YACrF,MAAM,gBAAgB,GAAG,IAAA,uFAA0C,EACjE,IAAA,qCAAuB,EAAC,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChE,wBAAwB,CACzB,CAAC;YACF,MAAM,CAAC,IAAI,CACT,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAChC,GAAG,GAAG;gBACN,wFAAwF;gBACxF,uFAAuF;gBACvF,mFAAmF;gBACnF,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,UAAU;aACX,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAA,8BAAgB,EAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,oFAAoF;gBACpF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,0BAA0B;oBAChC,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,YAAY,EAAE,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;oBACjF,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;iBAC5B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,uFAAuF;gBACvF,sFAAsF;gBACtF,sFAAsF;gBACtF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,0BAA0B;oBAChC,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,UAAU;oBACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExportDefinitionFromReExport.d.ts","sourceRoot":"","sources":["../src/getExportDefinitionFromReExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAwB1G,4FAA4F;AAC5F,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,0BAA0B,CAAC;IACjC,kGAAkG;IAClG,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,YAAY,EAAE,MAAM,CAAC;IACrB,8IAA8I;IAC9I,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,oBAAoB,EAAE,MAAM,EAC5B,iBAAiB,EAAE,mBAAmB,GAAG,qBAAqB,GAC7D,wBAAwB,
|
|
1
|
+
{"version":3,"file":"getExportDefinitionFromReExport.d.ts","sourceRoot":"","sources":["../src/getExportDefinitionFromReExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAwB1G,4FAA4F;AAC5F,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,0BAA0B,CAAC;IACjC,kGAAkG;IAClG,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,YAAY,EAAE,MAAM,CAAC;IACrB,8IAA8I;IAC9I,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,oBAAoB,EAAE,MAAM,EAC5B,iBAAiB,EAAE,mBAAmB,GAAG,qBAAqB,GAC7D,wBAAwB,CAoK1B"}
|
|
@@ -120,7 +120,10 @@ function getExportDefinitionFromReExport(absolutePathOfModule, reExportToResolve
|
|
|
120
120
|
}
|
|
121
121
|
else if (reExport.type === 'defaultExport') {
|
|
122
122
|
if (reExportToResolve.type === 'defaultExport' ||
|
|
123
|
-
(reExportToResolve.type === 'namedExport' && reExportToResolve.importedName === 'default')
|
|
123
|
+
(reExportToResolve.type === 'namedExport' && reExportToResolve.importedName === 'default') ||
|
|
124
|
+
// `import foo from './source'; export { foo }` — a namedExport query for 'foo' should
|
|
125
|
+
// resolve through this defaultExport re-export since 'foo' is its exported name.
|
|
126
|
+
(reExportToResolve.type === 'namedExport' && reExport.exportedName === reExportToResolve.importedName)) {
|
|
124
127
|
const matchingDefinition = getExportDefinitionFromReExport(importAbsolutePath, reExport);
|
|
125
128
|
// If the resolved import path is external, keep it as-is (don't join with local path)
|
|
126
129
|
const resolvedImportPath = !(0, importUtils_1.isInternalModule)(matchingDefinition.importPath)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExportDefinitionFromReExport.js","sourceRoot":"","sources":["../src/getExportDefinitionFromReExport.ts"],"names":[],"mappings":";;;;;AA0CA,
|
|
1
|
+
{"version":3,"file":"getExportDefinitionFromReExport.js","sourceRoot":"","sources":["../src/getExportDefinitionFromReExport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIssuesInBarrelFile.d.ts","sourceRoot":"","sources":["../src/getIssuesInBarrelFile.ts"],"names":[],"mappings":"AAKA,mFAAmF;AACnF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,qBAAqB,CAAC;IAE5B,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IAErB,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG,wBAAwB,GAAG,cAAc,CAAC;AAExE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"getIssuesInBarrelFile.d.ts","sourceRoot":"","sources":["../src/getIssuesInBarrelFile.ts"],"names":[],"mappings":"AAKA,mFAAmF;AACnF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,qBAAqB,CAAC;IAE5B,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IAErB,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG,wBAAwB,GAAG,cAAc,CAAC;AAExE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CA+CjH;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,eAAe,EAAE,CAoCjF"}
|
|
@@ -25,11 +25,18 @@ function isBarrelFileReference(absoluteFilePath, importPath, importedName) {
|
|
|
25
25
|
if (matchingExport) {
|
|
26
26
|
return false;
|
|
27
27
|
}
|
|
28
|
-
// Check if it's a re-export from an internal module (barrel file reference)
|
|
28
|
+
// Check if it's a named re-export from an internal module (barrel file reference)
|
|
29
29
|
const matchingReExport = targetExports.reExports.find((reExport) => reExport.type === 'namedExport' && reExport.exportedName === importedName);
|
|
30
30
|
if (matchingReExport !== undefined && (0, importUtils_1.isInternalModule)(matchingReExport.importPath)) {
|
|
31
31
|
return true;
|
|
32
32
|
}
|
|
33
|
+
// Check for defaultExport re-exports: `import foo from './source'; export { foo }` is recorded
|
|
34
|
+
// by getExportsFromModule as a defaultExport re-export with exportedName === 'foo'. This is
|
|
35
|
+
// an indirection through the intermediate module and counts as a barrel file reference.
|
|
36
|
+
const matchingDefaultReExport = targetExports.reExports.find((reExport) => reExport.type === 'defaultExport' && reExport.exportedName === importedName);
|
|
37
|
+
if (matchingDefaultReExport !== undefined && (0, importUtils_1.isInternalModule)(matchingDefaultReExport.importPath)) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
33
40
|
// Check if the target is a barrel file with export * statements
|
|
34
41
|
// If it has export * from internal modules and the export is not defined/explicitly re-exported in the target,
|
|
35
42
|
// then the target is acting as a barrel file forwarder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIssuesInBarrelFile.js","sourceRoot":"","sources":["../src/getIssuesInBarrelFile.ts"],"names":[],"mappings":";;;;;AAgCA,
|
|
1
|
+
{"version":3,"file":"getIssuesInBarrelFile.js","sourceRoot":"","sources":["../src/getIssuesInBarrelFile.ts"],"names":[],"mappings":"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"}
|