packtory 0.0.9 → 0.0.10

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.
Files changed (205) hide show
  1. package/artifacts/artifacts-builder.js +0 -75
  2. package/artifacts/artifacts-builder.js.map +1 -1
  3. package/bundle-emitter/emitter.js +0 -34
  4. package/bundle-emitter/emitter.js.map +1 -1
  5. package/bundle-emitter/extract-package-tarball.js +0 -11
  6. package/bundle-emitter/extract-package-tarball.js.map +1 -1
  7. package/bundle-emitter/registry-client.js +0 -261
  8. package/bundle-emitter/registry-client.js.map +1 -1
  9. package/bundle-emitter/repository-url-normalizer.js +0 -36
  10. package/bundle-emitter/repository-url-normalizer.js.map +1 -1
  11. package/checks/check-runner.js +0 -5
  12. package/checks/check-runner.js.map +1 -1
  13. package/checks/rule.js +0 -8
  14. package/checks/rule.js.map +1 -1
  15. package/checks/rules/max-bundle-size.js +0 -35
  16. package/checks/rules/max-bundle-size.js.map +1 -1
  17. package/checks/rules/no-dev-dependency-imports.js +0 -28
  18. package/checks/rules/no-dev-dependency-imports.js.map +1 -1
  19. package/checks/rules/no-duplicated-files.js +0 -107
  20. package/checks/rules/no-duplicated-files.js.map +1 -1
  21. package/checks/rules/no-side-effects.js +0 -42
  22. package/checks/rules/no-side-effects.js.map +1 -1
  23. package/checks/rules/no-unused-bundle-dependencies.js +0 -24
  24. package/checks/rules/no-unused-bundle-dependencies.js.map +1 -1
  25. package/checks/rules/registry.js +0 -9
  26. package/checks/rules/registry.js.map +1 -1
  27. package/checks/rules/required-files.js +0 -31
  28. package/checks/rules/required-files.js.map +1 -1
  29. package/checks/rules/unique-target-paths.js +0 -25
  30. package/checks/rules/unique-target-paths.js.map +1 -1
  31. package/config/additional-files.js +0 -4
  32. package/config/additional-files.js.map +1 -1
  33. package/config/automatic-versioning-settings.js +0 -4
  34. package/config/automatic-versioning-settings.js.map +1 -1
  35. package/config/config.js +0 -2
  36. package/config/config.js.map +1 -1
  37. package/config/dead-code-elimination-settings.d.ts +6 -0
  38. package/config/dead-code-elimination-settings.d.ts.map +1 -1
  39. package/config/dead-code-elimination-settings.js +1 -3
  40. package/config/dead-code-elimination-settings.js.map +1 -1
  41. package/config/dependency-policy.js +0 -3
  42. package/config/dependency-policy.js.map +1 -1
  43. package/config/main-package-json-schema.js +0 -1
  44. package/config/main-package-json-schema.js.map +1 -1
  45. package/config/manual-versioning-settings.js +0 -4
  46. package/config/manual-versioning-settings.js.map +1 -1
  47. package/config/package-config.js +0 -6
  48. package/config/package-config.js.map +1 -1
  49. package/config/package-interface.d.ts +2 -0
  50. package/config/package-interface.d.ts.map +1 -1
  51. package/config/package-interface.js +0 -23
  52. package/config/package-interface.js.map +1 -1
  53. package/config/package-json.d.ts +0 -1
  54. package/config/package-json.d.ts.map +1 -1
  55. package/config/package-json.js +0 -16
  56. package/config/package-json.js.map +1 -1
  57. package/config/packtory-config-schema.js +0 -3
  58. package/config/packtory-config-schema.js.map +1 -1
  59. package/config/publish-settings.js +0 -22
  60. package/config/publish-settings.js.map +1 -1
  61. package/config/registry-settings.d.ts +0 -20
  62. package/config/registry-settings.d.ts.map +1 -1
  63. package/config/registry-settings.js +0 -38
  64. package/config/registry-settings.js.map +1 -1
  65. package/config/root.js +0 -4
  66. package/config/root.js.map +1 -1
  67. package/config/sbom-settings.js +0 -3
  68. package/config/sbom-settings.js.map +1 -1
  69. package/config/validation.d.ts.map +1 -1
  70. package/config/validation.js +0 -232
  71. package/config/validation.js.map +1 -1
  72. package/config/versioning-settings.js +0 -1
  73. package/config/versioning-settings.js.map +1 -1
  74. package/dead-code-eliminator/analyzed-bundle.d.ts +2 -0
  75. package/dead-code-eliminator/analyzed-bundle.d.ts.map +1 -1
  76. package/dead-code-eliminator/analyzed-bundle.js +0 -7
  77. package/dead-code-eliminator/analyzed-bundle.js.map +1 -1
  78. package/dead-code-eliminator/eliminator.js +3 -2
  79. package/dead-code-eliminator/eliminator.js.map +1 -1
  80. package/dead-code-eliminator/load-bundle.js +7 -6
  81. package/dead-code-eliminator/load-bundle.js.map +1 -1
  82. package/dead-code-eliminator/reachability/impure-statements.js +2 -2
  83. package/dead-code-eliminator/reachability/impure-statements.js.map +1 -1
  84. package/dead-code-eliminator/reachability/reachability.js +3 -3
  85. package/dead-code-eliminator/reachability/reachability.js.map +1 -1
  86. package/dead-code-eliminator/side-effect-classifier.js +141 -24
  87. package/dead-code-eliminator/side-effect-classifier.js.map +1 -1
  88. package/dependency-scanner/dependency-graph.d.ts +0 -2
  89. package/dependency-scanner/dependency-graph.d.ts.map +1 -1
  90. package/dependency-scanner/dependency-graph.js +0 -73
  91. package/dependency-scanner/dependency-graph.js.map +1 -1
  92. package/dependency-scanner/external-dependencies.d.ts +0 -1
  93. package/dependency-scanner/external-dependencies.d.ts.map +1 -1
  94. package/dependency-scanner/external-dependencies.js +0 -16
  95. package/dependency-scanner/external-dependencies.js.map +1 -1
  96. package/dependency-scanner/scanner.js +0 -69
  97. package/dependency-scanner/scanner.js.map +1 -1
  98. package/dependency-scanner/source-file-references.js +0 -26
  99. package/dependency-scanner/source-file-references.js.map +1 -1
  100. package/dependency-scanner/source-map-file-locator.js +0 -27
  101. package/dependency-scanner/source-map-file-locator.js.map +1 -1
  102. package/dependency-scanner/typescript-file-host.js +0 -114
  103. package/dependency-scanner/typescript-file-host.js.map +1 -1
  104. package/dependency-scanner/typescript-project-analyzer.d.ts +0 -1
  105. package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
  106. package/dependency-scanner/typescript-project-analyzer.js +0 -52
  107. package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
  108. package/directed-graph/graph.d.ts +0 -1
  109. package/directed-graph/graph.d.ts.map +1 -1
  110. package/directed-graph/graph.js +0 -229
  111. package/directed-graph/graph.js.map +1 -1
  112. package/file-manager/compare.js +0 -17
  113. package/file-manager/compare.js.map +1 -1
  114. package/file-manager/equal.js +0 -5
  115. package/file-manager/equal.js.map +1 -1
  116. package/file-manager/file-manager.js +0 -52
  117. package/file-manager/file-manager.js.map +1 -1
  118. package/file-manager/permissions.js +0 -26
  119. package/file-manager/permissions.js.map +1 -1
  120. package/linker/linker.js +0 -23
  121. package/linker/linker.js.map +1 -1
  122. package/linker/resource-graph.js +0 -25
  123. package/linker/resource-graph.js.map +1 -1
  124. package/linker/source-modifier/import-paths.js +0 -22
  125. package/linker/source-modifier/import-paths.js.map +1 -1
  126. package/linker/substitute-bundles.js +0 -79
  127. package/linker/substitute-bundles.js.map +1 -1
  128. package/linker/substituted-resource-graph.js +0 -72
  129. package/linker/substituted-resource-graph.js.map +1 -1
  130. package/package-surface/modules.js +12 -230
  131. package/package-surface/modules.js.map +1 -1
  132. package/package-surface/surface.d.ts +0 -2
  133. package/package-surface/surface.d.ts.map +1 -1
  134. package/package-surface/surface.js +0 -15
  135. package/package-surface/surface.js.map +1 -1
  136. package/package.json +41 -3
  137. package/packtory/map-config.js +0 -14
  138. package/packtory/map-config.js.map +1 -1
  139. package/packtory/normalize-paths.js +0 -24
  140. package/packtory/normalize-paths.js.map +1 -1
  141. package/packtory/package-processor-build.js +0 -72
  142. package/packtory/package-processor-build.js.map +1 -1
  143. package/packtory/package-processor-publish.d.ts +0 -11
  144. package/packtory/package-processor-publish.d.ts.map +1 -1
  145. package/packtory/package-processor-publish.js +0 -133
  146. package/packtory/package-processor-publish.js.map +1 -1
  147. package/packtory/package-processor.js +0 -8
  148. package/packtory/package-processor.js.map +1 -1
  149. package/packtory/packtory-resolve.js +16 -9
  150. package/packtory/packtory-resolve.js.map +1 -1
  151. package/packtory/packtory-results.js +0 -15
  152. package/packtory/packtory-results.js.map +1 -1
  153. package/packtory/prepare-package-options.d.ts +2 -14
  154. package/packtory/prepare-package-options.d.ts.map +1 -1
  155. package/packtory/prepare-package-options.js +1 -118
  156. package/packtory/prepare-package-options.js.map +1 -1
  157. package/packtory/resolved-package.js +0 -31
  158. package/packtory/resolved-package.js.map +1 -1
  159. package/progress/progress-broadcaster.js +0 -45
  160. package/progress/progress-broadcaster.js.map +1 -1
  161. package/report/artifact-entry-merger.js +0 -20
  162. package/report/artifact-entry-merger.js.map +1 -1
  163. package/report/inspectors.js +0 -73
  164. package/report/inspectors.js.map +1 -1
  165. package/report/report-aggregator.js +0 -185
  166. package/report/report-aggregator.js.map +1 -1
  167. package/resource-resolver/content.js +0 -53
  168. package/resource-resolver/content.js.map +1 -1
  169. package/resource-resolver/resource-resolve-options.js +0 -12
  170. package/resource-resolver/resource-resolve-options.js.map +1 -1
  171. package/resource-resolver/resource-resolver.js +0 -78
  172. package/resource-resolver/resource-resolver.js.map +1 -1
  173. package/sbom/extract-license.js +0 -10
  174. package/sbom/extract-license.js.map +1 -1
  175. package/sbom/license-resolver.js +0 -19
  176. package/sbom/license-resolver.js.map +1 -1
  177. package/sbom/sbom-file.js +0 -54
  178. package/sbom/sbom-file.js.map +1 -1
  179. package/sbom/sbom-serializer.js +0 -9
  180. package/sbom/sbom-serializer.js.map +1 -1
  181. package/sbom.cdx.json +390 -0
  182. package/tar/extract-tar.js +0 -38
  183. package/tar/extract-tar.js.map +1 -1
  184. package/version-manager/manager.js +0 -46
  185. package/version-manager/manager.js.map +1 -1
  186. package/version-manager/manifest/builder.js +0 -56
  187. package/version-manager/manifest/builder.js.map +1 -1
  188. package/version-manager/manifest/serialize.js +0 -46
  189. package/version-manager/manifest/serialize.js.map +1 -1
  190. package/version-manager/manifest/sort-values.js +0 -16
  191. package/version-manager/manifest/sort-values.js.map +1 -1
  192. package/version-manager/specifier-classifier.js +0 -33
  193. package/version-manager/specifier-classifier.js.map +1 -1
  194. package/version-manager/specifier-errors.js +0 -43
  195. package/version-manager/specifier-errors.js.map +1 -1
  196. package/version-manager/versioned-bundle-dependencies.js +0 -107
  197. package/version-manager/versioned-bundle-dependencies.js.map +1 -1
  198. package/version-manager/versioned-bundle-imports.d.ts +0 -1
  199. package/version-manager/versioned-bundle-imports.d.ts.map +1 -1
  200. package/version-manager/versioned-bundle-imports.js +0 -72
  201. package/version-manager/versioned-bundle-imports.js.map +1 -1
  202. package/version-manager/versioned-bundle.d.ts +0 -1
  203. package/version-manager/versioned-bundle.d.ts.map +1 -1
  204. package/version-manager/versioned-bundle.js +0 -60
  205. package/version-manager/versioned-bundle.js.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, isPureExpression) ?? false;
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(classMemberIsImpure);
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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"}
@@ -20,7 +20,6 @@ export type DependencyFiles = {
20
20
  readonly localFiles: readonly LocalFile[];
21
21
  readonly externalDependencies: ExternalDependencies;
22
22
  };
23
- export declare function mergeDependencyFiles(first: Readonly<DependencyFiles>, second: Readonly<DependencyFiles>): Readonly<DependencyFiles>;
24
23
  type DependencyGraphVisitor = (node: Readonly<DependencyNode>) => void;
25
24
  export type DependencyGraph = {
26
25
  addDependency: (filePath: string, data: DependencyGraphNodeData) => void;
@@ -30,6 +29,5 @@ export type DependencyGraph = {
30
29
  isKnown: (filePath: string) => boolean;
31
30
  flatten: (startFilePath: string) => Readonly<DependencyFiles>;
32
31
  };
33
- export declare function createDependencyGraph(): DependencyGraph;
34
32
  export {};
35
33
  //# 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,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,OAAO,EAEH,KAAK,oBAAoB,EAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;CACpD,CAAC;AAEF,KAAK,cAAc,GAAG,uBAAuB,GAAG;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACvD,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,QAAQ,CAAC,eAAe,CAAC,CAS3B;AAED,KAAK,sBAAsB,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG;IAC1B,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACzE,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IACrE,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAC;CACjE,CAAC;AAEF,wBAAgB,qBAAqB,IAAI,eAAe,CA0EvD"}
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;AAEzE,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;CACpD;AAED,KAAK,cAAc,GAAG,uBAAuB,GAAG;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACvD;AAgBD,KAAK,sBAAsB,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,IAAI;AAEtE,MAAM,MAAM,eAAe,GAAG;IAC1B,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACzE,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IACrE,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAC;CACjE"}
@@ -1,77 +1,4 @@
1
1
  import { indexBy, unique, values } from 'remeda';
2
2
  import { createDirectedGraph } from "../directed-graph/graph.js";
3
3
  import { mergeExternalDependencies } from "./external-dependencies.js";
4
- export function mergeDependencyFiles(first, second) {
5
- return {
6
- localFiles: values(indexBy([...first.localFiles, ...second.localFiles], (localFile) => {
7
- return localFile.filePath;
8
- })),
9
- externalDependencies: mergeExternalDependencies(first.externalDependencies, second.externalDependencies)
10
- };
11
- }
12
- export function createDependencyGraph() {
13
- const graph = createDirectedGraph();
14
- return {
15
- addDependency(filePath, data) {
16
- graph.addNode(filePath, data);
17
- },
18
- isKnown: graph.hasNode,
19
- connect(fromFilePath, toFilePath) {
20
- graph.connect({ from: fromFilePath, to: toFilePath });
21
- },
22
- hasConnection(fromFilePath, toFilePath) {
23
- return graph.hasConnection({ from: fromFilePath, to: toFilePath });
24
- },
25
- walk(startFilePath, visitor) {
26
- graph.visitBreadthFirstSearch(startFilePath, (node) => {
27
- visitor({
28
- filePath: node.id,
29
- sourceMapFilePath: node.data.sourceMapFilePath,
30
- externalDependencies: node.data.externalDependencies,
31
- localFiles: Array.from(node.adjacentNodeIds),
32
- project: node.data.project
33
- });
34
- });
35
- },
36
- flatten(startFilePath) {
37
- const localFiles = new Map();
38
- const externalDependencies = new Map();
39
- graph.visitBreadthFirstSearch(startFilePath, (node) => {
40
- const directDependencies = new Set(graph.getAdjacentIds(node.id));
41
- if (node.data.sourceMapFilePath.isJust) {
42
- directDependencies.add(node.data.sourceMapFilePath.value);
43
- localFiles.set(node.data.sourceMapFilePath.value, {
44
- filePath: node.data.sourceMapFilePath.value,
45
- directDependencies: new Set(),
46
- project: node.data.project.getProject()
47
- });
48
- }
49
- localFiles.set(node.id, {
50
- filePath: node.id,
51
- directDependencies,
52
- project: node.data.project.getProject()
53
- });
54
- for (const externalDependencyName of node.data.externalDependencies) {
55
- const externalDependency = externalDependencies.get(externalDependencyName);
56
- if (externalDependency === undefined) {
57
- externalDependencies.set(externalDependencyName, {
58
- name: externalDependencyName,
59
- referencedFrom: [node.id]
60
- });
61
- }
62
- else {
63
- externalDependencies.set(externalDependencyName, {
64
- name: externalDependencyName,
65
- referencedFrom: unique([...externalDependency.referencedFrom, node.id])
66
- });
67
- }
68
- }
69
- });
70
- return {
71
- localFiles: Array.from(localFiles.values()),
72
- externalDependencies
73
- };
74
- }
75
- };
76
- }
77
4
  //# sourceMappingURL=dependency-graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/dependency-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/dependency-graph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B;AAChE,OAAO,EACH,yBAAyB,EAG5B,MAAM,4BAA4B"}
@@ -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,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE3E,wBAAgB,yBAAyB,CACrC,aAAa,EAAE,oBAAoB,EACnC,aAAa,EAAE,oBAAoB,GACpC,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAiBzC"}
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"}
@@ -1,18 +1,2 @@
1
1
  import { unique } from 'remeda';
2
- export function mergeExternalDependencies(dependenciesA, dependenciesB) {
3
- const mergedDependencies = new Map(dependenciesA.entries());
4
- for (const dependencyB of dependenciesB.values()) {
5
- const dependencyA = mergedDependencies.get(dependencyB.name);
6
- if (dependencyA === undefined) {
7
- mergedDependencies.set(dependencyB.name, dependencyB);
8
- }
9
- else {
10
- mergedDependencies.set(dependencyA.name, {
11
- name: dependencyA.name,
12
- referencedFrom: unique([...dependencyA.referencedFrom, ...dependencyB.referencedFrom])
13
- });
14
- }
15
- }
16
- return mergedDependencies;
17
- }
18
2
  //# sourceMappingURL=external-dependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external-dependencies.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/external-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAShC,MAAM,UAAU,yBAAyB,CACrC,aAAmC,EACnC,aAAmC;IAEnC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAA6B,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAExF,KAAK,MAAM,WAAW,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE;gBACrC,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;aACzF,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"external-dependencies.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/external-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ"}
@@ -1,73 +1,4 @@
1
1
  import { Maybe } from 'true-myth/maybe';
2
2
  import { unique } from 'remeda';
3
3
  import { createDependencyGraph } from "./dependency-graph.js";
4
- function isNodeModulesPath(filePath) {
5
- return filePath.includes('/node_modules/');
6
- }
7
- function isLocalPath(filePath) {
8
- return !isNodeModulesPath(filePath);
9
- }
10
- function extractModuleName(nodeModulePath) {
11
- const prefix = '/node_modules/';
12
- const pattern = /\/node_modules\/(?:[^@]+?|(?:@.+?\/.+?))\//;
13
- const result = pattern.exec(nodeModulePath);
14
- if (result === null) {
15
- throw new Error(`Couldn’t find node_modules package name for '${nodeModulePath}'`);
16
- }
17
- return result[0].slice(prefix.length, -1);
18
- }
19
- function determineLocalDependencies(dependencies) {
20
- return dependencies.filter(isLocalPath);
21
- }
22
- function determineExternalDependencies(dependencies) {
23
- const modulePaths = dependencies.filter(isNodeModulesPath);
24
- const moduleNames = modulePaths.map(extractModuleName);
25
- const uniqueModuleNames = unique(moduleNames);
26
- return uniqueModuleNames;
27
- }
28
- export function createDependencyScanner(dependencyScannerDependencies) {
29
- const { sourceMapFileLocator, typescriptProjectAnalyzer } = dependencyScannerDependencies;
30
- async function getDependencyNodeData(project, sourceFilePath, referencedFilePaths, options) {
31
- const sourceMapFilePath = options.includeSourceMapFiles
32
- ? await sourceMapFileLocator.locate(sourceFilePath)
33
- : Maybe.nothing();
34
- const externalDependencies = determineExternalDependencies(referencedFilePaths);
35
- return {
36
- sourceMapFilePath,
37
- externalDependencies,
38
- project
39
- };
40
- }
41
- async function scanDependenciesOfSourceFile(project, sourceFilePath, graph, options) {
42
- const referencedFilePaths = project.getReferencedSourceFilePaths(sourceFilePath);
43
- const localFiles = determineLocalDependencies(referencedFilePaths);
44
- const nodeData = await getDependencyNodeData(project, sourceFilePath, referencedFilePaths, options);
45
- graph.addDependency(sourceFilePath, nodeData);
46
- for (const localeFile of localFiles) {
47
- if (!graph.isKnown(localeFile)) {
48
- await scanDependenciesOfSourceFile(project, localeFile, graph, options);
49
- }
50
- if (!graph.hasConnection(sourceFilePath, localeFile)) {
51
- graph.connect(sourceFilePath, localeFile);
52
- }
53
- }
54
- }
55
- return {
56
- async scan(entryPointFile, folder, options) {
57
- const { resolveDeclarationFiles = false, includeSourceMapFiles = false, mainPackageJson } = options;
58
- const scanOptions = {
59
- includeSourceMapFiles,
60
- resolveDeclarationFiles,
61
- mainPackageJson
62
- };
63
- const graph = createDependencyGraph();
64
- const project = typescriptProjectAnalyzer.analyzeProject(folder, {
65
- resolveDeclarationFiles: scanOptions.resolveDeclarationFiles,
66
- mainPackageJson: scanOptions.mainPackageJson
67
- });
68
- await scanDependenciesOfSourceFile(project, entryPointFile, graph, scanOptions);
69
- return graph;
70
- }
71
- };
72
- }
73
4
  //# sourceMappingURL=scanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ;AAI/B,OAAO,EAAE,qBAAqB,EAAsD,MAAM,uBAAuB"}
@@ -1,30 +1,4 @@
1
1
  import { isBuiltin } from 'node:module';
2
2
  import { isDefined } from 'remeda';
3
3
  import { ts } from 'ts-morph';
4
- export function resolveSourceFileForLiteral(literal, containingSourceFile) {
5
- const project = containingSourceFile.getProject();
6
- const result = ts.resolveModuleName(literal.getLiteralValue(), containingSourceFile.getFilePath(), project.getCompilerOptions(), project.getModuleResolutionHost());
7
- if (result.resolvedModule !== undefined) {
8
- const resolvedFilePath = result.resolvedModule.resolvedFileName;
9
- return project.getSourceFile(resolvedFilePath);
10
- }
11
- return undefined;
12
- }
13
- export function getReferencedSourceFiles(sourceFile) {
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
- }
30
4
  //# 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,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,EAAE,EAAuC,MAAM,UAAU,CAAC;AAEnE,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,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAgC;IACrE,MAAM,oBAAoB,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAClE,OAAO,oBAAoB;SACtB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACb,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE9E,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YAE9C,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,MAAM,OAAO,GAAG,6BAA6B,WAAW,cAAc,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;YAElG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,oBAAoB,CAAC;IAChC,CAAC,CAAC;SACD,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC"}
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"}
@@ -1,30 +1,3 @@
1
1
  import path from 'node:path';
2
2
  import { Maybe } from 'true-myth';
3
- function getSourceMappingUrl(fileContent) {
4
- for (const line of fileContent.split('\n')) {
5
- if (line.startsWith('//# sourceMappingURL=')) {
6
- const sourceMappingUrl = line.slice('//# sourceMappingURL='.length);
7
- return sourceMappingUrl === '' ? undefined : sourceMappingUrl;
8
- }
9
- }
10
- return undefined;
11
- }
12
- export function createSourceMapFileLocator(dependencies) {
13
- const { fileManager } = dependencies;
14
- return {
15
- async locate(sourceFile) {
16
- const fileContent = await fileManager.readFile(sourceFile);
17
- const sourceMappingUrl = getSourceMappingUrl(fileContent);
18
- if (sourceMappingUrl !== undefined) {
19
- const folder = path.dirname(sourceFile);
20
- const sourceMappingFile = path.join(folder, sourceMappingUrl);
21
- const { isReadable } = await fileManager.checkReadability(sourceMappingFile);
22
- if (isReadable) {
23
- return Maybe.just(sourceMappingFile);
24
- }
25
- }
26
- return Maybe.nothing();
27
- }
28
- };
29
- }
30
3
  //# sourceMappingURL=source-map-file-locator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-map-file-locator.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-map-file-locator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAWlC,SAAS,mBAAmB,CAAC,WAAmB;IAC5C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACpE,OAAO,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAClE,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,YAAwD;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAErC,OAAO;QACH,KAAK,CAAC,MAAM,CAAC,UAAU;YACnB,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAE1D,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBAE7E,IAAI,UAAU,EAAE,CAAC;oBACb,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;YAED,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"source-map-file-locator.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-map-file-locator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW"}