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
@@ -1,28 +1,3 @@
1
1
  import { filter, map, pipe } from 'remeda';
2
2
  import { createDirectedGraph } from "../directed-graph/graph.js";
3
- function collectResourceSpecificExternalDependencies(resource, externalDependencies) {
4
- return pipe(Array.from(externalDependencies.values()), filter((dependency) => {
5
- return dependency.referencedFrom.includes(resource.fileDescription.sourceFilePath);
6
- }), map((dependency) => {
7
- return dependency.name;
8
- }));
9
- }
10
- export function createGraphFromResolvedBundle(bundle) {
11
- const graph = createDirectedGraph();
12
- for (const resource of bundle.contents) {
13
- const externalDependencies = collectResourceSpecificExternalDependencies(resource, bundle.externalDependencies);
14
- graph.addNode(resource.fileDescription.sourceFilePath, {
15
- fileDescription: resource.fileDescription,
16
- externalDependencies,
17
- project: resource.project,
18
- isExplicitlyIncluded: resource.isExplicitlyIncluded
19
- });
20
- }
21
- for (const resource of bundle.contents) {
22
- for (const directDependency of resource.directDependencies) {
23
- graph.connect({ from: resource.fileDescription.sourceFilePath, to: directDependency });
24
- }
25
- }
26
- return graph;
27
- }
28
3
  //# sourceMappingURL=resource-graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-graph.js","sourceRoot":"","sources":["../../../../source/linker/resource-graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAsB,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAarF,SAAS,2CAA2C,CAChD,QAAwB,EACxB,oBAA0C;IAE1C,OAAO,IAAI,CACP,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,EACzC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QAClB,OAAO,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IACvF,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACf,OAAO,UAAU,CAAC,IAAI,CAAC;IAC3B,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAAsB;IAChE,MAAM,KAAK,GAAG,mBAAmB,EAAiC,CAAC;IAEnE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,oBAAoB,GAAG,2CAA2C,CAAC,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAEhH,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE;YACnD,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,oBAAoB;YACpB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;SACtD,CAAC,CAAC;IACP,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,KAAK,MAAM,gBAAgB,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACzD,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"resource-graph.js","sourceRoot":"","sources":["../../../../source/linker/resource-graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAAQ;AAE1C,OAAO,EAAsB,mBAAmB,EAAE,MAAM,4BAA4B"}
@@ -1,25 +1,3 @@
1
1
  import { resolveSourceFileForLiteral } from "../../dependency-scanner/source-file-references.js";
2
2
  import { getSourcePathFromSourceFile } from "../../dependency-scanner/typescript-project-analyzer.js";
3
- function applyImportPathReplacements(sourceFile, replacements) {
4
- for (const literal of sourceFile.getImportStringLiterals()) {
5
- const resolvedSourceFile = resolveSourceFileForLiteral(literal, sourceFile);
6
- if (resolvedSourceFile !== undefined) {
7
- const replacement = replacements.get(getSourcePathFromSourceFile(resolvedSourceFile));
8
- if (replacement !== undefined) {
9
- literal.setLiteralValue(replacement);
10
- }
11
- }
12
- }
13
- }
14
- export function replaceImportPaths(project, sourceFilePath, sourceContent, replacements) {
15
- if (project === undefined) {
16
- return sourceContent;
17
- }
18
- const sourceFile = project.getSourceFile(sourceFilePath);
19
- if (sourceFile === undefined) {
20
- return sourceContent;
21
- }
22
- applyImportPathReplacements(sourceFile, replacements);
23
- return sourceFile.getFullText();
24
- }
25
3
  //# sourceMappingURL=import-paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-paths.js","sourceRoot":"","sources":["../../../../../source/linker/source-modifier/import-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AAItG,SAAS,2BAA2B,CAAC,UAAsB,EAAE,YAA0B;IACnF,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACzD,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACtF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,OAA4B,EAC5B,cAAsB,EACtB,aAAqB,EACrB,YAA0B;IAE1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,2BAA2B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtD,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"import-paths.js","sourceRoot":"","sources":["../../../../../source/linker/source-modifier/import-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,yDAAyD"}
@@ -2,83 +2,4 @@ import { Maybe } from 'true-myth';
2
2
  import { getPublicModuleSpecifierForSourcePath } from "../package-surface/modules.js";
3
3
  import { createSubstitutedResourceGraph } from "./substituted-resource-graph.js";
4
4
  import { replaceImportPaths } from "./source-modifier/import-paths.js";
5
- function ownsSourcePath(file, bundle) {
6
- return bundle.contents.some((content) => {
7
- return content.fileDescription.sourceFilePath === file;
8
- });
9
- }
10
- function findReplacement(file, bundleDependencies) {
11
- for (const bundle of bundleDependencies) {
12
- const targetPath = getPublicModuleSpecifierForSourcePath(bundle, file);
13
- if (targetPath !== undefined) {
14
- return Maybe.just({
15
- targetPath,
16
- packageName: bundle.name
17
- });
18
- }
19
- if (ownsSourcePath(file, bundle)) {
20
- throw new Error(`Package "${bundle.name}" does not expose "${file}" for cross-package substitution`);
21
- }
22
- }
23
- return Maybe.nothing();
24
- }
25
- function findAllPathReplacements(files, bundleDependencies) {
26
- const matched = files.flatMap((file) => {
27
- const result = findReplacement(file, bundleDependencies);
28
- if (!result.isJust) {
29
- return [];
30
- }
31
- const { targetPath, packageName } = result.value;
32
- return [{ file, targetPath, packageName }];
33
- });
34
- return {
35
- importPathReplacements: new Map(matched.map((entry) => {
36
- return [entry.file, entry.targetPath];
37
- })),
38
- bundleDependencies: matched.map((entry) => {
39
- return entry.packageName;
40
- })
41
- };
42
- }
43
- export function substituteDependencies(resourceGraph, bundleDependencies) {
44
- const substitutedGraph = createSubstitutedResourceGraph();
45
- const outstandingConnections = [];
46
- resourceGraph.traverse((node) => {
47
- const directDependencies = Array.from(node.adjacentNodeIds);
48
- const replacements = findAllPathReplacements(directDependencies, bundleDependencies);
49
- for (const file of directDependencies) {
50
- if (!replacements.importPathReplacements.has(file)) {
51
- outstandingConnections.push({ from: node.id, to: file });
52
- }
53
- }
54
- if (replacements.importPathReplacements.size > 0) {
55
- const substitutionContent = replaceImportPaths(node.data.project, node.data.fileDescription.sourceFilePath, node.data.fileDescription.content, replacements.importPathReplacements);
56
- substitutedGraph.add(node.id, {
57
- fileDescription: {
58
- sourceFilePath: node.data.fileDescription.sourceFilePath,
59
- targetFilePath: node.data.fileDescription.targetFilePath,
60
- isExecutable: node.data.fileDescription.isExecutable,
61
- content: substitutionContent
62
- },
63
- externalDependencies: node.data.externalDependencies,
64
- bundleDependencies: replacements.bundleDependencies,
65
- isSubstituted: true,
66
- isExplicitlyIncluded: node.data.isExplicitlyIncluded
67
- });
68
- }
69
- else {
70
- substitutedGraph.add(node.id, {
71
- fileDescription: node.data.fileDescription,
72
- externalDependencies: node.data.externalDependencies,
73
- bundleDependencies: [],
74
- isSubstituted: false,
75
- isExplicitlyIncluded: node.data.isExplicitlyIncluded
76
- });
77
- }
78
- });
79
- for (const connection of outstandingConnections) {
80
- substitutedGraph.connect(connection.from, connection.to);
81
- }
82
- return substitutedGraph;
83
- }
84
5
  //# sourceMappingURL=substitute-bundles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"substitute-bundles.js","sourceRoot":"","sources":["../../../../source/linker/substitute-bundles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"substitute-bundles.js","sourceRoot":"","sources":["../../../../source/linker/substitute-bundles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW;AACjC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B;AAGrF,OAAO,EAAE,8BAA8B,EAAiC,MAAM,iCAAiC;AAC/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC"}
@@ -1,75 +1,3 @@
1
1
  import { unique } from 'remeda';
2
2
  import { createDirectedGraph } from "../directed-graph/graph.js";
3
- function addOrCreateReference(externalDependencyName, reference, externalDependency) {
4
- if (externalDependency === undefined) {
5
- return {
6
- name: externalDependencyName,
7
- referencedFrom: [reference]
8
- };
9
- }
10
- return {
11
- name: externalDependencyName,
12
- referencedFrom: unique([...externalDependency.referencedFrom, reference])
13
- };
14
- }
15
- function createFlattenCollectors() {
16
- const contents = [];
17
- const linkedBundleDependencies = new Map();
18
- const externalDependencies = new Map();
19
- const visited = new Set();
20
- function collect(filePath, data, directDependencies) {
21
- if (visited.has(filePath)) {
22
- return;
23
- }
24
- visited.add(filePath);
25
- contents.push({
26
- fileDescription: data.fileDescription,
27
- directDependencies,
28
- isSubstituted: data.isSubstituted,
29
- isExplicitlyIncluded: data.isExplicitlyIncluded
30
- });
31
- for (const bundleDependencyName of data.bundleDependencies) {
32
- const bundleDependency = linkedBundleDependencies.get(bundleDependencyName);
33
- linkedBundleDependencies.set(bundleDependencyName, addOrCreateReference(bundleDependencyName, filePath, bundleDependency));
34
- }
35
- for (const externalDependencyName of data.externalDependencies) {
36
- const externalDependency = externalDependencies.get(externalDependencyName);
37
- externalDependencies.set(externalDependencyName, addOrCreateReference(externalDependencyName, filePath, externalDependency));
38
- }
39
- }
40
- return { collect, contents, linkedBundleDependencies, externalDependencies };
41
- }
42
- export function createSubstitutedResourceGraph() {
43
- const graph = createDirectedGraph();
44
- const nodeDataByFilePath = new Map();
45
- return {
46
- add(filePath, data) {
47
- graph.addNode(filePath, data);
48
- nodeDataByFilePath.set(filePath, data);
49
- },
50
- isKnown: graph.hasNode,
51
- connect(fromFilePath, toFilePath) {
52
- graph.connect({ from: fromFilePath, to: toFilePath });
53
- },
54
- flatten(rootFilePaths) {
55
- const { collect, contents, linkedBundleDependencies, externalDependencies } = createFlattenCollectors();
56
- for (const rootFilePath of rootFilePaths) {
57
- graph.visitBreadthFirstSearch(rootFilePath, (node) => {
58
- collect(node.id, node.data, node.adjacentNodeIds);
59
- });
60
- }
61
- for (const [filePath, data] of nodeDataByFilePath) {
62
- if (data.isExplicitlyIncluded) {
63
- const directDependencies = graph.getAdjacentIds(filePath);
64
- collect(filePath, data, directDependencies);
65
- }
66
- }
67
- return {
68
- contents,
69
- linkedBundleDependencies,
70
- externalDependencies
71
- };
72
- }
73
- };
74
- }
75
3
  //# sourceMappingURL=substituted-resource-graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"substituted-resource-graph.js","sourceRoot":"","sources":["../../../../source/linker/substituted-resource-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"substituted-resource-graph.js","sourceRoot":"","sources":["../../../../source/linker/substituted-resource-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ;AAG/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B"}
@@ -1,5 +1,5 @@
1
1
  import { isImplicitPackageSurface } from "./surface.js";
2
- const exportKeyPrefixLength = 2;
2
+
3
3
  function getRoot(bundle, rootId) {
4
4
  const root = bundle.roots[rootId];
5
5
  if (root === undefined) {
@@ -7,12 +7,7 @@ function getRoot(bundle, rootId) {
7
7
  }
8
8
  return root;
9
9
  }
10
- function toImportTarget(targetFilePath) {
11
- return `./${targetFilePath}`;
12
- }
13
- function toPackageSpecifier(packageName, exportKey) {
14
- return exportKey === '.' ? packageName : `${packageName}/${exportKey.slice(exportKeyPrefixLength)}`;
15
- }
10
+
16
11
  function resolveExplicitExportKey(packageName, specifier) {
17
12
  if (specifier === packageName) {
18
13
  return '.';
@@ -22,213 +17,7 @@ function resolveExplicitExportKey(packageName, specifier) {
22
17
  }
23
18
  return undefined;
24
19
  }
25
- function isShebangContent(content) {
26
- return content.startsWith('#!');
27
- }
28
- function isDeclarationTargetFilePath(targetFilePath) {
29
- return targetFilePath.endsWith('.d.ts') || targetFilePath.endsWith('.d.mts') || targetFilePath.endsWith('.d.cts');
30
- }
31
- function isMatchingRootSourcePath(root, sourceFilePath) {
32
- if (root.js.sourceFilePath === sourceFilePath) {
33
- return true;
34
- }
35
- return root.declarationFile?.sourceFilePath === sourceFilePath;
36
- }
37
- function shouldPreferExplicitExportKey(candidateExportKey, currentExportKey) {
38
- return candidateExportKey.length < currentExportKey.length;
39
- }
40
- function getMatchingExplicitModules(bundle, packageInterface, sourceFilePath) {
41
- return (packageInterface.modules ?? []).filter((entry) => {
42
- const root = getRoot(bundle, entry.root);
43
- return isMatchingRootSourcePath(root, sourceFilePath);
44
- });
45
- }
46
- function selectPreferredExplicitExportKey(modules) {
47
- const [firstMatch, ...remainingMatches] = modules;
48
- if (firstMatch === undefined) {
49
- return undefined;
50
- }
51
- let bestMatch = firstMatch.export;
52
- for (const entry of remainingMatches) {
53
- if (shouldPreferExplicitExportKey(entry.export, bestMatch)) {
54
- bestMatch = entry.export;
55
- }
56
- }
57
- return bestMatch;
58
- }
59
- function resolveExplicitExportKeyForSourcePath(bundle, packageInterface, sourceFilePath) {
60
- return selectPreferredExplicitExportKey(getMatchingExplicitModules(bundle, packageInterface, sourceFilePath));
61
- }
62
- function buildExportEntry(root) {
63
- return {
64
- import: toImportTarget(root.js.targetFilePath),
65
- ...(root.declarationFile === undefined ? {} : { types: toImportTarget(root.declarationFile.targetFilePath) })
66
- };
67
- }
68
- function findContent(bundle, sourceFilePath) {
69
- const content = bundle.contents.find((entry) => {
70
- return entry.fileDescription.sourceFilePath === sourceFilePath;
71
- });
72
- if (content === undefined) {
73
- throw new Error(`Package "${bundle.name}" is missing content for "${sourceFilePath}"`);
74
- }
75
- return content;
76
- }
77
- function isRootJavaScriptSourcePath(root, sourceFilePath) {
78
- return root.js.sourceFilePath === sourceFilePath;
79
- }
80
- function isRootSourcePath(bundle, sourceFilePath) {
81
- return Object.values(bundle.roots).some((root) => {
82
- return isRootJavaScriptSourcePath(root, sourceFilePath);
83
- });
84
- }
85
- function buildExplicitExportsEntries(bundle, surface) {
86
- return (surface.packageInterface.modules ?? []).map((entry) => {
87
- return [entry.export, buildExportEntry(getRoot(bundle, entry.root))];
88
- });
89
- }
90
- function buildExplicitExportsField(bundle, surface) {
91
- const exportsEntries = buildExplicitExportsEntries(bundle, surface);
92
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- export entries are built as package.json-compatible records
93
- return Object.fromEntries(exportsEntries);
94
- }
95
- function buildImplicitRootExports(bundle, surface) {
96
- const defaultRoot = getRoot(bundle, surface.defaultModuleRoot);
97
- const exportsField = {
98
- '.': buildExportEntry(defaultRoot)
99
- };
100
- for (const [rootId, root] of Object.entries(bundle.roots)) {
101
- if (rootId !== surface.defaultModuleRoot) {
102
- exportsField[`./${root.js.targetFilePath}`] = buildExportEntry(root);
103
- }
104
- }
105
- return exportsField;
106
- }
107
- const jsExtensionToDeclarationExtension = new Map([
108
- ['.mjs', '.d.mts'],
109
- ['.cjs', '.d.cts'],
110
- ['.js', '.d.ts']
111
- ]);
112
- function findContentWithTargetFilePath(bundle, targetFilePath) {
113
- const match = bundle.contents.find((entry) => {
114
- return entry.fileDescription.targetFilePath === targetFilePath;
115
- });
116
- return match?.fileDescription.targetFilePath;
117
- }
118
- function findDeclarationCompanionTargetPath(bundle, jsTargetFilePath) {
119
- for (const [jsExtension, declarationExtension] of jsExtensionToDeclarationExtension) {
120
- if (jsTargetFilePath.endsWith(jsExtension)) {
121
- const candidateTargetPath = `${jsTargetFilePath.slice(0, -jsExtension.length)}${declarationExtension}`;
122
- return findContentWithTargetFilePath(bundle, candidateTargetPath);
123
- }
124
- }
125
- return undefined;
126
- }
127
- function buildSubstitutionExportEntry(bundle, sourceFilePath) {
128
- if (isRootSourcePath(bundle, sourceFilePath)) {
129
- return undefined;
130
- }
131
- const content = findContent(bundle, sourceFilePath);
132
- const jsTargetFilePath = content.fileDescription.targetFilePath;
133
- if (isDeclarationTargetFilePath(jsTargetFilePath)) {
134
- return undefined;
135
- }
136
- const declarationTargetFilePath = findDeclarationCompanionTargetPath(bundle, jsTargetFilePath);
137
- return [
138
- `./${jsTargetFilePath}`,
139
- {
140
- import: toImportTarget(jsTargetFilePath),
141
- ...(declarationTargetFilePath === undefined ? {} : { types: toImportTarget(declarationTargetFilePath) })
142
- }
143
- ];
144
- }
145
- function collectImplicitSubstitutionExports(bundle, substitutionPublicModuleSourcePaths) {
146
- const substitutionExports = {};
147
- for (const sourceFilePath of substitutionPublicModuleSourcePaths) {
148
- const substitutionExportEntry = buildSubstitutionExportEntry(bundle, sourceFilePath);
149
- if (substitutionExportEntry !== undefined) {
150
- const [exportKey, exportEntry] = substitutionExportEntry;
151
- substitutionExports[exportKey] = exportEntry;
152
- }
153
- }
154
- return substitutionExports;
155
- }
156
- function buildImplicitExportsField(bundle, surface, substitutionPublicModuleSourcePaths) {
157
- const completedExportsField = {
158
- ...buildImplicitRootExports(bundle, surface),
159
- ...collectImplicitSubstitutionExports(bundle, substitutionPublicModuleSourcePaths)
160
- };
161
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- export entries are built as package.json-compatible records
162
- return completedExportsField;
163
- }
164
- function unscopedPackageName(packageName) {
165
- return packageName.replace(/^@[^/]+\//u, '');
166
- }
167
- function validateExplicitBinRoot(bundleName, entryName, root) {
168
- if (!root.js.isExecutable || !isShebangContent(root.js.content)) {
169
- throw new Error([
170
- `Package "${bundleName}" bin "${entryName}" must point to a root`,
171
- 'with a shebang and executable bit'
172
- ].join(' '));
173
- }
174
- return root;
175
- }
176
- function buildExplicitBinEntries(bundle, bins) {
177
- return bins.map((entry) => {
178
- const root = validateExplicitBinRoot(bundle.name, entry.name, getRoot(bundle, entry.root));
179
- return [entry.name, toImportTarget(root.js.targetFilePath)];
180
- });
181
- }
182
- function buildExplicitBinField(bundle, surface) {
183
- const { bins } = surface.packageInterface;
184
- if (bins === undefined) {
185
- return undefined;
186
- }
187
- return Object.fromEntries(buildExplicitBinEntries(bundle, bins));
188
- }
189
- function getInferredExecutableRoots(bundle) {
190
- return Object.values(bundle.roots).filter((root) => {
191
- return root.js.isExecutable && isShebangContent(root.js.content);
192
- });
193
- }
194
- function buildImplicitBinField(bundle) {
195
- const [root, extraRoot] = getInferredExecutableRoots(bundle);
196
- if (root === undefined) {
197
- return undefined;
198
- }
199
- if (extraRoot !== undefined) {
200
- throw new Error(`Package "${bundle.name}" has multiple executable shebang roots; declare packageInterface.bins explicitly`);
201
- }
202
- return { [unscopedPackageName(bundle.name)]: toImportTarget(root.js.targetFilePath) };
203
- }
204
- function getExplicitPublicModuleSpecifierForSourcePath(bundle, surface, sourceFilePath) {
205
- const explicitExportKey = resolveExplicitExportKeyForSourcePath(bundle, surface.packageInterface, sourceFilePath);
206
- return explicitExportKey === undefined ? undefined : toPackageSpecifier(bundle.name, explicitExportKey);
207
- }
208
- function getDefaultImplicitPublicModuleSpecifier(bundle, surface, sourceFilePath) {
209
- const defaultRoot = getRoot(bundle, surface.defaultModuleRoot);
210
- return isMatchingRootSourcePath(defaultRoot, sourceFilePath) ? bundle.name : undefined;
211
- }
212
- function getDeclarationImplicitPublicModuleSpecifier(bundle, sourceFilePath) {
213
- const declarationRoot = Object.values(bundle.roots).find((root) => {
214
- return root.declarationFile?.sourceFilePath === sourceFilePath;
215
- });
216
- return declarationRoot === undefined ? undefined : `${bundle.name}/${declarationRoot.js.targetFilePath}`;
217
- }
218
- function getContentPublicModuleSpecifier(bundle, sourceFilePath) {
219
- const content = bundle.contents.find((entry) => {
220
- return entry.fileDescription.sourceFilePath === sourceFilePath;
221
- });
222
- return content === undefined ? undefined : `${bundle.name}/${content.fileDescription.targetFilePath}`;
223
- }
224
- function getImplicitPublicModuleSpecifierForSourcePath(bundle, surface, sourceFilePath) {
225
- const defaultSpecifier = getDefaultImplicitPublicModuleSpecifier(bundle, surface, sourceFilePath);
226
- if (defaultSpecifier !== undefined) {
227
- return defaultSpecifier;
228
- }
229
- const declarationSpecifier = getDeclarationImplicitPublicModuleSpecifier(bundle, sourceFilePath);
230
- return declarationSpecifier ?? getContentPublicModuleSpecifier(bundle, sourceFilePath);
231
- }
20
+
232
21
  function resolveExplicitPublicModuleSourceFilePath(bundle, surface, specifier) {
233
22
  const exportKey = resolveExplicitExportKey(bundle.name, specifier);
234
23
  if (exportKey === undefined) {
@@ -280,28 +69,21 @@ export function getPublicRootIds(bundle) {
280
69
  }
281
70
  return rootIds;
282
71
  }
283
- export function getPublicModuleSpecifierForSourcePath(bundle, sourceFilePath) {
284
- if (bundle.surface.mode === 'explicit') {
285
- return getExplicitPublicModuleSpecifierForSourcePath(bundle, bundle.surface, sourceFilePath);
72
+ export function getEntryRootIds(bundle) {
73
+ if (isImplicitPackageSurface(bundle.surface)) {
74
+ return new Set(Object.keys(bundle.roots));
286
75
  }
287
- return getImplicitPublicModuleSpecifierForSourcePath(bundle, bundle.surface, sourceFilePath);
76
+ return new Set([
77
+ ...getPublicRootIds(bundle),
78
+ ...(bundle.surface.packageInterface.privateRoots ?? [])
79
+ ]);
288
80
  }
81
+
289
82
  export function resolvePublicModuleSourceFilePath(bundle, specifier) {
290
83
  if (bundle.surface.mode === 'explicit') {
291
84
  return resolveExplicitPublicModuleSourceFilePath(bundle, bundle.surface, specifier);
292
85
  }
293
86
  return resolveImplicitPublicModuleSourceFilePath(bundle, bundle.surface, specifier);
294
87
  }
295
- export function buildExportsField(bundle, substitutionPublicModuleSourcePaths) {
296
- if (bundle.surface.mode === 'explicit') {
297
- return buildExplicitExportsField(bundle, bundle.surface);
298
- }
299
- return buildImplicitExportsField(bundle, bundle.surface, substitutionPublicModuleSourcePaths);
300
- }
301
- export function buildBinField(bundle) {
302
- if (bundle.surface.mode === 'explicit') {
303
- return buildExplicitBinField(bundle, bundle.surface);
304
- }
305
- return buildImplicitBinField(bundle);
306
- }
88
+
307
89
  //# sourceMappingURL=modules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../../source/package-surface/modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../../source/package-surface/modules.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,5 @@ export type ExplicitPackageSurface = {
8
8
  readonly packageInterface: PackageInterface;
9
9
  };
10
10
  export type PackageSurface = ExplicitPackageSurface | ImplicitPackageSurface;
11
- export declare function implicitPackageSurface(defaultModuleRoot: string): ImplicitPackageSurface;
12
- export declare function explicitPackageSurface(packageInterface: PackageInterface): ExplicitPackageSurface;
13
11
  export declare function isImplicitPackageSurface(packageSurface: PackageSurface): packageSurface is ImplicitPackageSurface;
14
12
  //# sourceMappingURL=surface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../../../source/package-surface/surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;AAE7E,wBAAgB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,GAAG,sBAAsB,CAKxF;AAED,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,sBAAsB,CAKjG;AAED,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,cAAc,GAAG,cAAc,IAAI,sBAAsB,CAEjH"}
1
+ {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../../../source/package-surface/surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC;AAEtE,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC/C;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,sBAAsB;AAgB5E,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,cAAc,GAAG,cAAc,IAAI,sBAAsB"}
@@ -1,16 +1 @@
1
- export function implicitPackageSurface(defaultModuleRoot) {
2
- return {
3
- mode: 'implicit',
4
- defaultModuleRoot
5
- };
6
- }
7
- export function explicitPackageSurface(packageInterface) {
8
- return {
9
- mode: 'explicit',
10
- packageInterface
11
- };
12
- }
13
- export function isImplicitPackageSurface(packageSurface) {
14
- return packageSurface.mode === 'implicit';
15
- }
16
1
  //# sourceMappingURL=surface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../../../source/package-surface/surface.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,sBAAsB,CAAC,iBAAyB;IAC5D,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,iBAAiB;KACpB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,gBAAkC;IACrE,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,gBAAgB;KACnB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,cAA8B;IACnE,OAAO,cAAc,CAAC,IAAI,KAAK,UAAU,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../../../source/package-surface/surface.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -30,6 +30,33 @@
30
30
  "engines": {
31
31
  "node": "^24 || ^26"
32
32
  },
33
+ "exports": {
34
+ ".": {
35
+ "import": "./packages/packtory/packtory.entry-point.js",
36
+ "types": "./packages/packtory/packtory.entry-point.d.ts"
37
+ },
38
+ "./bundle-emitter/repository-coherence.js": {
39
+ "import": "./bundle-emitter/repository-coherence.js"
40
+ },
41
+ "./common/clock.js": {
42
+ "import": "./common/clock.js",
43
+ "types": "./common/clock.d.ts"
44
+ },
45
+ "./common/code-files.js": {
46
+ "import": "./common/code-files.js"
47
+ },
48
+ "./packages/package-processor.composition.js": {
49
+ "import": "./packages/package-processor.composition.js"
50
+ },
51
+ "./packtory/packtory.js": {
52
+ "import": "./packtory/packtory.js",
53
+ "types": "./packtory/packtory.d.ts"
54
+ },
55
+ "./packtory/scheduler.js": {
56
+ "import": "./packtory/scheduler.js",
57
+ "types": "./packtory/scheduler.d.ts"
58
+ }
59
+ },
33
60
  "keywords": [
34
61
  "bundler",
35
62
  "bundling",
@@ -43,13 +70,24 @@
43
70
  "versioning"
44
71
  ],
45
72
  "license": "MIT",
46
- "main": "packages/packtory/packtory.entry-point.js",
47
73
  "name": "packtory",
48
74
  "repository": {
49
75
  "type": "git",
50
76
  "url": "git+ssh://git@github.com/enormora/packtory.git"
51
77
  },
78
+ "sideEffects": [
79
+ "./bundle-emitter/publish-settings-bridge.js",
80
+ "./bundle-emitter/repository-coherence.js",
81
+ "./config/checks-schema.js",
82
+ "./config/package-schemas.js",
83
+ "./config/packtory-config-without-registry-schema.js",
84
+ "./dead-code-eliminator/side-effect-classifier.js",
85
+ "./dead-code-eliminator/transform/declaration-remover.js",
86
+ "./packages/package-processor.composition.js",
87
+ "./packages/packtory/packtory.entry-point.js",
88
+ "./sbom/sbom-builder.js",
89
+ "./tar/tarball-builder.js"
90
+ ],
52
91
  "type": "module",
53
- "types": "packages/packtory/packtory.entry-point.d.ts",
54
- "version": "0.0.9"
92
+ "version": "0.0.10"
55
93
  }