packtory 0.0.21 → 0.0.23

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/bundle-emitter/emitter.d.ts.map +1 -1
  2. package/bundle-emitter/emitter.js +2 -2
  3. package/bundle-emitter/emitter.js.map +1 -1
  4. package/bundle-emitter/publish-error/auto-mode-error-matching.js +6 -7
  5. package/bundle-emitter/publish-error/auto-mode-error-matching.js.map +1 -1
  6. package/bundle-emitter/publish-error/file-mode-error-matching.js +16 -10
  7. package/bundle-emitter/publish-error/file-mode-error-matching.js.map +1 -1
  8. package/bundle-emitter/publish-error/publish-error-messages.js +15 -27
  9. package/bundle-emitter/publish-error/publish-error-messages.js.map +1 -1
  10. package/bundle-emitter/registry/metadata-auth-retry.js +5 -6
  11. package/bundle-emitter/registry/metadata-auth-retry.js.map +1 -1
  12. package/bundle-emitter/registry/oidc-token-exchange.js +6 -14
  13. package/bundle-emitter/registry/oidc-token-exchange.js.map +1 -1
  14. package/bundle-emitter/registry/package-metadata-fetcher.js +12 -17
  15. package/bundle-emitter/registry/package-metadata-fetcher.js.map +1 -1
  16. package/bundle-emitter/registry/publish-settings-bridge.js +8 -12
  17. package/bundle-emitter/registry/publish-settings-bridge.js.map +1 -1
  18. package/bundle-emitter/registry/registry-auth-config.js +22 -26
  19. package/bundle-emitter/registry/registry-auth-config.js.map +1 -1
  20. package/bundle-emitter/registry/registry-client.d.ts +1 -1
  21. package/bundle-emitter/registry/registry-client.d.ts.map +1 -1
  22. package/bundle-emitter/registry/registry-client.js +13 -6
  23. package/bundle-emitter/registry/registry-client.js.map +1 -1
  24. package/bundle-emitter/registry/registry-package-path.js +4 -0
  25. package/bundle-emitter/registry/registry-package-path.js.map +1 -0
  26. package/bundle-emitter/repository-coherence.js +17 -23
  27. package/bundle-emitter/repository-coherence.js.map +1 -1
  28. package/bundle-emitter/repository-url-normalizer.js +5 -8
  29. package/bundle-emitter/repository-url-normalizer.js.map +1 -1
  30. package/checks/rules/duplicate-messages.js +7 -10
  31. package/checks/rules/duplicate-messages.js.map +1 -1
  32. package/checks/rules/no-unused-bundle-dependencies.js +10 -13
  33. package/checks/rules/no-unused-bundle-dependencies.js.map +1 -1
  34. package/common/bundled-dependency-groups.js +28 -0
  35. package/common/bundled-dependency-groups.js.map +1 -0
  36. package/common/package-layout.js +49 -0
  37. package/common/package-layout.js.map +1 -0
  38. package/common/package-name-map.js +8 -0
  39. package/common/package-name-map.js.map +1 -0
  40. package/common/worklist.js +23 -0
  41. package/common/worklist.js.map +1 -0
  42. package/config/config.d.ts +1 -1
  43. package/config/config.d.ts.map +1 -1
  44. package/config/dependency-existence-validation.js +15 -17
  45. package/config/dependency-existence-validation.js.map +1 -1
  46. package/config/package-config.d.ts.map +1 -1
  47. package/config/package-config.js +2 -6
  48. package/config/package-config.js.map +1 -1
  49. package/config/publish-settings.d.ts.map +1 -1
  50. package/config/publish-settings.report.js +8 -7
  51. package/config/publish-settings.report.js.map +1 -1
  52. package/config/registry-settings.d.ts.map +1 -1
  53. package/config/root-config-validation.js +86 -81
  54. package/config/root-config-validation.js.map +1 -1
  55. package/dead-code-eliminator/cross-bundle/bundle-index.js +0 -3
  56. package/dead-code-eliminator/cross-bundle/bundle-index.js.map +1 -1
  57. package/dead-code-eliminator/cross-bundle/import-export-walker.js +4 -2
  58. package/dead-code-eliminator/cross-bundle/import-export-walker.js.map +1 -1
  59. package/dead-code-eliminator/eliminator.js.map +1 -1
  60. package/dead-code-eliminator/imported-expression-origin.js +28 -32
  61. package/dead-code-eliminator/imported-expression-origin.js.map +1 -1
  62. package/dead-code-eliminator/pure-expression.js +53 -64
  63. package/dead-code-eliminator/pure-expression.js.map +1 -1
  64. package/dead-code-eliminator/reachability/bfs-closure.js +31 -24
  65. package/dead-code-eliminator/reachability/bfs-closure.js.map +1 -1
  66. package/dead-code-eliminator/side-effect-classifier.js +2 -2
  67. package/dead-code-eliminator/side-effect-classifier.js.map +1 -1
  68. package/dead-code-eliminator/statement-classifiers.js +4 -5
  69. package/dead-code-eliminator/statement-classifiers.js.map +1 -1
  70. package/dead-code-eliminator/syntax-kind-sets.js +24 -65
  71. package/dead-code-eliminator/syntax-kind-sets.js.map +1 -1
  72. package/dependency-scanner/node-modules-manifest-synthesizer.js +3 -6
  73. package/dependency-scanner/node-modules-manifest-synthesizer.js.map +1 -1
  74. package/dependency-scanner/package-owned-asset-file-path.js +2 -13
  75. package/dependency-scanner/package-owned-asset-file-path.js.map +1 -1
  76. package/dependency-scanner/scanner.js +39 -29
  77. package/dependency-scanner/scanner.js.map +1 -1
  78. package/dependency-scanner/source-file-references.d.ts.map +1 -1
  79. package/dependency-scanner/source-file-references.js +75 -79
  80. package/dependency-scanner/source-file-references.js.map +1 -1
  81. package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
  82. package/dependency-scanner/typescript-project-analyzer.js +2 -1
  83. package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
  84. package/dependency-scanner/virtual-package-json-host.js +2 -1
  85. package/dependency-scanner/virtual-package-json-host.js.map +1 -1
  86. package/directed-graph/graph.js +38 -64
  87. package/directed-graph/graph.js.map +1 -1
  88. package/file-manager/compare.js +7 -3
  89. package/file-manager/compare.js.map +1 -1
  90. package/file-manager/file-description-by-path.js +8 -0
  91. package/file-manager/file-description-by-path.js.map +1 -0
  92. package/npm-oidc-id-token-resolver.js +17 -14
  93. package/npm-oidc-id-token-resolver.js.map +1 -1
  94. package/package-surface/implicit-bin.js +9 -6
  95. package/package-surface/implicit-bin.js.map +1 -1
  96. package/package-surface/package-json-export.js +4 -3
  97. package/package-surface/package-json-export.js.map +1 -1
  98. package/package-surface/package-shape.js +4 -3
  99. package/package-surface/package-shape.js.map +1 -1
  100. package/package-surface/package-surface-index.js +136 -0
  101. package/package-surface/package-surface-index.js.map +1 -0
  102. package/package-surface/public-specifiers.js +3 -12
  103. package/package-surface/public-specifiers.js.map +1 -1
  104. package/package-surface/root-registry.js +10 -20
  105. package/package-surface/root-registry.js.map +1 -1
  106. package/package-surface/specifier-syntax.js +0 -19
  107. package/package-surface/specifier-syntax.js.map +1 -1
  108. package/package-surface/substitution-exports.js +59 -35
  109. package/package-surface/substitution-exports.js.map +1 -1
  110. package/package-surface/surface.js +0 -3
  111. package/package-surface/surface.js.map +1 -1
  112. package/package.json +16 -4
  113. package/packtory/options/bundle-dependency-resolution.js +6 -8
  114. package/packtory/options/bundle-dependency-resolution.js.map +1 -1
  115. package/packtory/options/version-trigger.js.map +1 -1
  116. package/packtory/package-processor-publish.d.ts +2 -1
  117. package/packtory/package-processor-publish.d.ts.map +1 -1
  118. package/packtory/package-processor-publish.js +19 -13
  119. package/packtory/package-processor-publish.js.map +1 -1
  120. package/packtory/packtory-pack.js +129 -141
  121. package/packtory/packtory-pack.js.map +1 -1
  122. package/packtory/packtory-release-analysis.js +8 -16
  123. package/packtory/packtory-release-analysis.js.map +1 -1
  124. package/packtory/packtory-results.d.ts +26 -11
  125. package/packtory/packtory-results.d.ts.map +1 -1
  126. package/packtory/packtory-results.js +27 -5
  127. package/packtory/packtory-results.js.map +1 -1
  128. package/packtory/packtory.js +65 -49
  129. package/packtory/packtory.js.map +1 -1
  130. package/packtory/partial-result.js +26 -0
  131. package/packtory/partial-result.js.map +1 -0
  132. package/packtory/published-release-state.d.ts +9 -0
  133. package/packtory/published-release-state.d.ts.map +1 -0
  134. package/packtory/published-release-state.js +12 -0
  135. package/packtory/published-release-state.js.map +1 -0
  136. package/packtory/release-analysis.js +77 -79
  137. package/packtory/release-analysis.js.map +1 -1
  138. package/packtory/resolved-package.js +6 -6
  139. package/packtory/resolved-package.js.map +1 -1
  140. package/packtory/scheduler.d.ts +1 -0
  141. package/packtory/scheduler.d.ts.map +1 -1
  142. package/packtory/scheduler.js +70 -52
  143. package/packtory/scheduler.js.map +1 -1
  144. package/packtory/stages/publish-stage.js +11 -6
  145. package/packtory/stages/publish-stage.js.map +1 -1
  146. package/packtory/stages/release-diff-stage.js +11 -10
  147. package/packtory/stages/release-diff-stage.js.map +1 -1
  148. package/report/aggregator/package-report-materialization.js +35 -22
  149. package/report/aggregator/package-report-materialization.js.map +1 -1
  150. package/report/config-redactor.js +5 -4
  151. package/report/config-redactor.js.map +1 -1
  152. package/report/inspectors/inspect-artifact-sizes.js +7 -3
  153. package/report/inspectors/inspect-artifact-sizes.js.map +1 -1
  154. package/report/inspectors/inspect-scan-results.js +8 -2
  155. package/report/inspectors/inspect-scan-results.js.map +1 -1
  156. package/report/preview/preview-document-diff.d.ts +6 -1
  157. package/report/preview/preview-document-diff.d.ts.map +1 -1
  158. package/report/preview/preview-document-diff.js +8 -3
  159. package/report/preview/preview-document-diff.js.map +1 -1
  160. package/report/release-diff/file-set-diff.d.ts +14 -4
  161. package/report/release-diff/file-set-diff.d.ts.map +1 -1
  162. package/report/release-diff/file-set-diff.js +28 -28
  163. package/report/release-diff/file-set-diff.js.map +1 -1
  164. package/report/release-diff/release-version-transition.js +6 -4
  165. package/report/release-diff/release-version-transition.js.map +1 -1
  166. package/resource-resolver/content.js +5 -3
  167. package/resource-resolver/content.js.map +1 -1
  168. package/sbom/license-resolver.js +3 -3
  169. package/sbom/license-resolver.js.map +1 -1
  170. package/sbom/sbom-builder.js +1 -8
  171. package/sbom/sbom-builder.js.map +1 -1
  172. package/sbom/sbom-file.d.ts.map +1 -1
  173. package/sbom/sbom-file.js +7 -4
  174. package/sbom/sbom-file.js.map +1 -1
  175. package/sbom/sbom-serializer.js +10 -6
  176. package/sbom/sbom-serializer.js.map +1 -1
  177. package/sbom.cdx.json +22 -5
  178. package/vendor-materializer/vendor-materializer.d.ts.map +1 -1
  179. package/vendor-materializer/vendor-materializer.js +99 -123
  180. package/vendor-materializer/vendor-materializer.js.map +1 -1
  181. package/version-manager/dependencies/bundle-dependency-grouping.js +18 -14
  182. package/version-manager/dependencies/bundle-dependency-grouping.js.map +1 -1
  183. package/version-manager/imports/versioned-bundle-imports.js +15 -12
  184. package/version-manager/imports/versioned-bundle-imports.js.map +1 -1
  185. package/version-manager/manager.d.ts.map +1 -1
  186. package/version-manager/manager.js +19 -24
  187. package/version-manager/manager.js.map +1 -1
  188. package/version-manager/manifest/builder.js +3 -3
  189. package/version-manager/manifest/builder.js.map +1 -1
  190. package/version-manager/optional-bundle-fields.js +2 -5
  191. package/version-manager/optional-bundle-fields.js.map +1 -1
  192. package/version-manager/representative-root.js +7 -27
  193. package/version-manager/representative-root.js.map +1 -1
  194. package/version-manager/specifier-classifier.js +13 -10
  195. package/version-manager/specifier-classifier.js.map +1 -1
  196. package/version-manager/specifier-errors.js +17 -6
  197. package/version-manager/specifier-errors.js.map +1 -1
  198. package/package-surface/explicit-specifier-build.js +0 -28
  199. package/package-surface/explicit-specifier-build.js.map +0 -1
  200. package/package-surface/explicit-specifier-resolve.js +0 -17
  201. package/package-surface/explicit-specifier-resolve.js.map +0 -1
  202. package/package-surface/implicit-specifier-build.js +0 -26
  203. package/package-surface/implicit-specifier-build.js.map +0 -1
  204. package/package-surface/implicit-specifier-resolve.js +0 -17
  205. package/package-surface/implicit-specifier-resolve.js.map +0 -1
@@ -1,14 +1,15 @@
1
+ import { isDefined, pickBy } from 'remeda';
1
2
  import { mergeArtifactEntry } from "./artifact-entry-merger.js";
2
3
  function materializeInputs(entry) {
3
- const base = {
4
+ const inputs = {
4
5
  roots: entry.roots ?? {},
5
6
  siblingVersions: entry.siblingVersions ?? {},
6
7
  sourceFileCount: entry.sourceFileCount ?? 0
7
8
  };
8
9
  if (entry.effectiveConfig === undefined) {
9
- return base;
10
+ return inputs;
10
11
  }
11
- return { ...base, effectiveConfig: entry.effectiveConfig };
12
+ return { ...inputs, effectiveConfig: entry.effectiveConfig };
12
13
  }
13
14
  function buildInputs(entry) {
14
15
  if (entry.roots === undefined && entry.effectiveConfig === undefined) {
@@ -17,23 +18,35 @@ function buildInputs(entry) {
17
18
  return materializeInputs(entry);
18
19
  }
19
20
  function mergeArtifactEntries(entries, rewrittenSourcePaths, transformedSourcePaths) {
20
- return entries.map((entry) => {
21
- return mergeArtifactEntry(entry, rewrittenSourcePaths, transformedSourcePaths);
22
- });
21
+ const mergedEntries = [];
22
+ for (const entry of entries) {
23
+ mergedEntries.push(mergeArtifactEntry(entry, rewrittenSourcePaths, transformedSourcePaths));
24
+ }
25
+ return mergedEntries;
23
26
  }
24
27
  function collectRewrittenSourcePaths(entry) {
25
- return new Set(entry.decisions.linker?.rewrites.map((rewrite) => {
26
- return rewrite.file;
27
- }));
28
+ const rewrittenSourcePaths = new Set();
29
+ const rewrites = entry.decisions.linker?.rewrites;
30
+ if (rewrites === undefined) {
31
+ return rewrittenSourcePaths;
32
+ }
33
+ for (const rewrite of rewrites) {
34
+ rewrittenSourcePaths.add(rewrite.file);
35
+ }
36
+ return rewrittenSourcePaths;
28
37
  }
29
38
  function collectTransformedSourcePaths(entry) {
30
- return new Set(entry.decisions.deadCodeElimination?.files
31
- .filter((file) => {
32
- return file.decision === 'transformed';
33
- })
34
- .map((file) => {
35
- return file.path;
36
- }));
39
+ const transformedSourcePaths = new Set();
40
+ const files = entry.decisions.deadCodeElimination?.files;
41
+ if (files === undefined) {
42
+ return transformedSourcePaths;
43
+ }
44
+ for (const file of files) {
45
+ if (file.decision === 'transformed') {
46
+ transformedSourcePaths.add(file.path);
47
+ }
48
+ }
49
+ return transformedSourcePaths;
37
50
  }
38
51
  function buildOutputs(entry) {
39
52
  if (entry.outputs === undefined) {
@@ -51,13 +64,13 @@ function buildOutputs(entry) {
51
64
  export function toPackageReport(entry) {
52
65
  const inputs = buildInputs(entry);
53
66
  const outputs = buildOutputs(entry);
54
- return {
67
+ return pickBy({
55
68
  decisions: entry.decisions,
56
69
  timings: entry.timings,
57
- ...(inputs === undefined ? {} : { inputs }),
58
- ...(outputs === undefined ? {} : { outputs }),
59
- ...(entry.eliminatedSourceFiles === undefined ? {} : { eliminatedSourceFiles: entry.eliminatedSourceFiles }),
60
- ...(entry.failure === undefined ? {} : { failure: entry.failure })
61
- };
70
+ inputs,
71
+ outputs,
72
+ eliminatedSourceFiles: entry.eliminatedSourceFiles,
73
+ failure: entry.failure
74
+ }, isDefined);
62
75
  }
63
76
  //# sourceMappingURL=package-report-materialization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-report-materialization.js","sourceRoot":"","sources":["../../../../../source/report/aggregator/package-report-materialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-report-materialization.js","sourceRoot":"","sources":["../../../../../source/report/aggregator/package-report-materialization.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { isDefined, pickBy } from 'remeda';
1
2
  import { redactPublishSettings } from "../config/publish-settings.report.js";
2
3
  import { redactRegistrySettings } from "../config/registry-settings.report.js";
3
4
  function findPackageConfig(config, packageName) {
@@ -17,11 +18,11 @@ function resolveSourcesFolder(config, packageName) {
17
18
  export function redactConfigForPackage(config, packageName) {
18
19
  const publishSettings = resolvePublishSettings(config, packageName);
19
20
  const sourcesFolder = resolveSourcesFolder(config, packageName);
20
- return {
21
+ return pickBy({
21
22
  name: packageName,
22
23
  registrySettings: redactRegistrySettings(config.registrySettings),
23
- ...(publishSettings === undefined ? {} : { publishSettings }),
24
- ...(sourcesFolder === undefined ? {} : { sourcesFolder })
25
- };
24
+ publishSettings,
25
+ sourcesFolder
26
+ }, isDefined);
26
27
  }
27
28
  //# sourceMappingURL=config-redactor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-redactor.js","sourceRoot":"","sources":["../../../../source/report/config-redactor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAgC,MAAM,sCAAsC,CAAC;AAC3G,OAAO,EAAE,sBAAsB,EAAiC,MAAM,uCAAuC,CAAC;AAS9G,SAAS,iBAAiB,CAAC,MAAsB,EAAE,WAAmB;IAClE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB,EAAE,WAAmB;IACvE,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,aAAa,EAAE,eAAe,IAAI,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;IACjG,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAsB,EAAE,WAAmB;IACrE,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,aAAa,EAAE,aAAa,IAAI,MAAM,CAAC,qBAAqB,EAAE,aAAa,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAsB,EAAE,WAAmB;IAC9E,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChE,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,gBAAgB,EAAE,sBAAsB,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACjE,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;QAC7D,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;KAC5D,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"config-redactor.js","sourceRoot":"","sources":["../../../../source/report/config-redactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAgC,MAAM,sCAAsC,CAAC;AAC3G,OAAO,EAAE,sBAAsB,EAAiC,MAAM,uCAAuC,CAAC;AAS9G,SAAS,iBAAiB,CAAC,MAAsB,EAAE,WAAmB;IAClE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB,EAAE,WAAmB;IACvE,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,aAAa,EAAE,eAAe,IAAI,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;IACjG,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAsB,EAAE,WAAmB;IACrE,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,aAAa,EAAE,aAAa,IAAI,MAAM,CAAC,qBAAqB,EAAE,aAAa,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAsB,EAAE,WAAmB;IAC9E,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChE,OAAO,MAAM,CACT;QACI,IAAI,EAAE,WAAW;QACjB,gBAAgB,EAAE,sBAAsB,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACjE,eAAe;QACf,aAAa;KAChB,EACD,SAAS,CACZ,CAAC;AACN,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { isPackageManifestPath } from "../../common/package-layout.js";
1
2
  function inferArtifactKind(filePath) {
2
- if (filePath === 'package.json' || filePath.endsWith('/package.json')) {
3
+ if (isPackageManifestPath(filePath)) {
3
4
  return 'manifest';
4
5
  }
5
6
  if (filePath.endsWith('.sbom.json') || filePath.endsWith('.cdx.json')) {
@@ -21,14 +22,17 @@ export function inspectArtifactSizes(contents) {
21
22
  else if (rewritten) {
22
23
  status = 'changed';
23
24
  }
24
- return {
25
+ const artifactEntry = {
25
26
  path: entry.filePath,
26
27
  sizeBytes: Buffer.byteLength(entry.content),
27
28
  kind: inferArtifactKind(entry.filePath),
28
- ...(sourcePath === undefined ? {} : { sourcePath }),
29
29
  status,
30
30
  badges: rewritten ? ['import-path-rewrite'] : []
31
31
  };
32
+ if (sourcePath !== undefined) {
33
+ artifactEntry.sourcePath = sourcePath;
34
+ }
35
+ return artifactEntry;
32
36
  });
33
37
  }
34
38
  //# sourceMappingURL=inspect-artifact-sizes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspect-artifact-sizes.js","sourceRoot":"","sources":["../../../../../source/report/inspectors/inspect-artifact-sizes.ts"],"names":[],"mappings":"AAGA,SAAS,iBAAiB,CAAC,QAAgB;IACvC,IAAI,QAAQ,KAAK,cAAc,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACpE,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,wCAAwC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAOD,MAAM,UAAU,oBAAoB,CAAC,QAAuC;IACxE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,UAAU,GAAG,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;QAC/C,IAAI,MAAM,GAA4B,WAAW,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,WAAW,CAAC;QACzB,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACnB,MAAM,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,OAAO;YACH,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YAC3C,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YACnD,MAAM;YACN,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE;SACnD,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"inspect-artifact-sizes.js","sourceRoot":"","sources":["../../../../../source/report/inspectors/inspect-artifact-sizes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAIvE,SAAS,iBAAiB,CAAC,QAAgB;IACvC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,wCAAwC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAOD,MAAM,UAAU,oBAAoB,CAAC,QAAuC;IACxE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,UAAU,GAAG,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;QAC/C,IAAI,MAAM,GAA4B,WAAW,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,WAAW,CAAC;QACzB,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACnB,MAAM,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,MAAM,aAAa,GAOf;YACA,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YAC3C,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvC,MAAM;YACN,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE;SACnD,CAAC;QACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC;QAC1C,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,9 +1,15 @@
1
1
  export function inspectScanResults(bundle) {
2
2
  const included = bundle.contents.map((entry) => {
3
- return { path: entry.fileDescription.sourceFilePath, reason: 'reachable-from-entry' };
3
+ return {
4
+ path: entry.fileDescription.sourceFilePath,
5
+ reason: 'reachable-from-entry'
6
+ };
4
7
  });
5
8
  const excluded = Array.from(bundle.externalDependencies.keys(), (specifier) => {
6
- return { specifier, reason: 'external-module' };
9
+ return {
10
+ specifier,
11
+ reason: 'external-module'
12
+ };
7
13
  });
8
14
  return { included, excluded };
9
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inspect-scan-results.js","sourceRoot":"","sources":["../../../../../source/report/inspectors/inspect-scan-results.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,kBAAkB,CAAC,MAA2B;IAC1D,MAAM,QAAQ,GAAmB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3D,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC1F,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAmB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE;QAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"inspect-scan-results.js","sourceRoot":"","sources":["../../../../../source/report/inspectors/inspect-scan-results.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,kBAAkB,CAAC,MAA2B;IAC1D,MAAM,QAAQ,GAAmB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3D,OAAO;YACH,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,cAAc;YAC1C,MAAM,EAAE,sBAAsB;SACjC,CAAC;IACN,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAmB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE;QAC1F,OAAO;YACH,SAAS;YACT,MAAM,EAAE,iBAAiB;SAC5B,CAAC;IACN,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC"}
@@ -1,6 +1,11 @@
1
1
  import type { createStructuredPatch } from '../../common/typed-diff.ts';
2
2
  import type { ArtifactEntry } from '../../progress/progress-broadcaster.ts';
3
- type PreviewDiffLineType = 'add' | 'context' | 'remove';
3
+ export declare const previewDiffLineType: {
4
+ readonly add: "add";
5
+ readonly context: "context";
6
+ readonly remove: "remove";
7
+ };
8
+ type PreviewDiffLineType = (typeof previewDiffLineType)[keyof typeof previewDiffLineType];
4
9
  export type PreviewDiffLine = {
5
10
  readonly type: PreviewDiffLineType;
6
11
  readonly text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"preview-document-diff.d.ts","sourceRoot":"","sources":["../../../../../source/report/preview/preview-document-diff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC;AAE3E,KAAK,mBAAmB,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ;AAEvD,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;CAC9C"}
1
+ {"version":3,"file":"preview-document-diff.d.ts","sourceRoot":"","sources":["../../../../../source/report/preview/preview-document-diff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC;AAE3E,eAAO,MAAM,mBAAmB;;;;CAItB;AAEV,KAAK,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC;AAEzF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;CAC9C"}
@@ -1,4 +1,9 @@
1
1
  import { isCodeFile } from "../../common/code-files.js";
2
+ export const previewDiffLineType = {
3
+ add: 'add',
4
+ context: 'context',
5
+ remove: 'remove'
6
+ };
2
7
  export function isDiffableArtifact(entry) {
3
8
  return (entry.sourcePath !== undefined &&
4
9
  entry.status === 'changed' &&
@@ -7,12 +12,12 @@ export function isDiffableArtifact(entry) {
7
12
  }
8
13
  function toDiffLineType(line) {
9
14
  if (line.startsWith('+')) {
10
- return 'add';
15
+ return previewDiffLineType.add;
11
16
  }
12
17
  if (line.startsWith('-')) {
13
- return 'remove';
18
+ return previewDiffLineType.remove;
14
19
  }
15
- return 'context';
20
+ return previewDiffLineType.context;
16
21
  }
17
22
  export function toPreviewDiffHunk(hunk) {
18
23
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"preview-document-diff.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-document-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAkBxD,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACnD,OAAO,CACH,KAAK,CAAC,UAAU,KAAK,SAAS;QAC9B,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CACzB,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAChC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAoB;IAClD,OAAO;QACH,MAAM,EAAE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK;QACrF,KAAK,EAAE,IAAI,CAAC,KAAK;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtD,CAAC,CAAC;KACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"preview-document-diff.js","sourceRoot":"","sources":["../../../../../source/report/preview/preview-document-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACV,CAAC;AAgBX,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACnD,OAAO,CACH,KAAK,CAAC,UAAU,KAAK,SAAS;QAC9B,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CACzB,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAChC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,mBAAmB,CAAC,GAAG,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,mBAAmB,CAAC,MAAM,CAAC;IACtC,CAAC;IACD,OAAO,mBAAmB,CAAC,OAAO,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAoB;IAClD,OAAO;QACH,MAAM,EAAE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK;QACrF,KAAK,EAAE,IAAI,CAAC,KAAK;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtD,CAAC,CAAC;KACT,CAAC;AACN,CAAC"}
@@ -1,5 +1,15 @@
1
1
  import type { FileDescription } from '../../file-manager/file-description.ts';
2
2
  import type { PreviewDiffHunk } from '../preview/preview-document-diff.ts';
3
+ export declare const modifiedFileContentChangeKind: {
4
+ readonly binary: "binary";
5
+ readonly modeOnly: "mode-only";
6
+ readonly text: "text";
7
+ };
8
+ export declare const packageReleaseDiffState: {
9
+ readonly changed: "changed";
10
+ readonly firstPublish: "first-publish";
11
+ readonly unchanged: "unchanged";
12
+ };
3
13
  export type AddedFile = {
4
14
  readonly path: string;
5
15
  readonly sizeBytes: number;
@@ -16,11 +26,11 @@ type UnchangedFile = {
16
26
  readonly isExecutable: boolean;
17
27
  };
18
28
  type ModifiedFileContentChange = {
19
- readonly kind: 'binary';
29
+ readonly kind: typeof modifiedFileContentChangeKind.binary;
20
30
  } | {
21
- readonly kind: 'mode-only';
31
+ readonly kind: typeof modifiedFileContentChangeKind.modeOnly;
22
32
  } | {
23
- readonly kind: 'text';
33
+ readonly kind: typeof modifiedFileContentChangeKind.text;
24
34
  readonly hunks: readonly PreviewDiffHunk[];
25
35
  };
26
36
  export type ModifiedFile = {
@@ -37,7 +47,7 @@ export type FileSetDiff = {
37
47
  readonly modified: readonly ModifiedFile[];
38
48
  readonly unchanged: readonly UnchangedFile[];
39
49
  };
40
- type PackageReleaseDiffState = 'changed' | 'first-publish' | 'unchanged';
50
+ type PackageReleaseDiffState = (typeof packageReleaseDiffState)[keyof typeof packageReleaseDiffState];
41
51
  export type PackageReleaseDiff = {
42
52
  readonly name: string;
43
53
  readonly state: PackageReleaseDiffState;
@@ -1 +1 @@
1
- {"version":3,"file":"file-set-diff.d.ts","sourceRoot":"","sources":["../../../../../source/report/release-diff/file-set-diff.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC;AAG1E,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AAED,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AAED,KAAK,yBAAyB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE;AAE3E,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC;CACrD;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;CAChD;AAED,KAAK,uBAAuB,GAAG,SAAS,GAAG,eAAe,GAAG,WAAW;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC/B"}
1
+ {"version":3,"file":"file-set-diff.d.ts","sourceRoot":"","sources":["../../../../../source/report/release-diff/file-set-diff.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC;AAG1E,eAAO,MAAM,6BAA6B;;;;CAIhC;AAEV,eAAO,MAAM,uBAAuB;;;;CAI1B;AAEV,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AAED,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AAED,KAAK,yBAAyB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,6BAA6B,CAAC,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,6BAA6B,CAAC,QAAQ,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,6BAA6B,CAAC,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE;AAE9G,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC;CACrD;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;CAChD;AAED,KAAK,uBAAuB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC;AAErG,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC/B"}
@@ -1,30 +1,33 @@
1
1
  import { isTextDiffablePath } from "../../common/code-files.js";
2
2
  import { areFileDescriptionEqual } from "../../file-manager/equal.js";
3
+ import { fileDescriptionByPath } from "../../file-manager/file-description-by-path.js";
3
4
  import { buildFileHunks } from "./file-hunks.js";
5
+ export const modifiedFileContentChangeKind = {
6
+ binary: 'binary',
7
+ modeOnly: 'mode-only',
8
+ text: 'text'
9
+ };
10
+ export const packageReleaseDiffState = {
11
+ changed: 'changed',
12
+ firstPublish: 'first-publish',
13
+ unchanged: 'unchanged'
14
+ };
4
15
  function sizeOf(content) {
5
16
  return Buffer.byteLength(content);
6
17
  }
7
- function indexByPath(files) {
8
- return new Map(files.map((file) => {
9
- return [file.filePath, file];
10
- }));
11
- }
12
18
  function classifyContentChange(previous, current) {
13
19
  if (previous.content === current.content) {
14
- return { kind: 'mode-only' };
20
+ return { kind: modifiedFileContentChangeKind.modeOnly };
15
21
  }
16
22
  if (!isTextDiffablePath(current.filePath)) {
17
- return { kind: 'binary' };
23
+ return { kind: modifiedFileContentChangeKind.binary };
18
24
  }
19
- return { kind: 'text', hunks: buildFileHunks(current.filePath, previous.content, current.content) };
20
- }
21
- function toAdded(file) {
22
- return { path: file.filePath, sizeBytes: sizeOf(file.content), isExecutable: file.isExecutable };
23
- }
24
- function toRemoved(file) {
25
- return { path: file.filePath, sizeBytes: sizeOf(file.content), isExecutable: file.isExecutable };
25
+ return {
26
+ kind: modifiedFileContentChangeKind.text,
27
+ hunks: buildFileHunks(current.filePath, previous.content, current.content)
28
+ };
26
29
  }
27
- function toUnchanged(file) {
30
+ function toSizedFile(file) {
28
31
  return { path: file.filePath, sizeBytes: sizeOf(file.content), isExecutable: file.isExecutable };
29
32
  }
30
33
  function toModified(previous, current) {
@@ -40,30 +43,27 @@ function toModified(previous, current) {
40
43
  function isEqual(previous, current, path) {
41
44
  return areFileDescriptionEqual({ ...previous, filePath: path }, { ...current, filePath: path });
42
45
  }
43
- function appendBothSidedPair(buckets, path, previous, current) {
44
- if (isEqual(previous, current, path)) {
45
- buckets.unchanged.push(toUnchanged(current));
46
+ function appendComparedFile(buckets, path, previous, current) {
47
+ if (current === undefined) {
48
+ buckets.removed.push(toSizedFile(previous));
46
49
  return;
47
50
  }
48
- buckets.modified.push(toModified(previous, current));
49
- }
50
- function classifyPreviousSidePath(buckets, path, previous, current) {
51
- if (current === undefined) {
52
- buckets.removed.push(toRemoved(previous));
51
+ if (isEqual(previous, current, path)) {
52
+ buckets.unchanged.push(toSizedFile(current));
53
53
  return;
54
54
  }
55
- appendBothSidedPair(buckets, path, previous, current);
55
+ buckets.modified.push(toModified(previous, current));
56
56
  }
57
57
  export function buildFileSetDiff(previousFiles, newFiles) {
58
- const previousIndex = indexByPath(previousFiles);
59
- const newIndex = indexByPath(newFiles);
58
+ const previousIndex = fileDescriptionByPath(previousFiles);
59
+ const newIndex = fileDescriptionByPath(newFiles);
60
60
  const buckets = { added: [], removed: [], modified: [], unchanged: [] };
61
61
  for (const [previousPath, previous] of previousIndex) {
62
- classifyPreviousSidePath(buckets, previousPath, previous, newIndex.get(previousPath));
62
+ appendComparedFile(buckets, previousPath, previous, newIndex.get(previousPath));
63
63
  }
64
64
  for (const [currentPath, current] of newIndex) {
65
65
  if (!previousIndex.has(currentPath)) {
66
- buckets.added.push(toAdded(current));
66
+ buckets.added.push(toSizedFile(current));
67
67
  }
68
68
  }
69
69
  return buckets;
@@ -1 +1 @@
1
- {"version":3,"file":"file-set-diff.js","sourceRoot":"","sources":["../../../../../source/report/release-diff/file-set-diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-set-diff.js","sourceRoot":"","sources":["../../../../../source/report/release-diff/file-set-diff.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,18 @@
1
- const unpublishedLabel = '(unpublished)';
1
+ function unpublishedLabel() {
2
+ return '(unpublished)';
3
+ }
2
4
  export function buildReleaseVersionTransition(fields) {
3
5
  if (fields.chosenVersion === undefined) {
4
- return unpublishedLabel;
6
+ return unpublishedLabel();
5
7
  }
6
8
  if (fields.previousVersion === undefined) {
7
- return `${unpublishedLabel} -> ${fields.chosenVersion}`;
9
+ return `${unpublishedLabel()} -> ${fields.chosenVersion}`;
8
10
  }
9
11
  return `${fields.previousVersion} -> ${fields.chosenVersion}`;
10
12
  }
11
13
  export function buildReleaseVersionLabel(fields) {
12
14
  if (fields.previousVersion === undefined) {
13
- return unpublishedLabel;
15
+ return unpublishedLabel();
14
16
  }
15
17
  return fields.previousVersion;
16
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"release-version-transition.js","sourceRoot":"","sources":["../../../../../source/report/release-diff/release-version-transition.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAOzC,MAAM,UAAU,6BAA6B,CAAC,MAA4B;IACtE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,GAAG,gBAAgB,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,eAAe,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAqD;IAC1F,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC,eAAe,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"release-version-transition.js","sourceRoot":"","sources":["../../../../../source/report/release-diff/release-version-transition.ts"],"names":[],"mappings":"AAKA,SAAS,gBAAgB;IACrB,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA4B;IACtE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,gBAAgB,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,GAAG,gBAAgB,EAAE,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,eAAe,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAqD;IAC1F,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,gBAAgB,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC,eAAe,CAAC;AAClC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import { isCodeFile } from "../common/code-files.js";
3
+ import { packageManifestFilePath } from "../common/package-layout.js";
3
4
  function prependSourcesFolderIfNecessary(sourcesFolder, filePath) {
4
5
  if (!path.isAbsolute(filePath)) {
5
6
  return path.join(sourcesFolder, filePath);
@@ -8,19 +9,20 @@ function prependSourcesFolderIfNecessary(sourcesFolder, filePath) {
8
9
  }
9
10
  function rejectCodeFile(targetFilePath) {
10
11
  if (isCodeFile(targetFilePath)) {
11
- throw new Error([
12
+ const errorMessage = [
12
13
  `additionalFiles must not include code files; received "${targetFilePath}".`,
13
14
  'Code that should ship in the bundle must be reachable from a root so',
14
15
  'dependency, side-effect and dead-code analyses can run on it.',
15
16
  'If you intend to ship code as a static asset (e.g. a template),',
16
17
  'use a non-code extension like .txt.'
17
- ].join(' '));
18
+ ].join(' ');
19
+ throw new Error(errorMessage);
18
20
  }
19
21
  }
20
22
  export function combineAllBundleFiles(sourcesFolder, localDependencies, additionalFiles) {
21
23
  const resolvedLocalFiles = localDependencies.map((localFile) => {
22
24
  const targetFilePath = localFile.isGeneratedManifest
23
- ? 'package.json'
25
+ ? packageManifestFilePath
24
26
  : path.relative(sourcesFolder, localFile.filePath);
25
27
  const resolvedBundleFile = {
26
28
  sourceFilePath: localFile.filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../source/resource-resolver/content.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD,SAAS,+BAA+B,CAAC,aAAqB,EAAE,QAAgB;IAC5E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,cAAsB;IAC1C,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACX;YACI,0DAA0D,cAAc,IAAI;YAC5E,sEAAsE;YACtE,+DAA+D;YAC/D,iEAAiE;YACjE,qCAAqC;SACxC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;IACN,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,qBAAqB,CACjC,aAAqB,EACrB,iBAAuC,EACvC,eAAgE;IAEhE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3D,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB;YAChD,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,kBAAkB,GAAuB;YAC3C,cAAc,EAAE,SAAS,CAAC,QAAQ;YAClC,cAAc;YACd,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;YAC1E,oBAAoB,EAAE,KAAK;YAC3B,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAsB,EAAE;QAClF,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACrC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAChE,MAAM,cAAc,GAAG,cAAc,CAAC;YACtC,OAAO;gBACH,cAAc;gBACd,cAAc;gBACd,kBAAkB,EAAE,IAAI,GAAG,EAAE;gBAC7B,oBAAoB,EAAE,IAAI;aAC7B,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QACD,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAE9C,OAAO;YACH,cAAc,EAAE,+BAA+B,CAAC,aAAa,EAAE,cAAc,CAAC,cAAc,CAAC;YAC7F,cAAc,EAAE,cAAc,CAAC,cAAc;YAC7C,kBAAkB,EAAE,IAAI,GAAG,EAAE;YAC7B,oBAAoB,EAAE,IAAI;SAC7B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,kBAAkB,EAAE,GAAG,kBAAkB,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../source/resource-resolver/content.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAItE,SAAS,+BAA+B,CAAC,aAAqB,EAAE,QAAgB;IAC5E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,cAAsB;IAC1C,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG;YACjB,0DAA0D,cAAc,IAAI;YAC5E,sEAAsE;YACtE,+DAA+D;YAC/D,iEAAiE;YACjE,qCAAqC;SACxC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,qBAAqB,CACjC,aAAqB,EACrB,iBAAuC,EACvC,eAAgE;IAEhE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3D,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB;YAChD,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,kBAAkB,GAAuB;YAC3C,cAAc,EAAE,SAAS,CAAC,QAAQ;YAClC,cAAc;YACd,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;YAC1E,oBAAoB,EAAE,KAAK;YAC3B,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAsB,EAAE;QAClF,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACrC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAChE,MAAM,cAAc,GAAG,cAAc,CAAC;YACtC,OAAO;gBACH,cAAc;gBACd,cAAc;gBACd,kBAAkB,EAAE,IAAI,GAAG,EAAE;gBAC7B,oBAAoB,EAAE,IAAI;aAC7B,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QACD,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAE9C,OAAO;YACH,cAAc,EAAE,+BAA+B,CAAC,aAAa,EAAE,cAAc,CAAC,cAAc,CAAC;YAC7F,cAAc,EAAE,cAAc,CAAC,cAAc;YAC7C,kBAAkB,EAAE,IAAI,GAAG,EAAE;YAC7B,oBAAoB,EAAE,IAAI;SAC7B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,kBAAkB,EAAE,GAAG,kBAAkB,CAAC,CAAC;AAC1D,CAAC"}
@@ -1,14 +1,14 @@
1
- import path from 'node:path';
1
+ import { installedDependenciesFolderName, installedDependencyManifestPathIn } from "../common/package-layout.js";
2
2
  import { extractLicenseFromManifest } from "./extract-license.js";
3
3
  export function createLicenseResolver(dependencies) {
4
4
  const { fileManager } = dependencies;
5
5
  function buildMissingDependencyMessage(dependencyName) {
6
6
  const intro = `Dependency "${dependencyName}" is declared in the published manifest`;
7
- return `${intro} but is not installed in node_modules`;
7
+ return `${intro} but is not installed in ${installedDependenciesFolderName}`;
8
8
  }
9
9
  return {
10
10
  async resolveLicense({ projectFolder, dependencyName }) {
11
- const packageJsonPath = path.join(projectFolder, 'node_modules', dependencyName, 'package.json');
11
+ const packageJsonPath = installedDependencyManifestPathIn(projectFolder, dependencyName);
12
12
  const readability = await fileManager.checkReadability(packageJsonPath);
13
13
  if (!readability.isReadable) {
14
14
  throw new Error(buildMissingDependencyMessage(dependencyName));
@@ -1 +1 @@
1
- {"version":3,"file":"license-resolver.js","sourceRoot":"","sources":["../../../../source/sbom/license-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAelE,MAAM,UAAU,qBAAqB,CAAC,YAAyC;IAC3E,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAErC,SAAS,6BAA6B,CAAC,cAAsB;QACzD,MAAM,KAAK,GAAG,eAAe,cAAc,yCAAyC,CAAC;QACrF,OAAO,GAAG,KAAK,uCAAuC,CAAC;IAC3D,CAAC;IAED,OAAO;QACH,KAAK,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE;YAClD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YACjG,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;YAC9C,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"license-resolver.js","sourceRoot":"","sources":["../../../../source/sbom/license-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAEjH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAelE,MAAM,UAAU,qBAAqB,CAAC,YAAyC;IAC3E,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAErC,SAAS,6BAA6B,CAAC,cAAsB;QACzD,MAAM,KAAK,GAAG,eAAe,cAAc,yCAAyC,CAAC;QACrF,OAAO,GAAG,KAAK,4BAA4B,+BAA+B,EAAE,CAAC;IACjF,CAAC;IAED,OAAO;QACH,KAAK,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE;YAClD,MAAM,eAAe,GAAG,iCAAiC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACzF,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;YAC9C,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -12,13 +12,6 @@ function isParseableSpdxExpression(value) {
12
12
  function buildPurl(name, versionOrSpecifier) {
13
13
  return `pkg:npm/${name}@${encodeURIComponent(versionOrSpecifier)}`;
14
14
  }
15
- const componentScopeByKind = {
16
- peer: cdx.Enums.ComponentScope.Optional,
17
- runtime: cdx.Enums.ComponentScope.Required
18
- };
19
- function scopeFor(kind) {
20
- return componentScopeByKind[kind];
21
- }
22
15
  function attachLicense(component, license) {
23
16
  if (license === undefined) {
24
17
  return;
@@ -43,7 +36,7 @@ function buildDependencyComponent(dependency) {
43
36
  version: dependency.specifier,
44
37
  bomRef: purl,
45
38
  purl,
46
- scope: scopeFor(dependency.kind)
39
+ scope: dependency.scope
47
40
  });
48
41
  attachLicense(component, dependency.license);
49
42
  return component;
@@ -1 +1 @@
1
- {"version":3,"file":"sbom-builder.js","sourceRoot":"","sources":["../../../../source/sbom/sbom-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sbom-builder.js","sourceRoot":"","sources":["../../../../source/sbom/sbom-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sbom-file.d.ts","sourceRoot":"","sources":["../../../../source/sbom/sbom-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B;AACpE,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,qCAAqC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2CAA2C;AAEhG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB"}
1
+ {"version":3,"file":"sbom-file.d.ts","sourceRoot":"","sources":["../../../../source/sbom/sbom-file.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B;AACpE,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,qCAAqC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2CAA2C;AAEhG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB"}
package/sbom/sbom-file.js CHANGED
@@ -1,17 +1,20 @@
1
+ import * as cdx from '@cyclonedx/cyclonedx-library';
1
2
  import { createFileDescription } from "../file-manager/file-description.js";
2
3
  import { extractLicenseFromManifest } from "./extract-license.js";
3
4
  import { buildSbom } from "./sbom-builder.js";
4
- const sbomFilePath = 'sbom.cdx.json';
5
+ export function sbomFilePath() {
6
+ return 'sbom.cdx.json';
7
+ }
5
8
  function isSbomEnabled(publishSettings) {
6
9
  return publishSettings.sbom?.enabled ?? true;
7
10
  }
8
11
  function listDependencyEntries(bundle) {
9
12
  return [
10
13
  ...Object.entries(bundle.dependencies).map(([name, specifier]) => {
11
- return { name, specifier, kind: 'runtime' };
14
+ return { name, specifier, scope: cdx.Enums.ComponentScope.Required };
12
15
  }),
13
16
  ...Object.entries(bundle.peerDependencies).map(([name, specifier]) => {
14
- return { name, specifier, kind: 'peer' };
17
+ return { name, specifier, scope: cdx.Enums.ComponentScope.Optional };
15
18
  })
16
19
  ];
17
20
  }
@@ -40,7 +43,7 @@ export function createSbomFileBuilder(dependencies) {
40
43
  rootComponent: { name: bundle.packageJson.name, version: bundle.packageJson.version },
41
44
  dependencies: sbomDependencies
42
45
  });
43
- return createFileDescription(sbomFilePath, sbomSerializer.serialize(bom));
46
+ return createFileDescription(sbomFilePath(), sbomSerializer.serialize(bom));
44
47
  }
45
48
  return {
46
49
  async generate(bundle, siblings, publishSettings) {
@@ -1 +1 @@
1
- {"version":3,"file":"sbom-file.js","sourceRoot":"","sources":["../../../../source/sbom/sbom-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sbom-file.js","sourceRoot":"","sources":["../../../../source/sbom/sbom-file.ts"],"names":[],"mappings":"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"}