eslint-plugin-fast-import 1.4.3 → 1.4.4
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/CHANGELOG.md +4 -0
- package/dist/module/child.d.ts +1 -0
- package/dist/module/child.js +13 -0
- package/dist/module/child.js.map +1 -0
- package/dist/module/computeBaseFileDetails.d.ts +11 -0
- package/dist/module/computeBaseFileDetails.js +533 -0
- package/dist/module/computeBaseFileDetails.js.map +1 -0
- package/dist/module/computeBaseIPC.d.ts +8 -0
- package/dist/module/computeBaseIPC.js +35 -0
- package/dist/module/computeBaseIPC.js.map +1 -0
- package/dist/module/computeBaseInfoIPC.d.ts +11 -0
- package/dist/module/computeBaseInfoIPC.js +38 -0
- package/dist/module/computeBaseInfoIPC.js.map +1 -0
- package/dist/module/computeBaseInfoOrchestrator.d.ts +7 -0
- package/dist/module/computeBaseInfoOrchestrator.js +29 -0
- package/dist/module/computeBaseInfoOrchestrator.js.map +1 -0
- package/dist/module/computeBaseInfoWorker.d.ts +35 -0
- package/dist/module/computeBaseInfoWorker.js +85 -0
- package/dist/module/computeBaseInfoWorker.js.map +1 -0
- package/dist/module/computeFileDetails.d.ts +1 -0
- package/dist/module/computeFileDetails.js +511 -0
- package/dist/module/computeFileDetails.js.map +1 -0
- package/dist/module/computeResolvedInfo.js +9 -7
- package/dist/module/computeResolvedInfo.js.map +1 -1
- package/dist/module/empty.d.ts +1 -0
- package/dist/module/empty.js +3 -0
- package/dist/module/empty.js.map +1 -0
- package/dist/module/getEntryPointCheck.d.ts +5 -0
- package/dist/module/getEntryPointCheck.js +30 -0
- package/dist/module/getEntryPointCheck.js.map +1 -0
- package/dist/module/module.js +2 -1
- package/dist/module/module.js.map +1 -1
- package/dist/module/parent.d.ts +1 -0
- package/dist/module/parent.js +124 -0
- package/dist/module/parent.js.map +1 -0
- package/dist/module/util.d.ts +44 -0
- package/dist/module/util.js +69 -0
- package/dist/module/util.js.map +1 -0
- package/dist/rules/circular/circular.d.ts +2 -0
- package/dist/rules/circular/circular.js +109 -0
- package/dist/rules/circular/circular.js.map +1 -0
- package/dist/rules/cycle/cycle.js +15 -4
- package/dist/rules/cycle/cycle.js.map +1 -1
- package/dist/rules/missing/missing.d.ts +1 -0
- package/dist/rules/missing/missing.js +131 -0
- package/dist/rules/missing/missing.js.map +1 -0
- package/dist/rules/util.js +6 -6
- package/dist/rules/util.js.map +1 -1
- package/dist/settings/settings.d.ts +2 -1
- package/dist/settings/settings.js +83 -32
- package/dist/settings/settings.js.map +1 -1
- package/dist/settings/user.d.ts +4 -4
- package/dist/settings/util.d.ts +1 -0
- package/dist/settings/util.js +31 -0
- package/dist/settings/util.js.map +1 -0
- package/dist/types/range.d.ts +1 -0
- package/dist/types/range.js +2 -0
- package/dist/types/range.js.map +1 -0
- package/dist/util/files.js +22 -22
- package/dist/util/files.js.map +1 -1
- package/dist/util/test.d.ts +1 -0
- package/dist/util/test.js +3 -0
- package/dist/util/test.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { parseFile } from './util.js';
|
|
2
|
+
const codeFilesToParse = JSON.parse(process.argv[2]);
|
|
3
|
+
const start = Date.now();
|
|
4
|
+
for (const codeFileToParse of codeFilesToParse) {
|
|
5
|
+
try {
|
|
6
|
+
parseFile(codeFileToParse);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
//
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
console.log(Date.now() - start);
|
|
13
|
+
//# sourceMappingURL=child.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child.js","sourceRoot":"","sources":["../../src/module/child.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAa,CAAC;AAEjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,SAAS,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,EAAE;IACJ,CAAC;AACH,CAAC;AACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TSESTree } from '@typescript-eslint/typescript-estree';
|
|
2
|
+
import type { BaseCodeFileDetails } from '../types/base.js';
|
|
3
|
+
type IsEntryPointCheck = (filePath: string, symbolName: string) => boolean;
|
|
4
|
+
type ComputeFileDetailsOptions = {
|
|
5
|
+
filePath: string;
|
|
6
|
+
fileContents: string;
|
|
7
|
+
ast: TSESTree.Program;
|
|
8
|
+
isEntryPointCheck: IsEntryPointCheck;
|
|
9
|
+
};
|
|
10
|
+
export declare function computeFileDetails({ filePath, fileContents, ast, isEntryPointCheck, }: ComputeFileDetailsOptions): BaseCodeFileDetails;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,533 @@
|
|
|
1
|
+
import { TSESTree } from '@typescript-eslint/typescript-estree';
|
|
2
|
+
import { InternalError } from '../util/error.js';
|
|
3
|
+
import { traverse } from './util.js';
|
|
4
|
+
// Exports are almost always identifiers, but on rare occasions they can
|
|
5
|
+
// actually be strings, such as in:
|
|
6
|
+
//
|
|
7
|
+
// const x = 10;
|
|
8
|
+
// export { x as 'some string' };
|
|
9
|
+
//
|
|
10
|
+
// We actually don't care if the name is an identifier or string though, so this
|
|
11
|
+
// function normalizes the value
|
|
12
|
+
function getIdentifierOrStringValue(node) {
|
|
13
|
+
return node.type === TSESTree.AST_NODE_TYPES.Identifier
|
|
14
|
+
? node.name
|
|
15
|
+
: node.value;
|
|
16
|
+
}
|
|
17
|
+
function isDefault(statementNode) {
|
|
18
|
+
return (statementNode.type === TSESTree.AST_NODE_TYPES.ExportDefaultDeclaration);
|
|
19
|
+
}
|
|
20
|
+
/* istanbul ignore next */
|
|
21
|
+
class UnknownNodeTypeError extends InternalError {
|
|
22
|
+
constructor(filePath, fileContents, node) {
|
|
23
|
+
super(
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
|
|
25
|
+
`unknown AST node type ${node.type}`, {
|
|
26
|
+
filePath,
|
|
27
|
+
fileContents,
|
|
28
|
+
range: node.range,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function getRangeOfDefaultToken(node, tokens, filePath) {
|
|
33
|
+
/* istanbul ignore if */
|
|
34
|
+
if (!tokens) {
|
|
35
|
+
throw new InternalError(`tokens is unexpectedly undefined`);
|
|
36
|
+
}
|
|
37
|
+
for (const token of tokens) {
|
|
38
|
+
if (token.range[0] < node.range[0] || token.range[1] > node.range[1]) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (token.type === TSESTree.AST_TOKEN_TYPES.Keyword &&
|
|
42
|
+
token.value === 'default') {
|
|
43
|
+
return token.range;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/* istanbul ignore next */
|
|
47
|
+
throw new InternalError('Could not get report nore', {
|
|
48
|
+
filePath,
|
|
49
|
+
range: node.range,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
// This helper walks export destructure, which is by far the most complicated
|
|
53
|
+
// part of parsing exports because destructures can be destructured recursively,
|
|
54
|
+
// e.g. `export const [ [ { something } ] ] = [ [ { something: 10 } ] ]`
|
|
55
|
+
function walkExportDestructure(filePath, fileContents, fileDetails, statementNode, node, isEntryPointCheck) {
|
|
56
|
+
switch (node.type) {
|
|
57
|
+
// export const [ foo, bar ] = []
|
|
58
|
+
case TSESTree.AST_NODE_TYPES.ArrayPattern: {
|
|
59
|
+
for (const elementNode of node.elements) {
|
|
60
|
+
// Check if this is an array hole, e.g. `[a, , b]`, and if so skip
|
|
61
|
+
if (elementNode) {
|
|
62
|
+
walkExportDestructure(filePath, fileContents, fileDetails, statementNode, elementNode, isEntryPointCheck);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
// export const { ... } = {}
|
|
68
|
+
case TSESTree.AST_NODE_TYPES.ObjectPattern: {
|
|
69
|
+
for (const propertyNode of node.properties) {
|
|
70
|
+
// First check if this is a spread, in which case we directly recurse
|
|
71
|
+
if (propertyNode.type === TSESTree.AST_NODE_TYPES.RestElement) {
|
|
72
|
+
walkExportDestructure(filePath, fileContents, fileDetails, statementNode, propertyNode, isEntryPointCheck);
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
// Otherwise, we need to introspect on what's going on here
|
|
76
|
+
switch (propertyNode.value.type) {
|
|
77
|
+
// export const { foo } = {}
|
|
78
|
+
case TSESTree.AST_NODE_TYPES.Identifier: {
|
|
79
|
+
fileDetails.exports.push({
|
|
80
|
+
type: 'export',
|
|
81
|
+
statementNodeRange: statementNode.range,
|
|
82
|
+
reportNodeRange: propertyNode.value.range,
|
|
83
|
+
exportName: propertyNode.value.name,
|
|
84
|
+
isTypeExport: statementNode.exportKind === 'type',
|
|
85
|
+
isEntryPoint: isEntryPointCheck(filePath, propertyNode.value.name),
|
|
86
|
+
});
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
// Cases where we need to recurse
|
|
90
|
+
case TSESTree.AST_NODE_TYPES.ArrayPattern:
|
|
91
|
+
case TSESTree.AST_NODE_TYPES.ObjectPattern: {
|
|
92
|
+
walkExportDestructure(filePath, fileContents, fileDetails, statementNode, propertyNode.value, isEntryPointCheck);
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
/* istanbul ignore next */
|
|
96
|
+
default: {
|
|
97
|
+
// We don't use UnknownNodeTypeError here because this is typed as a
|
|
98
|
+
// general property definition, which includes a bunch of statements
|
|
99
|
+
// that actual exports don't support (and would be a syntax error),
|
|
100
|
+
// such as: `export const { foo: doThing() }`
|
|
101
|
+
throw new InternalError(`unsupported declaration type ${propertyNode.value.type}`, {
|
|
102
|
+
filePath,
|
|
103
|
+
fileContents,
|
|
104
|
+
range: propertyNode.value.range,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
// export const [ foo = 10 ] = [ 10 ]
|
|
112
|
+
case TSESTree.AST_NODE_TYPES.AssignmentPattern: {
|
|
113
|
+
if (node.left.type === TSESTree.AST_NODE_TYPES.Identifier) {
|
|
114
|
+
fileDetails.exports.push({
|
|
115
|
+
type: 'export',
|
|
116
|
+
statementNodeRange: statementNode.range,
|
|
117
|
+
reportNodeRange: node.left.range,
|
|
118
|
+
exportName: node.left.name,
|
|
119
|
+
isTypeExport: statementNode.exportKind === 'type',
|
|
120
|
+
isEntryPoint: isEntryPointCheck(filePath, node.left.name),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
// It's possible to do `export const [ { foo } = {} ]`
|
|
124
|
+
else {
|
|
125
|
+
walkExportDestructure(filePath, fileContents, fileDetails, statementNode, node.left, isEntryPointCheck);
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
// export const [ foo ] = [ 10 ]
|
|
130
|
+
case TSESTree.AST_NODE_TYPES.Identifier: {
|
|
131
|
+
fileDetails.exports.push({
|
|
132
|
+
type: 'export',
|
|
133
|
+
statementNodeRange: statementNode.range,
|
|
134
|
+
reportNodeRange: node.range,
|
|
135
|
+
exportName: node.name,
|
|
136
|
+
isTypeExport: statementNode.exportKind === 'type',
|
|
137
|
+
isEntryPoint: isEntryPointCheck(filePath, node.name),
|
|
138
|
+
});
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
// AFAICT this isn't actually valid, since it would imply
|
|
142
|
+
// `export const { foo.bar }`, but I'm not 100% certain.
|
|
143
|
+
// See: https://github.com/estree/estree/issues/162
|
|
144
|
+
/* istanbul ignore next */
|
|
145
|
+
case TSESTree.AST_NODE_TYPES.MemberExpression: {
|
|
146
|
+
throw new InternalError(`unexpected member expression in array destructure`, { filePath, fileContents, range: node.range });
|
|
147
|
+
}
|
|
148
|
+
// export const [ ... ]
|
|
149
|
+
case TSESTree.AST_NODE_TYPES.RestElement: {
|
|
150
|
+
walkExportDestructure(filePath, fileContents, fileDetails, statementNode, node.argument, isEntryPointCheck);
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
default: {
|
|
154
|
+
throw new UnknownNodeTypeError(filePath, fileContents, node);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
export function computeFileDetails({ filePath, fileContents, ast, isEntryPointCheck, }) {
|
|
159
|
+
const fileDetails = {
|
|
160
|
+
fileType: 'code',
|
|
161
|
+
lastUpdatedAt: Date.now(),
|
|
162
|
+
hasEntryPoints: false,
|
|
163
|
+
exports: [],
|
|
164
|
+
singleImports: [],
|
|
165
|
+
barrelImports: [],
|
|
166
|
+
dynamicImports: [],
|
|
167
|
+
singleReexports: [],
|
|
168
|
+
barrelReexports: [],
|
|
169
|
+
};
|
|
170
|
+
traverse({
|
|
171
|
+
filePath,
|
|
172
|
+
fileContents,
|
|
173
|
+
ast,
|
|
174
|
+
importDeclaration(statementNode) {
|
|
175
|
+
// First, get the module specifier, if present. It might be missing in the
|
|
176
|
+
// case of a dynamic import where the sourcefile value is computed, e.g.
|
|
177
|
+
// `await import('foo' + 'bar' + computeThing())`.
|
|
178
|
+
const moduleSpecifier = statementNode.source.type === TSESTree.AST_NODE_TYPES.Literal
|
|
179
|
+
? (statementNode.source.value ?? undefined)
|
|
180
|
+
: undefined;
|
|
181
|
+
/* istanbul ignore if */
|
|
182
|
+
if (typeof moduleSpecifier !== 'string' &&
|
|
183
|
+
typeof moduleSpecifier !== 'undefined') {
|
|
184
|
+
throw new InternalError(`Import source ${String(moduleSpecifier)} is not a string or undefined`, {
|
|
185
|
+
filePath,
|
|
186
|
+
fileContents,
|
|
187
|
+
range: statementNode.source.range,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
// We check if this is a dynamic import first, since it's the only type of
|
|
191
|
+
// import that may not have a string module specifier.
|
|
192
|
+
if (statementNode.type === TSESTree.AST_NODE_TYPES.ImportExpression) {
|
|
193
|
+
fileDetails.dynamicImports.push({
|
|
194
|
+
type: 'dynamicImport',
|
|
195
|
+
statementNodeRange: statementNode.range,
|
|
196
|
+
reportNodeRange: statementNode.range,
|
|
197
|
+
moduleSpecifier,
|
|
198
|
+
});
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
// Now that we know this isn't a dynamic import, we can enforce that the
|
|
202
|
+
// module specifier is a string. In practice this should always be a
|
|
203
|
+
// string at this point, but we check to make TypeScript happy and just in
|
|
204
|
+
// case there's some edge case we missed.
|
|
205
|
+
/* istanbul ignore if */
|
|
206
|
+
if (typeof moduleSpecifier !== 'string') {
|
|
207
|
+
throw new InternalError(`import source ${String(moduleSpecifier)} is not a string`, {
|
|
208
|
+
filePath,
|
|
209
|
+
fileContents,
|
|
210
|
+
range: statementNode.source.range,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
// Now loop through each specifier in the import statement and parse it.
|
|
214
|
+
// The specifier is `foo` in: `import { foo } from './bar'`
|
|
215
|
+
for (const specifierNode of statementNode.specifiers) {
|
|
216
|
+
switch (specifierNode.type) {
|
|
217
|
+
// import * as foo from 'bar';
|
|
218
|
+
case TSESTree.AST_NODE_TYPES.ImportNamespaceSpecifier: {
|
|
219
|
+
fileDetails.barrelImports.push({
|
|
220
|
+
type: 'barrelImport',
|
|
221
|
+
statementNodeRange: statementNode.range,
|
|
222
|
+
reportNodeRange: specifierNode.range,
|
|
223
|
+
moduleSpecifier,
|
|
224
|
+
importAlias: specifierNode.local.name,
|
|
225
|
+
});
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
// import foo from 'bar';
|
|
229
|
+
case TSESTree.AST_NODE_TYPES.ImportDefaultSpecifier: {
|
|
230
|
+
fileDetails.singleImports.push({
|
|
231
|
+
type: 'singleImport',
|
|
232
|
+
statementNodeRange: statementNode.range,
|
|
233
|
+
reportNodeRange: specifierNode.range,
|
|
234
|
+
moduleSpecifier,
|
|
235
|
+
importName: 'default',
|
|
236
|
+
importAlias: specifierNode.local.name,
|
|
237
|
+
isTypeImport: statementNode.importKind === 'type',
|
|
238
|
+
});
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
// import { foo } from 'bar';
|
|
242
|
+
case TSESTree.AST_NODE_TYPES.ImportSpecifier: {
|
|
243
|
+
const importName = getIdentifierOrStringValue(specifierNode.imported);
|
|
244
|
+
fileDetails.singleImports.push({
|
|
245
|
+
type: 'singleImport',
|
|
246
|
+
statementNodeRange: statementNode.range,
|
|
247
|
+
reportNodeRange: specifierNode.range,
|
|
248
|
+
moduleSpecifier,
|
|
249
|
+
importName,
|
|
250
|
+
importAlias: specifierNode.local.name,
|
|
251
|
+
isTypeImport: statementNode.importKind === 'type',
|
|
252
|
+
});
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
// This shouldn't happen, but is here just in case
|
|
256
|
+
default: {
|
|
257
|
+
throw new UnknownNodeTypeError(filePath, fileContents, specifierNode);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
exportDeclaration(statementNode, parentNode) {
|
|
263
|
+
// If we're inside of a module declaration, don't continue on since we
|
|
264
|
+
// don't analyze namespaces
|
|
265
|
+
if (parentNode &&
|
|
266
|
+
(parentNode.type === TSESTree.AST_NODE_TYPES.TSModuleDeclaration ||
|
|
267
|
+
parentNode.type === TSESTree.AST_NODE_TYPES.TSModuleBlock)) {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
// Check if this is export { foo }, which parses very different
|
|
271
|
+
if ('specifiers' in statementNode && statementNode.specifiers.length) {
|
|
272
|
+
for (const specifierNode of statementNode.specifiers) {
|
|
273
|
+
const exportName = getIdentifierOrStringValue(specifierNode.exported);
|
|
274
|
+
fileDetails.exports.push({
|
|
275
|
+
type: 'export',
|
|
276
|
+
statementNodeRange: statementNode.range,
|
|
277
|
+
reportNodeRange: specifierNode.exported.range,
|
|
278
|
+
exportName,
|
|
279
|
+
isTypeExport: statementNode.exportKind === 'type',
|
|
280
|
+
isEntryPoint: isEntryPointCheck(filePath, exportName),
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
// This happens when we do `export {}`
|
|
286
|
+
if (!statementNode.declaration) {
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
// If we got here we have a single export where we have to introspect the
|
|
290
|
+
// declaration type to figure out what the name is. Note: we still want to
|
|
291
|
+
// find the name in the case of default exports so that we can set
|
|
292
|
+
// `specifierNode` to the name. Otherwise, when we highlight a lint error,
|
|
293
|
+
// we would highlight entire classes/functions, which hurts readability
|
|
294
|
+
switch (statementNode.declaration.type) {
|
|
295
|
+
// export const ...
|
|
296
|
+
// Note: const exports can't be default
|
|
297
|
+
case TSESTree.AST_NODE_TYPES.VariableDeclaration: {
|
|
298
|
+
for (const declarationNode of statementNode.declaration
|
|
299
|
+
.declarations) {
|
|
300
|
+
switch (declarationNode.id.type) {
|
|
301
|
+
// export const foo = 10;
|
|
302
|
+
case TSESTree.AST_NODE_TYPES.Identifier: {
|
|
303
|
+
fileDetails.exports.push({
|
|
304
|
+
type: 'export',
|
|
305
|
+
statementNodeRange: statementNode.range,
|
|
306
|
+
reportNodeRange: declarationNode.id.range,
|
|
307
|
+
exportName: declarationNode.id.name,
|
|
308
|
+
isTypeExport: statementNode.exportKind === 'type',
|
|
309
|
+
isEntryPoint: isEntryPointCheck(filePath, declarationNode.id.name),
|
|
310
|
+
});
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
// export const [foo, bar] = [10, 10]
|
|
314
|
+
case TSESTree.AST_NODE_TYPES.ArrayPattern: {
|
|
315
|
+
walkExportDestructure(filePath, fileContents, fileDetails, statementNode, declarationNode.id, isEntryPointCheck);
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
318
|
+
// export const { foo, bar } = { foo: 10, bar: 10 }
|
|
319
|
+
case TSESTree.AST_NODE_TYPES.ObjectPattern: {
|
|
320
|
+
walkExportDestructure(filePath, fileContents, fileDetails, statementNode, declarationNode.id, isEntryPointCheck);
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
default: {
|
|
324
|
+
throw new UnknownNodeTypeError(filePath, fileContents, declarationNode.id);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
// export interface Foo {} or export type Foo = string
|
|
331
|
+
case TSESTree.AST_NODE_TYPES.TSInterfaceDeclaration:
|
|
332
|
+
case TSESTree.AST_NODE_TYPES.TSEnumDeclaration:
|
|
333
|
+
case TSESTree.AST_NODE_TYPES.TSTypeAliasDeclaration: {
|
|
334
|
+
const exportName = isDefault(statementNode)
|
|
335
|
+
? 'default'
|
|
336
|
+
: statementNode.declaration.id.name;
|
|
337
|
+
fileDetails.exports.push({
|
|
338
|
+
type: 'export',
|
|
339
|
+
statementNodeRange: statementNode.range,
|
|
340
|
+
reportNodeRange: statementNode.declaration.id.range,
|
|
341
|
+
exportName,
|
|
342
|
+
isTypeExport: true,
|
|
343
|
+
isEntryPoint: isEntryPointCheck(filePath, exportName),
|
|
344
|
+
});
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
// export function foo() {}
|
|
348
|
+
case TSESTree.AST_NODE_TYPES.TSDeclareFunction:
|
|
349
|
+
case TSESTree.AST_NODE_TYPES.FunctionDeclaration: {
|
|
350
|
+
if (isDefault(statementNode)) {
|
|
351
|
+
fileDetails.exports.push({
|
|
352
|
+
type: 'export',
|
|
353
|
+
statementNodeRange: statementNode.range,
|
|
354
|
+
reportNodeRange: statementNode.declaration.id
|
|
355
|
+
? statementNode.declaration.id.range
|
|
356
|
+
: statementNode.range,
|
|
357
|
+
exportName: 'default',
|
|
358
|
+
isTypeExport: false, // functions can never be types
|
|
359
|
+
isEntryPoint: isEntryPointCheck(filePath, 'default'),
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
// TODO: I'm pretty certain that declaration id missing means that
|
|
364
|
+
// this is a function expression, aka `export function () {}` which
|
|
365
|
+
// isn't allowed in an export statement
|
|
366
|
+
/* istanbul ignore if */
|
|
367
|
+
if (!statementNode.declaration.id) {
|
|
368
|
+
throw new InternalError(`function id is unexpectedly missing`, {
|
|
369
|
+
filePath,
|
|
370
|
+
fileContents,
|
|
371
|
+
range: statementNode.declaration.range,
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
fileDetails.exports.push({
|
|
375
|
+
type: 'export',
|
|
376
|
+
statementNodeRange: statementNode.range,
|
|
377
|
+
reportNodeRange: statementNode.declaration.id.range,
|
|
378
|
+
exportName: statementNode.declaration.id.name,
|
|
379
|
+
isTypeExport: statementNode.exportKind === 'type',
|
|
380
|
+
isEntryPoint: isEntryPointCheck(filePath, statementNode.declaration.id.name),
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
break;
|
|
384
|
+
}
|
|
385
|
+
// export class Foo {}
|
|
386
|
+
case TSESTree.AST_NODE_TYPES.ClassDeclaration: {
|
|
387
|
+
if (isDefault(statementNode)) {
|
|
388
|
+
fileDetails.exports.push({
|
|
389
|
+
type: 'export',
|
|
390
|
+
statementNodeRange: statementNode.range,
|
|
391
|
+
reportNodeRange: statementNode.declaration.id
|
|
392
|
+
? statementNode.declaration.id.range
|
|
393
|
+
: statementNode.range,
|
|
394
|
+
exportName: 'default',
|
|
395
|
+
isTypeExport: false, // Classes can never be types
|
|
396
|
+
isEntryPoint: isEntryPointCheck(filePath, 'default'),
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
else {
|
|
400
|
+
if (!statementNode.declaration.id) {
|
|
401
|
+
throw new Error('Exporting non-default unnamed classes is not supported (e.g. `export class {}`)');
|
|
402
|
+
}
|
|
403
|
+
fileDetails.exports.push({
|
|
404
|
+
type: 'export',
|
|
405
|
+
statementNodeRange: statementNode.range,
|
|
406
|
+
reportNodeRange: statementNode.declaration.id.range,
|
|
407
|
+
exportName: statementNode.declaration.id.name,
|
|
408
|
+
isTypeExport: statementNode.exportKind === 'type',
|
|
409
|
+
isEntryPoint: isEntryPointCheck(filePath, statementNode.declaration.id.name),
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
break;
|
|
413
|
+
}
|
|
414
|
+
// export default foo
|
|
415
|
+
case TSESTree.AST_NODE_TYPES.Identifier: {
|
|
416
|
+
const { name } = statementNode.declaration;
|
|
417
|
+
const isNodeDefault = isDefault(statementNode);
|
|
418
|
+
const exportName = isNodeDefault ? 'default' : name;
|
|
419
|
+
fileDetails.exports.push({
|
|
420
|
+
type: 'export',
|
|
421
|
+
statementNodeRange: statementNode.range,
|
|
422
|
+
reportNodeRange: statementNode.declaration.range,
|
|
423
|
+
exportName,
|
|
424
|
+
isTypeExport: statementNode.exportKind === 'type',
|
|
425
|
+
isEntryPoint: isEntryPointCheck(filePath, exportName),
|
|
426
|
+
});
|
|
427
|
+
break;
|
|
428
|
+
}
|
|
429
|
+
// export namespace {}
|
|
430
|
+
// export module {}
|
|
431
|
+
case TSESTree.AST_NODE_TYPES.TSModuleDeclaration: {
|
|
432
|
+
let exportName;
|
|
433
|
+
const { id } = statementNode.declaration;
|
|
434
|
+
switch (id.type) {
|
|
435
|
+
// export namespace {}
|
|
436
|
+
case TSESTree.AST_NODE_TYPES.Identifier: {
|
|
437
|
+
exportName = id.name;
|
|
438
|
+
break;
|
|
439
|
+
}
|
|
440
|
+
// export module {}
|
|
441
|
+
case TSESTree.AST_NODE_TYPES.Literal: {
|
|
442
|
+
exportName = id.value;
|
|
443
|
+
break;
|
|
444
|
+
}
|
|
445
|
+
case TSESTree.AST_NODE_TYPES.TSQualifiedName: {
|
|
446
|
+
throw new InternalError(`Unsupported module declaration identifier ${id.type}`);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
fileDetails.exports.push({
|
|
450
|
+
type: 'export',
|
|
451
|
+
statementNodeRange: statementNode.range,
|
|
452
|
+
reportNodeRange: statementNode.declaration.range,
|
|
453
|
+
exportName,
|
|
454
|
+
isTypeExport: true,
|
|
455
|
+
isEntryPoint: isEntryPointCheck(filePath, exportName),
|
|
456
|
+
});
|
|
457
|
+
break;
|
|
458
|
+
}
|
|
459
|
+
// export import Foo = Bar;
|
|
460
|
+
case TSESTree.AST_NODE_TYPES.TSImportEqualsDeclaration: {
|
|
461
|
+
const exportName = statementNode.declaration.id.name;
|
|
462
|
+
fileDetails.exports.push({
|
|
463
|
+
type: 'export',
|
|
464
|
+
statementNodeRange: statementNode.range,
|
|
465
|
+
reportNodeRange: statementNode.declaration.range,
|
|
466
|
+
exportName,
|
|
467
|
+
isTypeExport: statementNode.exportKind === 'type',
|
|
468
|
+
isEntryPoint: isEntryPointCheck(filePath, exportName),
|
|
469
|
+
});
|
|
470
|
+
break;
|
|
471
|
+
}
|
|
472
|
+
default: {
|
|
473
|
+
// First we check if this is a default export, since we can still
|
|
474
|
+
// process it, even if we can't select a particularly useful specifier
|
|
475
|
+
// node
|
|
476
|
+
if (isDefault(statementNode)) {
|
|
477
|
+
fileDetails.exports.push({
|
|
478
|
+
type: 'export',
|
|
479
|
+
statementNodeRange: statementNode.range,
|
|
480
|
+
reportNodeRange: getRangeOfDefaultToken(statementNode, ast.tokens, filePath),
|
|
481
|
+
exportName: 'default',
|
|
482
|
+
isTypeExport: false, // For some reason
|
|
483
|
+
isEntryPoint: isEntryPointCheck(filePath, 'default'),
|
|
484
|
+
});
|
|
485
|
+
break;
|
|
486
|
+
}
|
|
487
|
+
throw new UnknownNodeTypeError(filePath, fileContents, statementNode.declaration);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
},
|
|
491
|
+
reexportDeclaration(statementNode, parentNode) {
|
|
492
|
+
// If we're inside of a module declaration, don't continue on since we
|
|
493
|
+
// don't analyze namespaces
|
|
494
|
+
if (parentNode &&
|
|
495
|
+
parentNode.type === TSESTree.AST_NODE_TYPES.TSModuleDeclaration) {
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
const moduleSpecifier = statementNode.source.value;
|
|
499
|
+
// Check if this is a barrel reexport
|
|
500
|
+
if (statementNode.type === TSESTree.AST_NODE_TYPES.ExportAllDeclaration) {
|
|
501
|
+
const exportName = statementNode.exported?.name;
|
|
502
|
+
fileDetails.barrelReexports.push({
|
|
503
|
+
type: 'barrelReexport',
|
|
504
|
+
statementNodeRange: statementNode.range,
|
|
505
|
+
reportNodeRange: statementNode.range,
|
|
506
|
+
moduleSpecifier,
|
|
507
|
+
exportName,
|
|
508
|
+
isEntryPoint: exportName
|
|
509
|
+
? isEntryPointCheck(filePath, exportName)
|
|
510
|
+
: false,
|
|
511
|
+
});
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
514
|
+
// Otherwise this is a single reexport, so we iterate through each specifier
|
|
515
|
+
for (const specifierNode of statementNode.specifiers) {
|
|
516
|
+
const exportName = getIdentifierOrStringValue(specifierNode.exported);
|
|
517
|
+
fileDetails.singleReexports.push({
|
|
518
|
+
type: 'singleReexport',
|
|
519
|
+
statementNodeRange: statementNode.range,
|
|
520
|
+
reportNodeRange: specifierNode.range,
|
|
521
|
+
moduleSpecifier,
|
|
522
|
+
importName: getIdentifierOrStringValue(specifierNode.local),
|
|
523
|
+
exportName,
|
|
524
|
+
isTypeReexport: statementNode.exportKind === 'type',
|
|
525
|
+
isEntryPoint: isEntryPointCheck(filePath, exportName),
|
|
526
|
+
});
|
|
527
|
+
}
|
|
528
|
+
},
|
|
529
|
+
});
|
|
530
|
+
fileDetails.hasEntryPoints = fileDetails.exports.some((exportEntry) => exportEntry.isEntryPoint);
|
|
531
|
+
return fileDetails;
|
|
532
|
+
}
|
|
533
|
+
//# sourceMappingURL=computeBaseFileDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeBaseFileDetails.js","sourceRoot":"","sources":["../../src/module/computeBaseFileDetails.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ParsedSettings } from '../settings/settings.js';
|
|
2
|
+
import type { BaseProjectInfo } from '../types/base.js';
|
|
3
|
+
type IsEntryPointCheck = (filePath: string, symbolName: string) => boolean;
|
|
4
|
+
type ComputeBaseInfoOptions = Pick<ParsedSettings, 'rootDir' | 'fixedAliases' | 'wildcardAliases' | 'ignorePatterns'> & {
|
|
5
|
+
isEntryPointCheck?: IsEntryPointCheck;
|
|
6
|
+
};
|
|
7
|
+
export declare function computeBaseInfoIPC({ rootDir, fixedAliases, wildcardAliases, ignorePatterns, }: ComputeBaseInfoOptions): BaseProjectInfo;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { getDirname, getFilename } from 'cross-dirname';
|
|
3
|
+
import { computeBaseInfo } from './computeBaseInfo.js';
|
|
4
|
+
export function computeBaseInfoIPC({ rootDir, fixedAliases, wildcardAliases, ignorePatterns, }) {
|
|
5
|
+
const options = {
|
|
6
|
+
rootDir,
|
|
7
|
+
fixedAliases,
|
|
8
|
+
wildcardAliases,
|
|
9
|
+
ignorePatterns,
|
|
10
|
+
};
|
|
11
|
+
const { stdout } = spawnSync('node', [getFilename(), '--computeBaseInfoInBackground', JSON.stringify(options)], {
|
|
12
|
+
encoding: 'utf8',
|
|
13
|
+
cwd: getDirname(),
|
|
14
|
+
});
|
|
15
|
+
const parsedData = JSON.parse(stdout);
|
|
16
|
+
return {
|
|
17
|
+
...parsedData,
|
|
18
|
+
files: new Map(parsedData.files),
|
|
19
|
+
availableThirdPartyDependencies: new Map(parsedData.availableThirdPartyDependencies),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
if (process.argv[2] === '--computeBaseInfoInBackground') {
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
24
|
+
const data = JSON.parse(process.argv[3]);
|
|
25
|
+
const baseProjectInfo = computeBaseInfo({
|
|
26
|
+
...data,
|
|
27
|
+
isEntryPointCheck: () => false,
|
|
28
|
+
});
|
|
29
|
+
process.stdout.write(JSON.stringify({
|
|
30
|
+
...baseProjectInfo,
|
|
31
|
+
files: Array.from(baseProjectInfo.files),
|
|
32
|
+
availableThirdPartyDependencies: Array.from(baseProjectInfo.availableThirdPartyDependencies),
|
|
33
|
+
}), (err) => process.exit(err ? -1 : 0));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=computeBaseIPC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeBaseIPC.js","sourceRoot":"","sources":["../../src/module/computeBaseIPC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAWvD,MAAM,UAAU,kBAAkB,CAAC,EACjC,OAAO,EACP,YAAY,EACZ,eAAe,EACf,cAAc,GACS;IACvB,MAAM,OAAO,GAAG;QACd,OAAO;QACP,YAAY;QACZ,eAAe;QACf,cAAc;KACf,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAC1B,MAAM,EACN,CAAC,WAAW,EAAE,EAAE,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACzE;QACE,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,UAAU,EAAE;KAClB,CACF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO;QACL,GAAG,UAAU;QACb,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;QAChC,+BAA+B,EAAE,IAAI,GAAG,CACtC,UAAU,CAAC,+BAA+B,CAC3C;KACiB,CAAC;AACvB,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,+BAA+B,EAAE,CAAC;IACxD,mEAAmE;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,eAAe,CAAC;QACtC,GAAG,IAAI;QACP,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;KACL,CAAC,CAAC;IAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;QACb,GAAG,eAAe;QAClB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QACxC,+BAA+B,EAAE,KAAK,CAAC,IAAI,CACzC,eAAe,CAAC,+BAA+B,CAChD;KACF,CAAC,EACF,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC"}
|