@christiango/unbarrel 0.12.12 → 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 -46
- package/lib/fixIssuesInBarrelFile.js.map +1 -1
- package/lib/flattenExportStar.d.ts +5 -1
- package/lib/flattenExportStar.d.ts.map +1 -1
- package/lib/flattenExportStar.js +34 -16
- 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,68 +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
|
-
const exportNamedDeclarations = [];
|
|
153
|
-
const isTypeOnlyExportStar = exportStatement.nodePath.node.exportKind === 'type';
|
|
154
|
-
for (const resolvedModuleDefinition of flattened) {
|
|
155
|
-
const specifier = t.exportSpecifier(t.identifier(resolvedModuleDefinition.importedName), t.identifier(resolvedModuleDefinition.exportedName));
|
|
156
|
-
// For export type star statements, make all the generated specifiers type only
|
|
157
|
-
if (resolvedModuleDefinition.typeOnly || isTypeOnlyExportStar) {
|
|
158
|
-
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)));
|
|
159
147
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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) {
|
|
167
171
|
if (specifier.type === 'ExportSpecifier' && specifier.exported.type === 'Identifier') {
|
|
168
172
|
const exportedName = specifier.exported.name;
|
|
169
173
|
const importedName = specifier.local.name;
|
|
170
|
-
// If this export points to another barrel file,
|
|
171
|
-
if ((0, getIssuesInBarrelFile_1.isBarrelFileReference)(absoluteFilePath,
|
|
172
|
-
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';
|
|
173
177
|
const resolvedExport = (0, getExportDefinitionFromReExport_1.getExportDefinitionFromReExport)(absoluteFilePath, {
|
|
174
178
|
type: importedName === 'default' ? 'defaultExport' : 'namedExport',
|
|
175
179
|
importedName,
|
|
176
180
|
exportedName,
|
|
177
|
-
importPath:
|
|
181
|
+
importPath: sourcePath,
|
|
178
182
|
typeOnly,
|
|
179
183
|
});
|
|
180
|
-
// Add a new export statement to the true
|
|
184
|
+
// Add a new export statement pointing directly to the true source module
|
|
181
185
|
const newSpecifier = t.exportSpecifier(t.identifier(resolvedExport.importedName), t.identifier(resolvedExport.exportedName));
|
|
182
186
|
// Preserve the type-only flag
|
|
183
187
|
if (resolvedExport.typeOnly) {
|
|
184
188
|
newSpecifier.exportKind = 'type';
|
|
185
189
|
}
|
|
186
|
-
|
|
187
|
-
// Remove the specifier from the
|
|
188
|
-
|
|
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);
|
|
189
193
|
astModified = true;
|
|
190
194
|
}
|
|
191
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,6 +1,10 @@
|
|
|
1
1
|
import { ResolvedModuleDefinition } from './getExportDefinitionFromReExport';
|
|
2
2
|
/**
|
|
3
|
-
* 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.
|
|
4
8
|
* @param absolutePathOfBarrelFile - The absolute path of the barrel file with the export * in it
|
|
5
9
|
* @param importPath - The relative path of the module that is being referenced by the export *
|
|
6
10
|
*/
|
|
@@ -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,16 +1,15 @@
|
|
|
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
|
*/
|
|
@@ -34,21 +33,40 @@ function flattenExportStar(absolutePathOfBarrelFile, importPath) {
|
|
|
34
33
|
if (!(0, importUtils_1.isInternalModule)(reExport.importPath)) {
|
|
35
34
|
continue;
|
|
36
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.
|
|
37
38
|
const reachableExports = (0, getAllExportDefinitionsReachableFromModule_1.getAllExportDefinitionsReachableFromModule)((0, importUtils_1.getAbsolutePathOfImport)(importAbsolutePath, reExport.importPath), absolutePathOfBarrelFile);
|
|
38
|
-
result.push(...reachableExports.map((exp) => ({
|
|
39
|
+
result.push(...reachableExports.map((exp) => ({
|
|
40
|
+
...exp,
|
|
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,
|
|
46
|
+
})));
|
|
39
47
|
}
|
|
40
48
|
else {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
if (!(0, importUtils_1.isInternalModule)(reExport.importPath)) {
|
|
50
|
+
// External packages: preserve the package path as-is since we can't resolve further
|
|
51
|
+
result.push({
|
|
52
|
+
type: 'resolvedModuleDefinition',
|
|
53
|
+
exportedName: reExport.exportedName,
|
|
54
|
+
importedName: reExport.type === 'namedExport' ? reExport.importedName : 'default',
|
|
55
|
+
importPath: reExport.importPath,
|
|
56
|
+
typeOnly: reExport.typeOnly,
|
|
57
|
+
});
|
|
45
58
|
}
|
|
46
59
|
else {
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
+
});
|
|
52
70
|
}
|
|
53
71
|
}
|
|
54
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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"}
|