packtory 0.0.9 → 0.0.11
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/artifacts/artifacts-builder.d.ts +0 -14
- package/artifacts/artifacts-builder.d.ts.map +1 -1
- package/bundle-emitter/emitter.d.ts +0 -30
- package/bundle-emitter/emitter.d.ts.map +1 -1
- package/bundle-emitter/registry-client.d.ts +0 -21
- package/bundle-emitter/registry-client.d.ts.map +1 -1
- package/checks/rule.js +0 -8
- package/checks/rule.js.map +1 -1
- package/checks/rules/max-bundle-size.js +0 -35
- package/checks/rules/max-bundle-size.js.map +1 -1
- package/checks/rules/no-dev-dependency-imports.js +0 -28
- package/checks/rules/no-dev-dependency-imports.js.map +1 -1
- package/checks/rules/no-duplicated-files.js +0 -107
- package/checks/rules/no-duplicated-files.js.map +1 -1
- package/checks/rules/no-side-effects.js +0 -42
- package/checks/rules/no-side-effects.js.map +1 -1
- package/checks/rules/no-unused-bundle-dependencies.js +0 -24
- package/checks/rules/no-unused-bundle-dependencies.js.map +1 -1
- package/checks/rules/required-files.js +0 -31
- package/checks/rules/required-files.js.map +1 -1
- package/checks/rules/unique-target-paths.js +0 -25
- package/checks/rules/unique-target-paths.js.map +1 -1
- package/common/clock.d.ts +0 -6
- package/common/clock.d.ts.map +1 -1
- package/common/code-files.js +4 -0
- package/common/code-files.js.map +1 -1
- package/config/dead-code-elimination-settings.d.ts +5 -0
- package/config/dead-code-elimination-settings.d.ts.map +1 -1
- package/config/dead-code-elimination-settings.js +18 -1
- package/config/dead-code-elimination-settings.js.map +1 -1
- package/config/package-interface.d.ts +2 -0
- package/config/package-interface.d.ts.map +1 -1
- package/config/package-interface.js +5 -2
- package/config/package-interface.js.map +1 -1
- package/config/package-json.d.ts +0 -2
- package/config/package-json.d.ts.map +1 -1
- package/config/registry-settings.d.ts +0 -38
- package/config/registry-settings.d.ts.map +1 -1
- package/config/validation.d.ts +0 -18
- package/config/validation.d.ts.map +1 -1
- package/config/validation.js +23 -1
- package/config/validation.js.map +1 -1
- package/dead-code-eliminator/analyzed-bundle.d.ts +1 -8
- package/dead-code-eliminator/analyzed-bundle.d.ts.map +1 -1
- package/dead-code-eliminator/analyzed-bundle.js.map +1 -1
- package/dead-code-eliminator/eliminator.js +15 -3
- package/dead-code-eliminator/eliminator.js.map +1 -1
- package/dead-code-eliminator/load-bundle.js +17 -11
- package/dead-code-eliminator/load-bundle.js.map +1 -1
- package/dead-code-eliminator/reachability/binding-extractor.js +20 -7
- package/dead-code-eliminator/reachability/binding-extractor.js.map +1 -1
- package/dead-code-eliminator/reachability/impure-statements.js +2 -2
- package/dead-code-eliminator/reachability/impure-statements.js.map +1 -1
- package/dead-code-eliminator/reachability/reachability.js +4 -4
- package/dead-code-eliminator/reachability/reachability.js.map +1 -1
- package/dead-code-eliminator/side-effect-classifier.js +141 -24
- package/dead-code-eliminator/side-effect-classifier.js.map +1 -1
- package/dead-code-eliminator/transform/declaration-remover.js +3 -2
- package/dead-code-eliminator/transform/declaration-remover.js.map +1 -1
- package/dead-code-eliminator/variable-declaration-bindings.js +34 -0
- package/dead-code-eliminator/variable-declaration-bindings.js.map +1 -0
- package/dependency-scanner/dependency-graph.d.ts +0 -29
- package/dependency-scanner/dependency-graph.d.ts.map +1 -1
- package/dependency-scanner/external-dependencies.d.ts +0 -1
- package/dependency-scanner/external-dependencies.d.ts.map +1 -1
- package/dependency-scanner/scanner.d.ts +0 -13
- package/dependency-scanner/scanner.d.ts.map +1 -1
- package/dependency-scanner/source-file-references.js +1 -17
- package/dependency-scanner/source-file-references.js.map +1 -1
- package/dependency-scanner/source-map-file-locator.d.ts +0 -7
- package/dependency-scanner/source-map-file-locator.d.ts.map +1 -1
- package/dependency-scanner/typescript-file-host.d.ts +0 -9
- package/dependency-scanner/typescript-file-host.d.ts.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.d.ts +0 -18
- package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
- package/directed-graph/graph.d.ts +0 -27
- package/directed-graph/graph.d.ts.map +1 -1
- package/file-manager/file-manager.d.ts +0 -15
- package/file-manager/file-manager.d.ts.map +1 -1
- package/linker/linker.d.ts +0 -8
- package/linker/linker.d.ts.map +1 -1
- package/linker/substitute-bundles.js +5 -0
- package/linker/substitute-bundles.js.map +1 -1
- package/package-surface/modules.js +9 -0
- package/package-surface/modules.js.map +1 -1
- package/package-surface/surface.d.ts +0 -3
- package/package-surface/surface.d.ts.map +1 -1
- package/package.json +41 -3
- package/packtory/map-config.d.ts +0 -10
- package/packtory/map-config.d.ts.map +1 -1
- package/packtory/package-processor-build.js +3 -3
- package/packtory/package-processor-build.js.map +1 -1
- package/packtory/package-processor-publish.d.ts +0 -16
- package/packtory/package-processor-publish.d.ts.map +1 -1
- package/packtory/package-processor.d.ts +0 -17
- package/packtory/package-processor.d.ts.map +1 -1
- package/packtory/packtory-resolve.js +16 -9
- package/packtory/packtory-resolve.js.map +1 -1
- package/packtory/packtory-results.d.ts +0 -10
- package/packtory/packtory-results.d.ts.map +1 -1
- package/packtory/packtory.d.ts +0 -8
- package/packtory/packtory.d.ts.map +1 -1
- package/packtory/prepare-package-options.d.ts +2 -16
- package/packtory/prepare-package-options.d.ts.map +1 -1
- package/packtory/prepare-package-options.js +5 -0
- package/packtory/prepare-package-options.js.map +1 -1
- package/packtory/resolved-package.d.ts +0 -2
- package/packtory/resolved-package.d.ts.map +1 -1
- package/packtory/scheduler.d.ts +0 -37
- package/packtory/scheduler.d.ts.map +1 -1
- package/progress/progress-broadcaster.d.ts +0 -13
- package/progress/progress-broadcaster.d.ts.map +1 -1
- package/report/report-aggregator.d.ts +0 -5
- package/report/report-aggregator.d.ts.map +1 -1
- package/resource-resolver/resolved-bundle.d.ts +0 -10
- package/resource-resolver/resolved-bundle.d.ts.map +1 -1
- package/resource-resolver/resource-resolve-options.d.ts +0 -4
- package/resource-resolver/resource-resolve-options.d.ts.map +1 -1
- package/resource-resolver/resource-resolver.d.ts +0 -8
- package/resource-resolver/resource-resolver.d.ts.map +1 -1
- package/sbom/license-resolver.d.ts +0 -11
- package/sbom/license-resolver.d.ts.map +1 -1
- package/sbom/sbom-file.d.ts +0 -12
- package/sbom/sbom-file.d.ts.map +1 -1
- package/sbom/sbom-serializer.d.ts +0 -4
- package/sbom/sbom-serializer.d.ts.map +1 -1
- package/tar/tarball-builder.d.ts +0 -4
- package/tar/tarball-builder.d.ts.map +1 -1
- package/version-manager/manager.d.ts +0 -4
- package/version-manager/manager.d.ts.map +1 -1
- package/version-manager/versioned-bundle-imports.d.ts +0 -1
- package/version-manager/versioned-bundle-imports.d.ts.map +1 -1
- package/version-manager/versioned-bundle.d.ts +0 -1
- package/version-manager/versioned-bundle.d.ts.map +1 -1
|
@@ -67,6 +67,24 @@ const controlFlowStatementKinds = new Map([
|
|
|
67
67
|
function isBareCssImport(specifier) {
|
|
68
68
|
return specifier.endsWith('.css');
|
|
69
69
|
}
|
|
70
|
+
function unwrapExpression(expression) {
|
|
71
|
+
if (TsMorphNode.isAsExpression(expression)) {
|
|
72
|
+
return unwrapExpression(expression.getExpression());
|
|
73
|
+
}
|
|
74
|
+
if (TsMorphNode.isSatisfiesExpression(expression)) {
|
|
75
|
+
return unwrapExpression(expression.getExpression());
|
|
76
|
+
}
|
|
77
|
+
if (TsMorphNode.isParenthesizedExpression(expression)) {
|
|
78
|
+
return unwrapExpression(expression.getExpression());
|
|
79
|
+
}
|
|
80
|
+
if (TsMorphNode.isTypeAssertion(expression)) {
|
|
81
|
+
return unwrapExpression(expression.getExpression());
|
|
82
|
+
}
|
|
83
|
+
if (TsMorphNode.isNonNullExpression(expression)) {
|
|
84
|
+
return unwrapExpression(expression.getExpression());
|
|
85
|
+
}
|
|
86
|
+
return expression;
|
|
87
|
+
}
|
|
70
88
|
function isPureArrayElement(element, recurse) {
|
|
71
89
|
if (TsMorphNode.isOmittedExpression(element)) {
|
|
72
90
|
return true;
|
|
@@ -85,6 +103,88 @@ function isPurePropertyAssignment(property, recurse) {
|
|
|
85
103
|
}
|
|
86
104
|
return inherentlyPurePropertyKinds.has(property.getKind());
|
|
87
105
|
}
|
|
106
|
+
function importedOriginForIdentifier(identifier) {
|
|
107
|
+
const symbol = identifier.getSymbol();
|
|
108
|
+
if (symbol === undefined) {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
for (const declaration of symbol.getDeclarations()) {
|
|
112
|
+
if (TsMorphNode.isImportSpecifier(declaration)) {
|
|
113
|
+
return {
|
|
114
|
+
from: declaration.getImportDeclaration().getModuleSpecifierValue(),
|
|
115
|
+
path: [declaration.getName()]
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
if (TsMorphNode.isNamespaceImport(declaration)) {
|
|
119
|
+
const importDeclaration = declaration.getFirstAncestorByKindOrThrow(SyntaxKind.ImportDeclaration);
|
|
120
|
+
return {
|
|
121
|
+
from: importDeclaration.getModuleSpecifierValue(),
|
|
122
|
+
path: []
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
if (TsMorphNode.isImportClause(declaration) && declaration.getDefaultImport() !== undefined) {
|
|
126
|
+
const importDeclaration = declaration.getFirstAncestorByKindOrThrow(SyntaxKind.ImportDeclaration);
|
|
127
|
+
return {
|
|
128
|
+
from: importDeclaration.getModuleSpecifierValue(),
|
|
129
|
+
path: ['default']
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
function expressionOriginIsTrusted(origin, settings) {
|
|
136
|
+
if (origin === undefined || settings?.pureImports === undefined) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
return settings.pureImports.some((trustedImport) => {
|
|
140
|
+
if (trustedImport.from !== origin.from) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
if (trustedImport.imports === undefined) {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
const firstPathPart = origin.path[0];
|
|
147
|
+
return firstPathPart !== undefined && trustedImport.imports.includes(firstPathPart);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function arePureCallArguments(arguments_, recurse) {
|
|
151
|
+
return arguments_.every((argument) => {
|
|
152
|
+
if (TsMorphNode.isSpreadElement(argument)) {
|
|
153
|
+
return recurse(argument.getExpression());
|
|
154
|
+
}
|
|
155
|
+
return recurse(argument);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function resolveImportedExpressionOrigin(expression, recurse, settings) {
|
|
159
|
+
const unwrapped = unwrapExpression(expression);
|
|
160
|
+
if (TsMorphNode.isIdentifier(unwrapped)) {
|
|
161
|
+
return importedOriginForIdentifier(unwrapped);
|
|
162
|
+
}
|
|
163
|
+
if (TsMorphNode.isPropertyAccessExpression(unwrapped)) {
|
|
164
|
+
const base = resolveImportedExpressionOrigin(unwrapped.getExpression(), recurse, settings);
|
|
165
|
+
if (base === undefined) {
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
return { from: base.from, path: [...base.path, unwrapped.getName()] };
|
|
169
|
+
}
|
|
170
|
+
if (TsMorphNode.isCallExpression(unwrapped)) {
|
|
171
|
+
if (!isPureCallExpression(unwrapped, recurse, settings)) {
|
|
172
|
+
return undefined;
|
|
173
|
+
}
|
|
174
|
+
return resolveImportedExpressionOrigin(unwrapped.getExpression(), recurse, settings);
|
|
175
|
+
}
|
|
176
|
+
return undefined;
|
|
177
|
+
}
|
|
178
|
+
function isPureCallExpression(expression, recurse, settings) {
|
|
179
|
+
return (expressionOriginIsTrusted(resolveImportedExpressionOrigin(expression.getExpression(), recurse, settings), settings) &&
|
|
180
|
+
arePureCallArguments(expression.getArguments(), recurse));
|
|
181
|
+
}
|
|
182
|
+
function isPureNewExpression(expression, recurse, settings) {
|
|
183
|
+
const constructorExpression = unwrapExpression(expression.getExpression());
|
|
184
|
+
return (TsMorphNode.isIdentifier(constructorExpression) &&
|
|
185
|
+
settings?.pureConstructors?.includes(constructorExpression.getText()) === true &&
|
|
186
|
+
arePureCallArguments(expression.getArguments(), recurse));
|
|
187
|
+
}
|
|
88
188
|
const expressionPurityRules = new Map([
|
|
89
189
|
[
|
|
90
190
|
SyntaxKind.TemplateExpression,
|
|
@@ -165,14 +265,29 @@ const expressionPurityRules = new Map([
|
|
|
165
265
|
}
|
|
166
266
|
return recurse(binary.getLeft()) && recurse(binary.getRight());
|
|
167
267
|
}
|
|
268
|
+
],
|
|
269
|
+
[
|
|
270
|
+
SyntaxKind.CallExpression,
|
|
271
|
+
(expression, recurse, settings) => {
|
|
272
|
+
return isPureCallExpression(expression.asKindOrThrow(SyntaxKind.CallExpression), recurse, settings);
|
|
273
|
+
}
|
|
274
|
+
],
|
|
275
|
+
[
|
|
276
|
+
SyntaxKind.NewExpression,
|
|
277
|
+
(expression, recurse, settings) => {
|
|
278
|
+
return isPureNewExpression(expression.asKindOrThrow(SyntaxKind.NewExpression), recurse, settings);
|
|
279
|
+
}
|
|
168
280
|
]
|
|
169
281
|
]);
|
|
170
|
-
function isPureExpression(expression) {
|
|
282
|
+
function isPureExpression(expression, settings) {
|
|
283
|
+
const recurse = (candidate) => {
|
|
284
|
+
return isPureExpression(candidate, settings);
|
|
285
|
+
};
|
|
171
286
|
const kind = expression.getKind();
|
|
172
287
|
if (pureLeafKinds.has(kind)) {
|
|
173
288
|
return true;
|
|
174
289
|
}
|
|
175
|
-
return expressionPurityRules.get(kind)?.(expression,
|
|
290
|
+
return expressionPurityRules.get(kind)?.(expression, recurse, settings) ?? false;
|
|
176
291
|
}
|
|
177
292
|
function memberHasDecorators(member) {
|
|
178
293
|
if (TsMorphNode.isMethodDeclaration(member) ||
|
|
@@ -183,24 +298,26 @@ function memberHasDecorators(member) {
|
|
|
183
298
|
}
|
|
184
299
|
return false;
|
|
185
300
|
}
|
|
186
|
-
function memberHasImpureStaticInit(member) {
|
|
301
|
+
function memberHasImpureStaticInit(member, settings) {
|
|
187
302
|
if (!TsMorphNode.isPropertyDeclaration(member) || !member.isStatic()) {
|
|
188
303
|
return false;
|
|
189
304
|
}
|
|
190
305
|
const initializer = member.getInitializer();
|
|
191
|
-
return initializer !== undefined && !isPureExpression(initializer);
|
|
306
|
+
return initializer !== undefined && !isPureExpression(initializer, settings);
|
|
192
307
|
}
|
|
193
|
-
function classMemberIsImpure(member) {
|
|
308
|
+
function classMemberIsImpure(member, settings) {
|
|
194
309
|
if (TsMorphNode.isClassStaticBlockDeclaration(member)) {
|
|
195
310
|
return true;
|
|
196
311
|
}
|
|
197
|
-
return memberHasDecorators(member) || memberHasImpureStaticInit(member);
|
|
312
|
+
return memberHasDecorators(member) || memberHasImpureStaticInit(member, settings);
|
|
198
313
|
}
|
|
199
|
-
function hasClassImpurity(classDeclaration) {
|
|
314
|
+
function hasClassImpurity(classDeclaration, settings) {
|
|
200
315
|
if (classDeclaration.getDecorators().length > 0) {
|
|
201
316
|
return true;
|
|
202
317
|
}
|
|
203
|
-
return classDeclaration.getMembers().some(
|
|
318
|
+
return classDeclaration.getMembers().some((member) => {
|
|
319
|
+
return classMemberIsImpure(member, settings);
|
|
320
|
+
});
|
|
204
321
|
}
|
|
205
322
|
function classifyImportDeclaration(statement) {
|
|
206
323
|
if (isBareCssImport(statement.getModuleSpecifierValue())) {
|
|
@@ -208,22 +325,22 @@ function classifyImportDeclaration(statement) {
|
|
|
208
325
|
}
|
|
209
326
|
return undefined;
|
|
210
327
|
}
|
|
211
|
-
function classifyExportAssignment(statement) {
|
|
212
|
-
if (isPureExpression(statement.getExpression())) {
|
|
328
|
+
function classifyExportAssignment(statement, settings) {
|
|
329
|
+
if (isPureExpression(statement.getExpression(), settings)) {
|
|
213
330
|
return undefined;
|
|
214
331
|
}
|
|
215
332
|
return 'export assignment';
|
|
216
333
|
}
|
|
217
|
-
function classifyClassDeclaration(statement) {
|
|
218
|
-
if (hasClassImpurity(statement)) {
|
|
334
|
+
function classifyClassDeclaration(statement, settings) {
|
|
335
|
+
if (hasClassImpurity(statement, settings)) {
|
|
219
336
|
return 'class declaration';
|
|
220
337
|
}
|
|
221
338
|
return undefined;
|
|
222
339
|
}
|
|
223
|
-
function classifyVariableStatement(statement) {
|
|
340
|
+
function classifyVariableStatement(statement, settings) {
|
|
224
341
|
const hasImpureInitializer = statement.getDeclarations().some((declarator) => {
|
|
225
342
|
const initializer = declarator.getInitializer();
|
|
226
|
-
return initializer !== undefined && !isPureExpression(initializer);
|
|
343
|
+
return initializer !== undefined && !isPureExpression(initializer, settings);
|
|
227
344
|
});
|
|
228
345
|
if (hasImpureInitializer) {
|
|
229
346
|
return 'variable initializer';
|
|
@@ -239,20 +356,20 @@ const statementClassifiers = new Map([
|
|
|
239
356
|
],
|
|
240
357
|
[
|
|
241
358
|
SyntaxKind.ExportAssignment,
|
|
242
|
-
(statement) => {
|
|
243
|
-
return classifyExportAssignment(statement.asKindOrThrow(SyntaxKind.ExportAssignment));
|
|
359
|
+
(statement, settings) => {
|
|
360
|
+
return classifyExportAssignment(statement.asKindOrThrow(SyntaxKind.ExportAssignment), settings);
|
|
244
361
|
}
|
|
245
362
|
],
|
|
246
363
|
[
|
|
247
364
|
SyntaxKind.ClassDeclaration,
|
|
248
|
-
(statement) => {
|
|
249
|
-
return classifyClassDeclaration(statement.asKindOrThrow(SyntaxKind.ClassDeclaration));
|
|
365
|
+
(statement, settings) => {
|
|
366
|
+
return classifyClassDeclaration(statement.asKindOrThrow(SyntaxKind.ClassDeclaration), settings);
|
|
250
367
|
}
|
|
251
368
|
],
|
|
252
369
|
[
|
|
253
370
|
SyntaxKind.VariableStatement,
|
|
254
|
-
(statement) => {
|
|
255
|
-
return classifyVariableStatement(statement.asKindOrThrow(SyntaxKind.VariableStatement));
|
|
371
|
+
(statement, settings) => {
|
|
372
|
+
return classifyVariableStatement(statement.asKindOrThrow(SyntaxKind.VariableStatement), settings);
|
|
256
373
|
}
|
|
257
374
|
],
|
|
258
375
|
[
|
|
@@ -262,7 +379,7 @@ const statementClassifiers = new Map([
|
|
|
262
379
|
}
|
|
263
380
|
]
|
|
264
381
|
]);
|
|
265
|
-
function classifyTopLevelStatement(statement) {
|
|
382
|
+
function classifyTopLevelStatement(statement, settings) {
|
|
266
383
|
const kind = statement.getKind();
|
|
267
384
|
if (pureDeclarationKinds.has(kind)) {
|
|
268
385
|
return undefined;
|
|
@@ -273,13 +390,13 @@ function classifyTopLevelStatement(statement) {
|
|
|
273
390
|
}
|
|
274
391
|
const classifier = statementClassifiers.get(kind);
|
|
275
392
|
if (classifier !== undefined) {
|
|
276
|
-
return classifier(statement);
|
|
393
|
+
return classifier(statement, settings);
|
|
277
394
|
}
|
|
278
395
|
return 'unknown statement';
|
|
279
396
|
}
|
|
280
|
-
export function classifySideEffects(sourceFile) {
|
|
397
|
+
export function classifySideEffects(sourceFile, settings) {
|
|
281
398
|
return sourceFile.getStatements().flatMap((statement) => {
|
|
282
|
-
const kind = classifyTopLevelStatement(statement);
|
|
399
|
+
const kind = classifyTopLevelStatement(statement, settings);
|
|
283
400
|
if (kind === undefined) {
|
|
284
401
|
return [];
|
|
285
402
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-effect-classifier.js","sourceRoot":"","sources":["../../../../source/dead-code-eliminator/side-effect-classifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"side-effect-classifier.js","sourceRoot":"","sources":["../../../../source/dead-code-eliminator/side-effect-classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Node as TsMorphNode, SyntaxKind } from 'ts-morph';
|
|
2
|
+
import { variableDeclarationSurvives } from "../variable-declaration-bindings.js";
|
|
2
3
|
const namedDeclarationKinds = new Set([
|
|
3
4
|
SyntaxKind.FunctionDeclaration,
|
|
4
5
|
SyntaxKind.ClassDeclaration,
|
|
@@ -23,7 +24,7 @@ function captureNamedDeclarationSurvivor(statement, survivingNames) {
|
|
|
23
24
|
function captureVariableStatementSurvivors(statement, survivingNames) {
|
|
24
25
|
const declarators = statement.getDeclarations();
|
|
25
26
|
const survivingDeclarators = declarators.filter((declarator) => {
|
|
26
|
-
return
|
|
27
|
+
return variableDeclarationSurvives(declarator, survivingNames);
|
|
27
28
|
});
|
|
28
29
|
if (survivingDeclarators.length === declarators.length) {
|
|
29
30
|
return [captureSurvivor(statement)];
|
|
@@ -56,7 +57,7 @@ function processVariableStatement(statement, survivingNames) {
|
|
|
56
57
|
}
|
|
57
58
|
let mutated = false;
|
|
58
59
|
for (const declarator of statement.getDeclarations()) {
|
|
59
|
-
if (!
|
|
60
|
+
if (!variableDeclarationSurvives(declarator, survivingNames)) {
|
|
60
61
|
declarator.remove();
|
|
61
62
|
mutated = true;
|
|
62
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declaration-remover.js","sourceRoot":"","sources":["../../../../../source/dead-code-eliminator/transform/declaration-remover.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,IAAI,WAAW,EACnB,UAAU,EAKb,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"declaration-remover.js","sourceRoot":"","sources":["../../../../../source/dead-code-eliminator/transform/declaration-remover.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,IAAI,WAAW,EACnB,UAAU,EAKb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAuBlF,MAAM,qBAAqB,GAA4B,IAAI,GAAG,CAAC;IAC3D,UAAU,CAAC,mBAAmB;IAC9B,UAAU,CAAC,gBAAgB;IAC3B,UAAU,CAAC,oBAAoB;IAC/B,UAAU,CAAC,oBAAoB;IAC/B,UAAU,CAAC,eAAe;IAC1B,UAAU,CAAC,iBAAiB;CAC/B,CAAC,CAAC;AAIH,SAAS,kBAAkB,CAAC,SAAoB;IAC5C,OAAO,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,IAAqC;IAC1D,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,+BAA+B,CACpC,SAAyB,EACzB,cAAmC;IAEnC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,IAAI,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,iCAAiC,CACtC,SAA4B,EAC5B,cAAmC;IAEnC,MAAM,WAAW,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;IAChD,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QAC3D,OAAO,2BAA2B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,IAAI,oBAAoB,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,4BAA4B,CAAC,SAAoB,EAAE,cAAmC;IAC3F,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,+BAA+B,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,OAAO,iCAAiC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAoB,EAAE,cAAmC;IACtF,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,IAAI,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,SAAS,CAAC,MAAM,EAAE,CAAC;IACnB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAoB,EAAE,cAAmC;IACvF,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;YAC3D,UAAU,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAoB,EAAE,cAAmC;IAC/E,IAAI,uBAAuB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,wBAAwB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAsB,EAAE,IAAiB;IACtE,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/C,OAAO,4BAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,IAAI,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACnD,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,OAAO;YACH,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;SACrC,CAAC;IACN,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Node as TsMorphNode, SyntaxKind } from 'ts-morph';
|
|
2
|
+
function collectBindingElementBindings(element) {
|
|
3
|
+
const referenceNode = element.getFirstAncestorByKindOrThrow(SyntaxKind.VariableDeclaration);
|
|
4
|
+
const nameNode = element.getNameNode();
|
|
5
|
+
if (TsMorphNode.isIdentifier(nameNode)) {
|
|
6
|
+
return [{ name: nameNode.getText(), declarationNode: element, referenceNode }];
|
|
7
|
+
}
|
|
8
|
+
return collectVariableDeclarationBindingsFromNameNode(nameNode, element, referenceNode);
|
|
9
|
+
}
|
|
10
|
+
function collectVariableDeclarationBindingsFromNameNode(nameNode, fallbackDeclarationNode, referenceNode) {
|
|
11
|
+
if (TsMorphNode.isIdentifier(nameNode)) {
|
|
12
|
+
return [{ name: nameNode.getText(), declarationNode: fallbackDeclarationNode, referenceNode }];
|
|
13
|
+
}
|
|
14
|
+
return nameNode.getElements().flatMap((element) => {
|
|
15
|
+
if (!TsMorphNode.isBindingElement(element)) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
return collectBindingElementBindings(element);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function collectVariableDeclarationBindings(declarator) {
|
|
22
|
+
return collectVariableDeclarationBindingsFromNameNode(declarator.getNameNode(), declarator, declarator);
|
|
23
|
+
}
|
|
24
|
+
export function namesBoundByVariableDeclaration(declarator) {
|
|
25
|
+
return collectVariableDeclarationBindings(declarator).map((binding) => {
|
|
26
|
+
return binding.name;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export function variableDeclarationSurvives(declarator, survivingNames) {
|
|
30
|
+
return namesBoundByVariableDeclaration(declarator).some((name) => {
|
|
31
|
+
return survivingNames.has(name);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=variable-declaration-bindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-declaration-bindings.js","sourceRoot":"","sources":["../../../../source/dead-code-eliminator/variable-declaration-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,UAAU,EAAiD,MAAM,UAAU,CAAC;AAQ1G,SAAS,6BAA6B,CAAC,OAAuB;IAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,6BAA6B,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,8CAA8C,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,8CAA8C,CACnD,QAAoG,EACpG,uBAA6D,EAC7D,aAAkC;IAElC,IAAI,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,uBAAuB,EAAE,aAAa,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9C,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,kCAAkC,CAC9C,UAA+B;IAE/B,OAAO,8CAA8C,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,UAA+B;IAC3E,OAAO,kCAAkC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAClE,OAAO,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,UAA+B,EAC/B,cAAmC;IAEnC,OAAO,+BAA+B,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7D,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -2,34 +2,5 @@ import type { Maybe } from 'true-myth';
|
|
|
2
2
|
import type { Project } from 'ts-morph';
|
|
3
3
|
import { type ExternalDependencies } from './external-dependencies.ts';
|
|
4
4
|
import type { TypescriptProject } from './typescript-project-analyzer.ts';
|
|
5
|
-
export type DependencyGraphNodeData = {
|
|
6
|
-
readonly sourceMapFilePath: Maybe<string>;
|
|
7
|
-
readonly project: TypescriptProject;
|
|
8
|
-
readonly externalDependencies: readonly string[];
|
|
9
|
-
};
|
|
10
|
-
type DependencyNode = DependencyGraphNodeData & {
|
|
11
|
-
readonly filePath: string;
|
|
12
|
-
readonly localFiles: readonly string[];
|
|
13
|
-
};
|
|
14
|
-
export type LocalFile = {
|
|
15
|
-
readonly filePath: string;
|
|
16
|
-
readonly directDependencies: ReadonlySet<string>;
|
|
17
|
-
readonly project?: Project | undefined;
|
|
18
|
-
};
|
|
19
|
-
export type DependencyFiles = {
|
|
20
|
-
readonly localFiles: readonly LocalFile[];
|
|
21
|
-
readonly externalDependencies: ExternalDependencies;
|
|
22
|
-
};
|
|
23
|
-
export declare function mergeDependencyFiles(first: Readonly<DependencyFiles>, second: Readonly<DependencyFiles>): Readonly<DependencyFiles>;
|
|
24
|
-
type DependencyGraphVisitor = (node: Readonly<DependencyNode>) => void;
|
|
25
|
-
export type DependencyGraph = {
|
|
26
|
-
addDependency: (filePath: string, data: DependencyGraphNodeData) => void;
|
|
27
|
-
connect: (fromFilePath: string, toFilePath: string) => void;
|
|
28
|
-
hasConnection: (fromFilePath: string, toFilePath: string) => boolean;
|
|
29
|
-
walk: (startFilePath: string, visitor: DependencyGraphVisitor) => void;
|
|
30
|
-
isKnown: (filePath: string) => boolean;
|
|
31
|
-
flatten: (startFilePath: string) => Readonly<DependencyFiles>;
|
|
32
|
-
};
|
|
33
|
-
export declare function createDependencyGraph(): DependencyGraph;
|
|
34
5
|
export {};
|
|
35
6
|
//# sourceMappingURL=dependency-graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU;AAGvC,OAAO,EAEH,KAAK,oBAAoB,EAE5B,MAAM,4BAA4B;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC"}
|
|
@@ -3,5 +3,4 @@ export type ExternalDependency = {
|
|
|
3
3
|
readonly referencedFrom: readonly [string, ...(readonly string[])];
|
|
4
4
|
};
|
|
5
5
|
export type ExternalDependencies = ReadonlyMap<string, ExternalDependency>;
|
|
6
|
-
export declare function mergeExternalDependencies(dependenciesA: ExternalDependencies, dependenciesB: ExternalDependencies): ReadonlyMap<string, ExternalDependency>;
|
|
7
6
|
//# sourceMappingURL=external-dependencies.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-dependencies.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/external-dependencies.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACtE
|
|
1
|
+
{"version":3,"file":"external-dependencies.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/external-dependencies.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC"}
|
|
@@ -2,18 +2,5 @@ import type { MainPackageJson } from '../config/package-json.ts';
|
|
|
2
2
|
import type { SourceMapFileLocator } from './source-map-file-locator.ts';
|
|
3
3
|
import type { TypescriptProjectAnalyzer } from './typescript-project-analyzer.ts';
|
|
4
4
|
import { type DependencyGraph } from './dependency-graph.ts';
|
|
5
|
-
type ScanOptionsInput = {
|
|
6
|
-
readonly mainPackageJson: MainPackageJson;
|
|
7
|
-
readonly includeSourceMapFiles?: boolean;
|
|
8
|
-
readonly resolveDeclarationFiles?: boolean;
|
|
9
|
-
};
|
|
10
|
-
export type DependencyScannerDependencies = {
|
|
11
|
-
readonly sourceMapFileLocator: SourceMapFileLocator;
|
|
12
|
-
readonly typescriptProjectAnalyzer: TypescriptProjectAnalyzer;
|
|
13
|
-
};
|
|
14
|
-
export type DependencyScanner = {
|
|
15
|
-
scan: (entryPointFile: string, folder: string, options: ScanOptionsInput) => Promise<DependencyGraph>;
|
|
16
|
-
};
|
|
17
|
-
export declare function createDependencyScanner(dependencyScannerDependencies: Readonly<DependencyScannerDependencies>): DependencyScanner;
|
|
18
5
|
export {};
|
|
19
6
|
//# sourceMappingURL=scanner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC;AACpG,OAAO,EAAuD,KAAK,eAAe,EAAE,MAAM,uBAAuB"}
|
|
@@ -10,21 +10,5 @@ export function resolveSourceFileForLiteral(literal, containingSourceFile) {
|
|
|
10
10
|
}
|
|
11
11
|
return undefined;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
const importStringLiterals = sourceFile.getImportStringLiterals();
|
|
15
|
-
return importStringLiterals
|
|
16
|
-
.map((literal) => {
|
|
17
|
-
const referencedSourceFile = resolveSourceFileForLiteral(literal, sourceFile);
|
|
18
|
-
if (referencedSourceFile === undefined) {
|
|
19
|
-
const importValue = literal.getLiteralValue();
|
|
20
|
-
if (isBuiltin(importValue)) {
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
const message = `Failed to resolve import "${importValue}" in file "${sourceFile.getFilePath()}"`;
|
|
24
|
-
throw new Error(message);
|
|
25
|
-
}
|
|
26
|
-
return referencedSourceFile;
|
|
27
|
-
})
|
|
28
|
-
.filter(isDefined);
|
|
29
|
-
}
|
|
13
|
+
|
|
30
14
|
//# sourceMappingURL=source-file-references.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-file-references.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-file-references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"source-file-references.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-file-references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ;AAClC,OAAO,EAAE,EAAE,EAAuC,MAAM,UAAU;AAElE,MAAM,UAAU,2BAA2B,CACvC,OAAsB,EACtB,oBAA0C;IAE1C,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAC/B,OAAO,CAAC,eAAe,EAAE,EACzB,oBAAoB,CAAC,WAAW,EAAE,EAClC,OAAO,CAAC,kBAAkB,EAAE,EAC5B,OAAO,CAAC,uBAAuB,EAAE,CACpC,CAAC;IAEF,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAChE,OAAO,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,SAAS,CAAC;AACrB"}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
1
|
import { Maybe } from 'true-myth';
|
|
2
2
|
import type { FileManager } from '../file-manager/file-manager.ts';
|
|
3
|
-
export type SourceMapFileLocatorDependencies = {
|
|
4
|
-
readonly fileManager: FileManager;
|
|
5
|
-
};
|
|
6
|
-
export type SourceMapFileLocator = {
|
|
7
|
-
locate: (sourceFile: string) => Promise<Maybe<string>>;
|
|
8
|
-
};
|
|
9
|
-
export declare function createSourceMapFileLocator(dependencies: Readonly<SourceMapFileLocatorDependencies>): SourceMapFileLocator;
|
|
10
3
|
//# sourceMappingURL=source-map-file-locator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-map-file-locator.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-map-file-locator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"source-map-file-locator.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-map-file-locator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
1
|
import type { FileSystemHost } from 'ts-morph';
|
|
2
2
|
import type { MainPackageJson } from '../config/package-json.ts';
|
|
3
|
-
export type FileSystemAdaptersDependencies = {
|
|
4
|
-
fileSystemHost: FileSystemHost;
|
|
5
|
-
};
|
|
6
|
-
export type FileSystemAdapters = {
|
|
7
|
-
fileSystemHostWithoutFilter: FileSystemHost;
|
|
8
|
-
fileSystemHostFilteringDeclarationFiles: FileSystemHost;
|
|
9
|
-
withVirtualPackageJson: (fileSystemHost: FileSystemHost, folder: string, mainPackageJson: MainPackageJson) => FileSystemHost;
|
|
10
|
-
};
|
|
11
|
-
export declare function createFileSystemAdapters(dependencies: FileSystemAdaptersDependencies): FileSystemAdapters;
|
|
12
3
|
//# sourceMappingURL=typescript-file-host.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-file-host.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-file-host.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"typescript-file-host.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-file-host.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B"}
|
|
@@ -1,23 +1,5 @@
|
|
|
1
1
|
import { type Project as _Project, type SourceFile } from 'ts-morph';
|
|
2
2
|
import type { MainPackageJson } from '../config/package-json.ts';
|
|
3
3
|
import type { FileSystemAdapters } from './typescript-file-host.ts';
|
|
4
|
-
export type TypescriptProjectAnalyzerDependencies = {
|
|
5
|
-
readonly Project: typeof _Project;
|
|
6
|
-
readonly fileSystemAdapters: FileSystemAdapters;
|
|
7
|
-
getReferencedSourceFiles: (sourceFile: Readonly<SourceFile>) => readonly Readonly<SourceFile>[];
|
|
8
|
-
};
|
|
9
|
-
type AnalyzationOptions = {
|
|
10
|
-
readonly resolveDeclarationFiles: boolean;
|
|
11
|
-
readonly mainPackageJson: MainPackageJson;
|
|
12
|
-
};
|
|
13
|
-
export type TypescriptProject = {
|
|
14
|
-
getReferencedSourceFilePaths: (containingSourceFilePath: string) => readonly string[];
|
|
15
|
-
getProject: () => _Project;
|
|
16
|
-
};
|
|
17
|
-
export type TypescriptProjectAnalyzer = {
|
|
18
|
-
analyzeProject: (folder: string, options: AnalyzationOptions) => TypescriptProject;
|
|
19
|
-
};
|
|
20
|
-
export declare function getSourcePathFromSourceFile(sourceFile: Readonly<SourceFile>): string;
|
|
21
|
-
export declare function createTypescriptProjectAnalyzer(dependencies: TypescriptProjectAnalyzerDependencies): TypescriptProjectAnalyzer;
|
|
22
4
|
export {};
|
|
23
5
|
//# sourceMappingURL=typescript-project-analyzer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-project-analyzer.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-project-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,OAAO,IAAI,QAAQ,EACxB,KAAK,UAAU,EAGlB,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"typescript-project-analyzer.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-project-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,OAAO,IAAI,QAAQ,EACxB,KAAK,UAAU,EAGlB,MAAM,UAAU;AACjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B"}
|
|
@@ -1,29 +1,2 @@
|
|
|
1
|
-
type GraphNodeId = number | string;
|
|
2
|
-
type GraphNode<TId extends GraphNodeId, TData> = {
|
|
3
|
-
readonly id: TId;
|
|
4
|
-
readonly data: TData;
|
|
5
|
-
readonly adjacentNodeIds: Set<TId>;
|
|
6
|
-
readonly incomingEdges: number;
|
|
7
|
-
};
|
|
8
|
-
type GraphEdge<TId extends GraphNodeId> = {
|
|
9
|
-
readonly from: TId;
|
|
10
|
-
readonly to: TId;
|
|
11
|
-
};
|
|
12
|
-
type Visitor<TId extends GraphNodeId, TData> = (node: Readonly<GraphNode<TId, TData>>) => void;
|
|
13
|
-
export type DirectedGraph<TId extends GraphNodeId, TData> = {
|
|
14
|
-
addNode: (id: TId, data: TData) => void;
|
|
15
|
-
connect: (edge: Readonly<GraphEdge<TId>>) => void;
|
|
16
|
-
disconnect: (edge: Readonly<GraphEdge<TId>>) => void;
|
|
17
|
-
hasNode: (id: TId) => boolean;
|
|
18
|
-
hasConnection: (edge: Readonly<GraphEdge<TId>>) => boolean;
|
|
19
|
-
visitBreadthFirstSearch: (startId: TId, visitor: Visitor<TId, TData>) => void;
|
|
20
|
-
detectCycles: () => readonly (readonly TId[])[];
|
|
21
|
-
isCyclic: () => boolean;
|
|
22
|
-
getTopologicalGenerations: () => readonly (readonly TId[])[];
|
|
23
|
-
reverse: () => DirectedGraph<TId, TData>;
|
|
24
|
-
getAdjacentIds: (id: TId) => ReadonlySet<TId>;
|
|
25
|
-
traverse: (visitor: Visitor<TId, TData>) => void;
|
|
26
|
-
};
|
|
27
|
-
export declare function createDirectedGraph<TId extends GraphNodeId, TData>(): DirectedGraph<TId, TData>;
|
|
28
1
|
export {};
|
|
29
2
|
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../source/directed-graph/graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../source/directed-graph/graph.ts"],"names":[],"mappings":""}
|
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import type { TransferableFileDescription } from './file-description.ts';
|
|
3
|
-
export type FileManagerDependencies = {
|
|
4
|
-
readonly hostFileSystem: typeof fs.promises;
|
|
5
|
-
};
|
|
6
|
-
type FileOrFolderReadability = {
|
|
7
|
-
readonly isReadable: boolean;
|
|
8
|
-
};
|
|
9
|
-
export type FileManager = {
|
|
10
|
-
checkReadability: (fileOrFolderPath: string) => Promise<FileOrFolderReadability>;
|
|
11
|
-
readFile: (filePath: string) => Promise<string>;
|
|
12
|
-
writeFile: (filePath: string, content: string) => Promise<void>;
|
|
13
|
-
setExecutable: (filePath: string, executable: boolean) => Promise<void>;
|
|
14
|
-
copyFile: (from: string, to: string) => Promise<void>;
|
|
15
|
-
getTransferableFileDescriptionFromPath: (sourceFilePath: string, targetFilePath: string) => Promise<TransferableFileDescription>;
|
|
16
|
-
};
|
|
17
|
-
export declare function createFileManager(dependencies: FileManagerDependencies): FileManager;
|
|
18
3
|
export {};
|
|
19
4
|
//# sourceMappingURL=file-manager.d.ts.map
|