packtory 0.0.15 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/artifacts-builder.d.ts +3 -1
- package/artifacts/artifacts-builder.d.ts.map +1 -1
- package/artifacts/artifacts-builder.js +20 -74
- package/artifacts/artifacts-builder.js.map +1 -1
- package/artifacts/content-collection.js +60 -0
- package/artifacts/content-collection.js.map +1 -0
- package/artifacts/folder-writer.js +24 -0
- package/artifacts/folder-writer.js.map +1 -0
- package/bundle-emitter/emitter.d.ts +3 -2
- package/bundle-emitter/emitter.d.ts.map +1 -1
- package/bundle-emitter/emitter.js +10 -8
- package/bundle-emitter/emitter.js.map +1 -1
- package/bundle-emitter/fetch-published-artifacts.d.ts +10 -0
- package/bundle-emitter/fetch-published-artifacts.d.ts.map +1 -0
- package/bundle-emitter/fetch-published-artifacts.js +16 -0
- package/bundle-emitter/fetch-published-artifacts.js.map +1 -0
- package/bundle-emitter/publish-error/auto-mode-error-matching.js +30 -0
- package/bundle-emitter/publish-error/auto-mode-error-matching.js.map +1 -0
- package/bundle-emitter/publish-error/error-shape-helpers.js +10 -0
- package/bundle-emitter/publish-error/error-shape-helpers.js.map +1 -0
- package/bundle-emitter/publish-error/file-mode-error-matching.js +28 -0
- package/bundle-emitter/publish-error/file-mode-error-matching.js.map +1 -0
- package/bundle-emitter/publish-error/publish-error-messages.js +37 -0
- package/bundle-emitter/publish-error/publish-error-messages.js.map +1 -0
- package/bundle-emitter/registry/metadata-auth-retry.js +26 -0
- package/bundle-emitter/registry/metadata-auth-retry.js.map +1 -0
- package/bundle-emitter/registry/oidc-token-exchange.js +83 -0
- package/bundle-emitter/registry/oidc-token-exchange.js.map +1 -0
- package/bundle-emitter/registry/package-metadata-fetcher.d.ts +4 -0
- package/bundle-emitter/registry/package-metadata-fetcher.d.ts.map +1 -0
- package/bundle-emitter/registry/package-metadata-fetcher.js +99 -0
- package/bundle-emitter/registry/package-metadata-fetcher.js.map +1 -0
- package/bundle-emitter/registry/publish-settings-bridge.js +39 -0
- package/bundle-emitter/registry/publish-settings-bridge.js.map +1 -0
- package/bundle-emitter/registry/registry-auth-config.js +82 -0
- package/bundle-emitter/registry/registry-auth-config.js.map +1 -0
- package/bundle-emitter/registry/registry-client.d.ts +10 -0
- package/bundle-emitter/registry/registry-client.d.ts.map +1 -0
- package/bundle-emitter/registry/registry-client.js +38 -0
- package/bundle-emitter/registry/registry-client.js.map +1 -0
- package/bundle-emitter/registry/registry-response-schemas.js +45 -0
- package/bundle-emitter/registry/registry-response-schemas.js.map +1 -0
- package/bundle-emitter/repository-url-normalizer.js +2 -4
- package/bundle-emitter/repository-url-normalizer.js.map +1 -1
- package/checks/rules/duplicate-detection.js +26 -0
- package/checks/rules/duplicate-detection.js.map +1 -0
- package/checks/rules/duplicate-messages.js +26 -0
- package/checks/rules/duplicate-messages.js.map +1 -0
- package/checks/rules/file-ownership.js +16 -0
- package/checks/rules/file-ownership.js.map +1 -0
- package/checks/rules/no-duplicated-files.js +2 -76
- package/checks/rules/no-duplicated-files.js.map +1 -1
- package/checks/rules/required-files.js +2 -1
- package/checks/rules/required-files.js.map +1 -1
- package/checks/rules/set-intersection.js +14 -0
- package/checks/rules/set-intersection.js.map +1 -0
- package/checks/rules/unique-target-paths.js +11 -10
- package/checks/rules/unique-target-paths.js.map +1 -1
- package/common/code-files.js +21 -0
- package/common/code-files.js.map +1 -1
- package/common/max-date.js +6 -0
- package/common/max-date.js.map +1 -0
- package/common/sort-values.js.map +1 -0
- package/common/stable-json.js +42 -0
- package/common/stable-json.js.map +1 -0
- package/common/typed-diff.d.ts +3 -0
- package/common/typed-diff.d.ts.map +1 -0
- package/common/typed-diff.js +5 -0
- package/common/typed-diff.js.map +1 -0
- package/config/config.d.ts +0 -3
- package/config/config.d.ts.map +1 -1
- package/config/cross-package-validation.js +18 -0
- package/config/cross-package-validation.js.map +1 -0
- package/config/dependency-existence-validation.js +20 -0
- package/config/dependency-existence-validation.js.map +1 -0
- package/config/package-config.d.ts +0 -2
- package/config/package-config.d.ts.map +1 -1
- package/config/package-graph-builder.js +15 -0
- package/config/package-graph-builder.js.map +1 -0
- package/config/pre-graph-validation.js +19 -0
- package/config/pre-graph-validation.js.map +1 -0
- package/config/root-config-validation.js +126 -0
- package/config/root-config-validation.js.map +1 -0
- package/config/settings-validation.js +29 -0
- package/config/settings-validation.js.map +1 -0
- package/config/validation.d.ts +2 -2
- package/config/validation.d.ts.map +1 -1
- package/config/validation.js +9 -231
- package/config/validation.js.map +1 -1
- package/dead-code-eliminator/class-purity.js +33 -0
- package/dead-code-eliminator/class-purity.js.map +1 -0
- package/dead-code-eliminator/code-file-analyzer.js +56 -0
- package/dead-code-eliminator/code-file-analyzer.js.map +1 -0
- package/dead-code-eliminator/cross-bundle/bundle-index.js +31 -0
- package/dead-code-eliminator/cross-bundle/bundle-index.js.map +1 -0
- package/dead-code-eliminator/cross-bundle/cross-bundle-seeds.js +4 -111
- package/dead-code-eliminator/cross-bundle/cross-bundle-seeds.js.map +1 -1
- package/dead-code-eliminator/cross-bundle/import-export-walker.js +69 -0
- package/dead-code-eliminator/cross-bundle/import-export-walker.js.map +1 -0
- package/dead-code-eliminator/cross-bundle/seed-store.js +19 -0
- package/dead-code-eliminator/cross-bundle/seed-store.js.map +1 -0
- package/dead-code-eliminator/eliminator.js +3 -83
- package/dead-code-eliminator/eliminator.js.map +1 -1
- package/dead-code-eliminator/expression-unwrapping.js +17 -0
- package/dead-code-eliminator/expression-unwrapping.js.map +1 -0
- package/dead-code-eliminator/imported-expression-origin.js +95 -0
- package/dead-code-eliminator/imported-expression-origin.js.map +1 -0
- package/dead-code-eliminator/load-bundle.js +1 -1
- package/dead-code-eliminator/load-bundle.js.map +1 -1
- package/dead-code-eliminator/pure-expression.js +116 -0
- package/dead-code-eliminator/pure-expression.js.map +1 -0
- package/dead-code-eliminator/reachability/bfs-closure.js +40 -0
- package/dead-code-eliminator/reachability/bfs-closure.js.map +1 -0
- package/dead-code-eliminator/reachability/binding-id.js +33 -0
- package/dead-code-eliminator/reachability/binding-id.js.map +1 -0
- package/dead-code-eliminator/reachability/identifier-target-collector.js +36 -0
- package/dead-code-eliminator/reachability/identifier-target-collector.js.map +1 -0
- package/dead-code-eliminator/reachability/local-seed-gathering.js +24 -0
- package/dead-code-eliminator/reachability/local-seed-gathering.js.map +1 -0
- package/dead-code-eliminator/reachability/reachability.js +19 -130
- package/dead-code-eliminator/reachability/reachability.js.map +1 -1
- package/dead-code-eliminator/side-effect-classifier.js +2 -394
- package/dead-code-eliminator/side-effect-classifier.js.map +1 -1
- package/dead-code-eliminator/source-map-recomposition.js +27 -0
- package/dead-code-eliminator/source-map-recomposition.js.map +1 -0
- package/dead-code-eliminator/statement-classifiers.js +67 -0
- package/dead-code-eliminator/statement-classifiers.js.map +1 -0
- package/dead-code-eliminator/syntax-kind-sets.js +67 -0
- package/dead-code-eliminator/syntax-kind-sets.js.map +1 -0
- package/dead-code-eliminator/transform/declaration-removal.js +34 -0
- package/dead-code-eliminator/transform/declaration-removal.js.map +1 -0
- package/dead-code-eliminator/transform/declaration-remover.js +2 -72
- package/dead-code-eliminator/transform/declaration-remover.js.map +1 -1
- package/dead-code-eliminator/transform/named-declaration-kinds.js +13 -0
- package/dead-code-eliminator/transform/named-declaration-kinds.js.map +1 -0
- package/dead-code-eliminator/transform/survivor-capture.js +33 -0
- package/dead-code-eliminator/transform/survivor-capture.js.map +1 -0
- package/dependency-scanner/dependency-graph.js +46 -28
- package/dependency-scanner/dependency-graph.js.map +1 -1
- package/dependency-scanner/file-host-predicates.js +10 -0
- package/dependency-scanner/file-host-predicates.js.map +1 -0
- package/dependency-scanner/host-method-binding.js +19 -0
- package/dependency-scanner/host-method-binding.js.map +1 -0
- package/dependency-scanner/node-modules-manifest-synthesizer.js +55 -0
- package/dependency-scanner/node-modules-manifest-synthesizer.js.map +1 -0
- package/dependency-scanner/package-owned-asset-file-path.js +21 -0
- package/dependency-scanner/package-owned-asset-file-path.js.map +1 -0
- package/dependency-scanner/scanner.d.ts +1 -1
- package/dependency-scanner/scanner.d.ts.map +1 -1
- package/dependency-scanner/scanner.js +34 -39
- package/dependency-scanner/scanner.js.map +1 -1
- package/dependency-scanner/source-file-references.d.ts +3 -0
- package/dependency-scanner/source-file-references.d.ts.map +1 -0
- package/dependency-scanner/source-file-references.js +106 -7
- package/dependency-scanner/source-file-references.js.map +1 -1
- package/dependency-scanner/typescript-compiler-options.d.ts +3 -0
- package/dependency-scanner/typescript-compiler-options.d.ts.map +1 -0
- package/dependency-scanner/typescript-compiler-options.js +22 -0
- package/dependency-scanner/typescript-compiler-options.js.map +1 -0
- package/dependency-scanner/typescript-file-host.d.ts.map +1 -1
- package/dependency-scanner/typescript-file-host.js +15 -81
- package/dependency-scanner/typescript-file-host.js.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.d.ts +3 -3
- package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.js +6 -26
- package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
- package/dependency-scanner/virtual-package-json-host.js +45 -0
- package/dependency-scanner/virtual-package-json-host.js.map +1 -0
- package/directed-graph/graph.js +19 -8
- package/directed-graph/graph.js.map +1 -1
- package/file-manager/file-description.d.ts.map +1 -1
- package/file-manager/file-description.js +4 -0
- package/file-manager/file-description.js.map +1 -0
- package/file-manager/file-manager.js +30 -1
- package/file-manager/file-manager.js.map +1 -1
- package/file-manager/permissions.js +5 -4
- package/file-manager/permissions.js.map +1 -1
- package/linker/linked-bundle.d.ts.map +1 -1
- package/linker/linked-bundle.js +6 -0
- package/linker/linked-bundle.js.map +1 -0
- package/linker/linker.d.ts +1 -1
- package/linker/linker.d.ts.map +1 -1
- package/linker/linker.js +2 -1
- package/linker/linker.js.map +1 -1
- package/linker/replacement-lookup.js +41 -0
- package/linker/replacement-lookup.js.map +1 -0
- package/linker/resource-graph.js +2 -1
- package/linker/resource-graph.js.map +1 -1
- package/linker/substitute-bundles.js +4 -42
- package/linker/substitute-bundles.js.map +1 -1
- package/linker/substituted-resource-graph.js +2 -1
- package/linker/substituted-resource-graph.js.map +1 -1
- package/pack-emitter/pack-emitter.d.ts +8 -0
- package/pack-emitter/pack-emitter.d.ts.map +1 -0
- package/pack-emitter/pack-emitter.js +28 -0
- package/pack-emitter/pack-emitter.js.map +1 -0
- package/package-surface/bin-field.js +9 -0
- package/package-surface/bin-field.js.map +1 -0
- package/package-surface/explicit-bin.js +25 -0
- package/package-surface/explicit-bin.js.map +1 -0
- package/package-surface/explicit-exports.js +12 -0
- package/package-surface/explicit-exports.js.map +1 -0
- package/package-surface/explicit-specifier-build.js +28 -0
- package/package-surface/explicit-specifier-build.js.map +1 -0
- package/package-surface/explicit-specifier-resolve.js +17 -0
- package/package-surface/explicit-specifier-resolve.js.map +1 -0
- package/package-surface/export-map.js +10 -0
- package/package-surface/export-map.js.map +1 -0
- package/package-surface/implicit-bin.js +23 -0
- package/package-surface/implicit-bin.js.map +1 -0
- package/package-surface/implicit-exports.js +11 -0
- package/package-surface/implicit-exports.js.map +1 -0
- package/package-surface/implicit-root-exports.js +14 -0
- package/package-surface/implicit-root-exports.js.map +1 -0
- package/package-surface/implicit-specifier-build.js +26 -0
- package/package-surface/implicit-specifier-build.js.map +1 -0
- package/package-surface/implicit-specifier-resolve.js +17 -0
- package/package-surface/implicit-specifier-resolve.js.map +1 -0
- package/package-surface/package-json-export.js +10 -0
- package/package-surface/package-json-export.js.map +1 -0
- package/package-surface/package-shape.js +10 -0
- package/package-surface/package-shape.js.map +1 -0
- package/package-surface/public-module-usage.js +1 -1
- package/package-surface/public-module-usage.js.map +1 -1
- package/package-surface/public-specifiers.js +17 -0
- package/package-surface/public-specifiers.js.map +1 -0
- package/package-surface/root-registry.js +35 -0
- package/package-surface/root-registry.js.map +1 -0
- package/package-surface/specifier-syntax.js +24 -0
- package/package-surface/specifier-syntax.js.map +1 -0
- package/package-surface/substitution-exports.js +67 -0
- package/package-surface/substitution-exports.js.map +1 -0
- package/package.json +25 -12
- package/packages/package-processor.composition.js +54 -25
- package/packages/package-processor.composition.js.map +1 -1
- package/packages/packtory/packtory.entry-point.d.ts +24 -14
- package/packages/packtory/packtory.entry-point.d.ts.map +1 -1
- package/packages/packtory/packtory.entry-point.js +7 -3
- package/packages/packtory/packtory.entry-point.js.map +1 -1
- package/packtory/map-config.d.ts +3 -2
- package/packtory/map-config.d.ts.map +1 -1
- package/packtory/map-config.js +2 -1
- package/packtory/map-config.js.map +1 -1
- package/packtory/options/bundle-dependency-resolution.js +20 -0
- package/packtory/options/bundle-dependency-resolution.js.map +1 -0
- package/packtory/options/dead-code-elimination-resolution.js +11 -0
- package/packtory/options/dead-code-elimination-resolution.js.map +1 -0
- package/packtory/options/prepare-package-options.d.ts +18 -0
- package/packtory/options/prepare-package-options.d.ts.map +1 -0
- package/packtory/options/prepare-package-options.js +46 -0
- package/packtory/options/prepare-package-options.js.map +1 -0
- package/packtory/options/required-value-helpers.js +18 -0
- package/packtory/options/required-value-helpers.js.map +1 -0
- package/packtory/options/setting-resolvers.d.ts +6 -0
- package/packtory/options/setting-resolvers.d.ts.map +1 -0
- package/packtory/options/setting-resolvers.js +42 -0
- package/packtory/options/setting-resolvers.js.map +1 -0
- package/packtory/options/surface-resolution.js +16 -0
- package/packtory/options/surface-resolution.js.map +1 -0
- package/packtory/options/version-trigger.js +31 -0
- package/packtory/options/version-trigger.js.map +1 -0
- package/packtory/package-processor-build.js +2 -1
- package/packtory/package-processor-build.js.map +1 -1
- package/packtory/package-processor-publish.d.ts +5 -0
- package/packtory/package-processor-publish.d.ts.map +1 -1
- package/packtory/package-processor-publish.js +25 -40
- package/packtory/package-processor-publish.js.map +1 -1
- package/packtory/packtory-pack.js +221 -0
- package/packtory/packtory-pack.js.map +1 -0
- package/packtory/packtory-publish.js +3 -51
- package/packtory/packtory-publish.js.map +1 -1
- package/packtory/packtory-release-analysis.js +69 -0
- package/packtory/packtory-release-analysis.js.map +1 -0
- package/packtory/packtory-release-diff.js +48 -0
- package/packtory/packtory-release-diff.js.map +1 -0
- package/packtory/packtory-resolve.js +3 -71
- package/packtory/packtory-resolve.js.map +1 -1
- package/packtory/packtory-results.d.ts +73 -1
- package/packtory/packtory-results.d.ts.map +1 -1
- package/packtory/packtory-results.js +15 -0
- package/packtory/packtory-results.js.map +1 -1
- package/packtory/packtory.d.ts +15 -1
- package/packtory/packtory.d.ts.map +1 -1
- package/packtory/packtory.js +58 -5
- package/packtory/packtory.js.map +1 -1
- package/packtory/publish-failure-mapping.js +7 -0
- package/packtory/publish-failure-mapping.js.map +1 -0
- package/packtory/release-analysis.js +147 -0
- package/packtory/release-analysis.js.map +1 -0
- package/packtory/release-diff-failure-mapping.js +7 -0
- package/packtory/release-diff-failure-mapping.js.map +1 -0
- package/packtory/report-attachment.js +12 -1
- package/packtory/report-attachment.js.map +1 -1
- package/packtory/stages/package-analysis-stage.js +24 -0
- package/packtory/stages/package-analysis-stage.js.map +1 -0
- package/packtory/stages/package-resolution-stage.js +44 -0
- package/packtory/stages/package-resolution-stage.js.map +1 -0
- package/packtory/stages/publish-stage.js +44 -0
- package/packtory/stages/publish-stage.js.map +1 -0
- package/packtory/stages/release-diff-stage.js +84 -0
- package/packtory/stages/release-diff-stage.js.map +1 -0
- package/published-package/published-package.d.ts +39 -0
- package/published-package/published-package.d.ts.map +1 -0
- package/published-package/published-package.js +11 -0
- package/published-package/published-package.js.map +1 -0
- package/readme.md +27 -12
- package/report/aggregator/artifact-entry-merger.js.map +1 -0
- package/report/aggregator/package-report-materialization.js +63 -0
- package/report/aggregator/package-report-materialization.js.map +1 -0
- package/report/aggregator/report-aggregator.js +36 -0
- package/report/aggregator/report-aggregator.js.map +1 -0
- package/report/{report-aggregator.js → aggregator/report-event-handlers.js} +8 -95
- package/report/aggregator/report-event-handlers.js.map +1 -0
- package/report/{report-aggregator.d.ts → aggregator/report-types.d.ts} +2 -2
- package/report/aggregator/report-types.d.ts.map +1 -0
- package/report/aggregator/report-types.js +4 -0
- package/report/aggregator/report-types.js.map +1 -0
- package/report/config-redactor.js.map +1 -1
- package/report/inspectors/inspect-artifact-sizes.js +34 -0
- package/report/inspectors/inspect-artifact-sizes.js.map +1 -0
- package/report/inspectors/inspect-linker-rewrites.js +15 -0
- package/report/inspectors/inspect-linker-rewrites.js.map +1 -0
- package/report/inspectors/inspect-package-json-provenance.js +16 -0
- package/report/inspectors/inspect-package-json-provenance.js.map +1 -0
- package/report/inspectors/inspect-scan-results.js +10 -0
- package/report/inspectors/inspect-scan-results.js.map +1 -0
- package/report/preview/preview-document-diff.d.ts +13 -0
- package/report/preview/preview-document-diff.d.ts.map +1 -0
- package/report/preview/preview-document-diff.js +29 -0
- package/report/preview/preview-document-diff.js.map +1 -0
- package/report/release-diff/file-hunks.js +10 -0
- package/report/release-diff/file-hunks.js.map +1 -0
- package/report/release-diff/file-set-diff.d.ts +49 -0
- package/report/release-diff/file-set-diff.d.ts.map +1 -0
- package/report/release-diff/file-set-diff.js +71 -0
- package/report/release-diff/file-set-diff.js.map +1 -0
- package/report/release-diff/release-version-transition.js +17 -0
- package/report/release-diff/release-version-transition.js.map +1 -0
- package/resource-resolver/bundle-resource-lookup.js +24 -0
- package/resource-resolver/bundle-resource-lookup.js.map +1 -0
- package/resource-resolver/content.js +8 -4
- package/resource-resolver/content.js.map +1 -1
- package/resource-resolver/dependency-resolution-walker.js +25 -0
- package/resource-resolver/dependency-resolution-walker.js.map +1 -0
- package/resource-resolver/resolved-bundle.d.ts +1 -0
- package/resource-resolver/resolved-bundle.d.ts.map +1 -1
- package/resource-resolver/resolved-bundle.js +4 -0
- package/resource-resolver/resolved-bundle.js.map +1 -0
- package/resource-resolver/resource-resolve-options.js.map +1 -1
- package/resource-resolver/resource-resolver.d.ts.map +1 -1
- package/resource-resolver/resource-resolver.js +22 -57
- package/resource-resolver/resource-resolver.js.map +1 -1
- package/sbom/sbom-canonicalizer.js +46 -0
- package/sbom/sbom-canonicalizer.js.map +1 -0
- package/sbom/sbom-file.d.ts +2 -2
- package/sbom/sbom-file.d.ts.map +1 -1
- package/sbom/sbom-file.js +2 -5
- package/sbom/sbom-file.js.map +1 -1
- package/tar/extract-tar.js +11 -8
- package/tar/extract-tar.js.map +1 -1
- package/tar/tarball-builder.d.ts +4 -0
- package/tar/tarball-builder.d.ts.map +1 -1
- package/tar/tarball-builder.js +24 -11
- package/tar/tarball-builder.js.map +1 -1
- package/vendor-materializer/vendor-entry.d.ts +1 -0
- package/vendor-materializer/vendor-entry.d.ts.map +1 -0
- package/vendor-materializer/vendor-entry.js +8 -0
- package/vendor-materializer/vendor-entry.js.map +1 -0
- package/vendor-materializer/vendor-materializer.d.ts +5 -0
- package/vendor-materializer/vendor-materializer.d.ts.map +1 -0
- package/vendor-materializer/vendor-materializer.js +232 -0
- package/vendor-materializer/vendor-materializer.js.map +1 -0
- package/version-manager/dependencies/bundle-dependency-grouping.js +23 -0
- package/version-manager/dependencies/bundle-dependency-grouping.js.map +1 -0
- package/version-manager/dependencies/dependency-groups.js +12 -0
- package/version-manager/dependencies/dependency-groups.js.map +1 -0
- package/version-manager/{versioned-bundle-dependencies.js → dependencies/external-dependency-classification.js} +4 -42
- package/version-manager/dependencies/external-dependency-classification.js.map +1 -0
- package/version-manager/dependencies/versioned-bundle-dependencies.js +9 -0
- package/version-manager/dependencies/versioned-bundle-dependencies.js.map +1 -0
- package/version-manager/imports/hash-import-scanner.js +21 -0
- package/version-manager/imports/hash-import-scanner.js.map +1 -0
- package/version-manager/imports/imports-key-matcher.js +21 -0
- package/version-manager/imports/imports-key-matcher.js.map +1 -0
- package/version-manager/{versioned-bundle-imports.js → imports/versioned-bundle-imports.js} +3 -36
- package/version-manager/imports/versioned-bundle-imports.js.map +1 -0
- package/version-manager/manager.js +1 -1
- package/version-manager/manager.js.map +1 -1
- package/version-manager/manifest/builder.js +3 -5
- package/version-manager/manifest/builder.js.map +1 -1
- package/version-manager/manifest/serialize.js +2 -41
- package/version-manager/manifest/serialize.js.map +1 -1
- package/version-manager/optional-bundle-fields.js +9 -0
- package/version-manager/optional-bundle-fields.js.map +1 -0
- package/version-manager/representative-root.js +30 -0
- package/version-manager/representative-root.js.map +1 -0
- package/version-manager/specifier-classifier.js +14 -11
- package/version-manager/specifier-classifier.js.map +1 -1
- package/version-manager/versioned-bundle.d.ts +7 -23
- package/version-manager/versioned-bundle.d.ts.map +1 -1
- package/version-manager/versioned-bundle.js +7 -40
- package/version-manager/versioned-bundle.js.map +1 -1
- package/zip/zip-builder.d.ts +5 -0
- package/zip/zip-builder.d.ts.map +1 -0
- package/zip/zip-builder.js +80 -0
- package/zip/zip-builder.js.map +1 -0
- package/bundle-emitter/publish-settings-bridge.js +0 -133
- package/bundle-emitter/publish-settings-bridge.js.map +0 -1
- package/bundle-emitter/registry-client.d.ts +0 -9
- package/bundle-emitter/registry-client.d.ts.map +0 -1
- package/bundle-emitter/registry-client.js +0 -265
- package/bundle-emitter/registry-client.js.map +0 -1
- package/package-surface/modules.js +0 -319
- package/package-surface/modules.js.map +0 -1
- package/packtory/prepare-package-options.d.ts +0 -14
- package/packtory/prepare-package-options.d.ts.map +0 -1
- package/packtory/prepare-package-options.js +0 -128
- package/packtory/prepare-package-options.js.map +0 -1
- package/report/artifact-entry-merger.js.map +0 -1
- package/report/inspectors.js +0 -74
- package/report/inspectors.js.map +0 -1
- package/report/report-aggregator.d.ts.map +0 -1
- package/report/report-aggregator.js.map +0 -1
- package/version-manager/manifest/sort-values.js.map +0 -1
- package/version-manager/versioned-bundle-dependencies.js.map +0 -1
- package/version-manager/versioned-bundle-imports.d.ts +0 -4
- package/version-manager/versioned-bundle-imports.d.ts.map +0 -1
- package/version-manager/versioned-bundle-imports.js.map +0 -1
- /package/{version-manager/manifest → common}/sort-values.js +0 -0
- /package/report/{artifact-entry-merger.js → aggregator/artifact-entry-merger.js} +0 -0
package/directed-graph/graph.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
const breadthFirstTraversalBudgetExceededErrorMessage = 'Breadth-first traversal exceeded the maximum iteration budget';
|
|
2
1
|
function addAdjacentNodeId(node, idToAdd) {
|
|
3
2
|
return {
|
|
4
3
|
id: node.id,
|
|
@@ -34,7 +33,19 @@ function decreaseIncomingEdges(node) {
|
|
|
34
33
|
function getNonVisitedAdjacentIds(node) {
|
|
35
34
|
return Array.from(node.adjacentNodeIds);
|
|
36
35
|
}
|
|
37
|
-
export function createDirectedGraph() {
|
|
36
|
+
export function createDirectedGraph(dependencies = {}) {
|
|
37
|
+
const resolvedDependencies = {
|
|
38
|
+
cyclePathIncludes(visitedIds, id) {
|
|
39
|
+
return visitedIds.includes(id);
|
|
40
|
+
},
|
|
41
|
+
mergeDiscovered(alreadyDiscovered, currentGeneration) {
|
|
42
|
+
return new Set([...alreadyDiscovered, ...currentGeneration]);
|
|
43
|
+
},
|
|
44
|
+
visitedHas(visited, id) {
|
|
45
|
+
return visited.has(id);
|
|
46
|
+
},
|
|
47
|
+
...dependencies
|
|
48
|
+
};
|
|
38
49
|
const nodes = new Map();
|
|
39
50
|
function getNode(id) {
|
|
40
51
|
const node = nodes.get(id);
|
|
@@ -75,7 +86,7 @@ export function createDirectedGraph() {
|
|
|
75
86
|
const newVisitedIds = [...visitedIds, baseNode.id];
|
|
76
87
|
const cycles = [];
|
|
77
88
|
for (const id of baseNode.adjacentNodeIds) {
|
|
78
|
-
if (
|
|
89
|
+
if (resolvedDependencies.cyclePathIncludes(newVisitedIds, id)) {
|
|
79
90
|
cycles.push([...newVisitedIds, id]);
|
|
80
91
|
continue;
|
|
81
92
|
}
|
|
@@ -97,7 +108,7 @@ export function createDirectedGraph() {
|
|
|
97
108
|
const cycles = [];
|
|
98
109
|
const idsWithinCycles = new Set();
|
|
99
110
|
for (const baseNode of nodes.values()) {
|
|
100
|
-
if (!
|
|
111
|
+
if (!resolvedDependencies.visitedHas(idsWithinCycles, baseNode.id)) {
|
|
101
112
|
const cyclesForNode = detectCyclesForNode(baseNode, []);
|
|
102
113
|
cycles.push(...cyclesForNode);
|
|
103
114
|
for (const id of cyclesForNode.flat()) {
|
|
@@ -121,7 +132,7 @@ export function createDirectedGraph() {
|
|
|
121
132
|
if (head === undefined) {
|
|
122
133
|
return;
|
|
123
134
|
}
|
|
124
|
-
if (
|
|
135
|
+
if (resolvedDependencies.visitedHas(visited, head.id)) {
|
|
125
136
|
continue;
|
|
126
137
|
}
|
|
127
138
|
visited.add(head.id);
|
|
@@ -132,7 +143,7 @@ export function createDirectedGraph() {
|
|
|
132
143
|
queue.push(adjacentNode);
|
|
133
144
|
}
|
|
134
145
|
}
|
|
135
|
-
throw new Error(
|
|
146
|
+
throw new Error('Breadth-first traversal exceeded the maximum iteration budget');
|
|
136
147
|
}
|
|
137
148
|
function hasNode(id) {
|
|
138
149
|
return nodes.has(id);
|
|
@@ -193,7 +204,7 @@ export function createDirectedGraph() {
|
|
|
193
204
|
if (currentGeneration.length === 0) {
|
|
194
205
|
return generations;
|
|
195
206
|
}
|
|
196
|
-
const currentlyDiscovered =
|
|
207
|
+
const currentlyDiscovered = resolvedDependencies.mergeDiscovered(alreadyDiscovered, currentGeneration);
|
|
197
208
|
generations.push(Array.from(currentGeneration));
|
|
198
209
|
alreadyDiscovered = currentlyDiscovered;
|
|
199
210
|
incomingEdgesPerNode = decreaseIncomingEdgesPerNodeForAdjacentNodes(incomingEdgesPerNode, Array.from(currentGeneration));
|
|
@@ -201,7 +212,7 @@ export function createDirectedGraph() {
|
|
|
201
212
|
throw new Error(`Topological generation discovery did not make progress after ${exhaustedAttempts} attempts`);
|
|
202
213
|
}
|
|
203
214
|
function reverse() {
|
|
204
|
-
const reversedGraph = createDirectedGraph();
|
|
215
|
+
const reversedGraph = createDirectedGraph(resolvedDependencies);
|
|
205
216
|
for (const node of nodes.values()) {
|
|
206
217
|
reversedGraph.addNode(node.id, node.data);
|
|
207
218
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../source/directed-graph/graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../source/directed-graph/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-description.d.ts","sourceRoot":"","sources":["../../../../source/file-manager/file-description.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC
|
|
1
|
+
{"version":3,"file":"file-description.d.ts","sourceRoot":"","sources":["../../../../source/file-manager/file-description.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,2BAA2B,GAAG,eAAe,GAAG;IACxD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-description.js","sourceRoot":"","sources":["../../../../source/file-manager/file-description.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAO,GAAG,EAAE,EAAE,YAAY,GAAG,KAAK;IACtF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -14,17 +14,27 @@ export function createFileManager(dependencies) {
|
|
|
14
14
|
return { isReadable: false };
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
async function
|
|
17
|
+
async function ensureContainingFolder(filePath) {
|
|
18
18
|
const containingFolder = path.dirname(filePath);
|
|
19
19
|
const parentReadability = await checkReadability(containingFolder);
|
|
20
20
|
if (!parentReadability.isReadable) {
|
|
21
21
|
await hostFileSystem.mkdir(containingFolder, { recursive: true });
|
|
22
22
|
}
|
|
23
|
+
}
|
|
24
|
+
async function writeFile(filePath, content) {
|
|
25
|
+
await ensureContainingFolder(filePath);
|
|
23
26
|
await hostFileSystem.writeFile(filePath, content, { encoding: 'utf8' });
|
|
24
27
|
}
|
|
28
|
+
async function writeBinaryFile(filePath, content) {
|
|
29
|
+
await ensureContainingFolder(filePath);
|
|
30
|
+
await hostFileSystem.writeFile(filePath, content);
|
|
31
|
+
}
|
|
25
32
|
async function readFile(filePath) {
|
|
26
33
|
return hostFileSystem.readFile(filePath, { encoding: 'utf8' });
|
|
27
34
|
}
|
|
35
|
+
async function readFileBytes(filePath) {
|
|
36
|
+
return hostFileSystem.readFile(filePath);
|
|
37
|
+
}
|
|
28
38
|
async function getFileMode(filePath) {
|
|
29
39
|
const stats = await hostFileSystem.stat(filePath);
|
|
30
40
|
return stats.mode;
|
|
@@ -36,8 +46,10 @@ export function createFileManager(dependencies) {
|
|
|
36
46
|
return {
|
|
37
47
|
checkReadability,
|
|
38
48
|
writeFile,
|
|
49
|
+
writeBinaryFile,
|
|
39
50
|
setExecutable,
|
|
40
51
|
readFile,
|
|
52
|
+
readFileBytes,
|
|
41
53
|
async getTransferableFileDescriptionFromPath(sourceFilePath, targetFilePath) {
|
|
42
54
|
const mode = await getFileMode(sourceFilePath);
|
|
43
55
|
return {
|
|
@@ -50,6 +62,23 @@ export function createFileManager(dependencies) {
|
|
|
50
62
|
async copyFile(from, to) {
|
|
51
63
|
const content = await readFile(from);
|
|
52
64
|
await writeFile(to, content);
|
|
65
|
+
},
|
|
66
|
+
async copyFileBytes(from, to) {
|
|
67
|
+
await ensureContainingFolder(to);
|
|
68
|
+
await hostFileSystem.copyFile(from, to);
|
|
69
|
+
},
|
|
70
|
+
async listDirectoryEntries(directoryPath) {
|
|
71
|
+
const entries = await hostFileSystem.readdir(directoryPath, { withFileTypes: true });
|
|
72
|
+
return entries.map((entry) => {
|
|
73
|
+
return {
|
|
74
|
+
name: entry.name,
|
|
75
|
+
isDirectory: entry.isDirectory(),
|
|
76
|
+
isSymbolicLink: entry.isSymbolicLink()
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
async getRealPath(filePath) {
|
|
81
|
+
return hostFileSystem.realpath(filePath);
|
|
53
82
|
}
|
|
54
83
|
};
|
|
55
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../../../source/file-manager/file-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../../../source/file-manager/file-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,16 +10,17 @@ function areAllPermissionsExecutable(permissions) {
|
|
|
10
10
|
hasExecutePermission(permissions.group) &&
|
|
11
11
|
hasExecutePermission(permissions.others));
|
|
12
12
|
}
|
|
13
|
-
function getPermissions(mode) {
|
|
13
|
+
function getPermissions(mode, convertObject) {
|
|
14
14
|
try {
|
|
15
|
-
return
|
|
15
|
+
return convertObject(mode);
|
|
16
16
|
}
|
|
17
17
|
catch {
|
|
18
18
|
return null;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
export function isExecutableFileMode(mode) {
|
|
22
|
-
const
|
|
21
|
+
export function isExecutableFileMode(mode, dependencies = {}) {
|
|
22
|
+
const convertObject = dependencies.convertObject ?? convert.object;
|
|
23
|
+
const permissions = getPermissions(mode, convertObject);
|
|
23
24
|
if (permissions === null) {
|
|
24
25
|
return false;
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../../source/file-manager/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../../source/file-manager/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAQ3C,SAAS,oBAAoB,CAAC,UAAyD;IACnF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC;AACvC,CAAC;AAED,SAAS,2BAA2B,CAAC,WAA8C;IAC/E,OAAO,CACH,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC;QACtC,oBAAoB,CAAC,WAAW,CAAC,KAAK,CAAC;QACvC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAC3C,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,aAA+B;IACjE,IAAI,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,eAAgD,EAAE;IACjG,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IACnE,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAExD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,2BAA2B,CAAC,WAAW,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linked-bundle.d.ts","sourceRoot":"","sources":["../../../../source/linker/linked-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD
|
|
1
|
+
{"version":3,"file":"linked-bundle.d.ts","sourceRoot":"","sources":["../../../../source/linker/linked-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yCAAyC;AAElG,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAChD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;IACxD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACvD;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linked-bundle.js","sourceRoot":"","sources":["../../../../source/linker/linked-bundle.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,uBAAuB,CAAwD,MAE9F;IACG,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvC,OAAO,QAAQ,CAAC,aAAa,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/linker/linker.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ResolvedBundle } from '../resource-resolver/resolved-bundle.ts';
|
|
2
2
|
import type { BundleSubstitutionSource, LinkedBundle } from './linked-bundle.ts';
|
|
3
3
|
export {};
|
|
4
4
|
//# sourceMappingURL=linker.d.ts.map
|
package/linker/linker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linker.d.ts","sourceRoot":"","sources":["../../../../source/linker/linker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"linker.d.ts","sourceRoot":"","sources":["../../../../source/linker/linker.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,yCAAyC;AAErG,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,oBAAoB"}
|
package/linker/linker.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { rootHasDeclarationFile } from "../resource-resolver/resolved-bundle.js";
|
|
1
2
|
import { substituteDependencies } from "./substitute-bundles.js";
|
|
2
3
|
import { createGraphFromResolvedBundle } from "./resource-graph.js";
|
|
3
4
|
function flattenRoots(roots) {
|
|
4
5
|
return Object.values(roots).flatMap((root) => {
|
|
5
|
-
if (root
|
|
6
|
+
if (rootHasDeclarationFile(root)) {
|
|
6
7
|
return [root.js.sourceFilePath, root.declarationFile.sourceFilePath];
|
|
7
8
|
}
|
|
8
9
|
return [root.js.sourceFilePath];
|
package/linker/linker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linker.js","sourceRoot":"","sources":["../../../../source/linker/linker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"linker.js","sourceRoot":"","sources":["../../../../source/linker/linker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAuB,MAAM,yCAAyC,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAWpE,SAAS,YAAY,CAAC,KAA8B;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO;QACH,KAAK,CAAC,UAAU,CAAC,OAAO;YACpB,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;YAC/C,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;YAEnF,OAAO;gBACH,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvD,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;aAC1B,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Maybe } from 'true-myth';
|
|
2
|
+
import { getPublicModuleSpecifierForSourcePath } from "../package-surface/public-specifiers.js";
|
|
3
|
+
function ownsSourcePath(file, bundle) {
|
|
4
|
+
return bundle.contents.some((content) => {
|
|
5
|
+
return content.fileDescription.sourceFilePath === file;
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
function findReplacement(file, bundleDependencies) {
|
|
9
|
+
for (const bundle of bundleDependencies) {
|
|
10
|
+
const targetPath = getPublicModuleSpecifierForSourcePath(bundle, file);
|
|
11
|
+
if (targetPath !== undefined) {
|
|
12
|
+
return Maybe.just({
|
|
13
|
+
targetPath,
|
|
14
|
+
packageName: bundle.name
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
if (ownsSourcePath(file, bundle)) {
|
|
18
|
+
throw new Error(`Package "${bundle.name}" does not expose "${file}" for cross-package substitution`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return Maybe.nothing();
|
|
22
|
+
}
|
|
23
|
+
export function findAllPathReplacements(files, bundleDependencies) {
|
|
24
|
+
const matched = files.flatMap((file) => {
|
|
25
|
+
const result = findReplacement(file, bundleDependencies);
|
|
26
|
+
if (!result.isJust) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
const { targetPath, packageName } = result.value;
|
|
30
|
+
return [{ file, targetPath, packageName }];
|
|
31
|
+
});
|
|
32
|
+
return {
|
|
33
|
+
importPathReplacements: new Map(matched.map((entry) => {
|
|
34
|
+
return [entry.file, entry.targetPath];
|
|
35
|
+
})),
|
|
36
|
+
bundleDependencies: matched.map((entry) => {
|
|
37
|
+
return entry.packageName;
|
|
38
|
+
})
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=replacement-lookup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replacement-lookup.js","sourceRoot":"","sources":["../../../../source/linker/replacement-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAahG,SAAS,cAAc,CAAC,IAAY,EAAE,MAAgC;IAClE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACpC,OAAO,OAAO,CAAC,eAAe,CAAC,cAAc,KAAK,IAAI,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,kBAAuD;IAC1F,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,qCAAqC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,IAAI,CAAC;gBACd,UAAU;gBACV,WAAW,EAAE,MAAM,CAAC,IAAI;aAC3B,CAAC,CAAC;QACP,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,IAAI,sBAAsB,IAAI,kCAAkC,CAAC,CAAC;QACzG,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,KAAwB,EACxB,kBAAuD;IAEvD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QACjD,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,sBAAsB,EAAE,IAAI,GAAG,CAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CACL;QACD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,OAAO,KAAK,CAAC,WAAW,CAAC;QAC7B,CAAC,CAAC;KACL,CAAC;AACN,CAAC"}
|
package/linker/resource-graph.js
CHANGED
|
@@ -15,7 +15,8 @@ export function createGraphFromResolvedBundle(bundle) {
|
|
|
15
15
|
fileDescription: resource.fileDescription,
|
|
16
16
|
externalDependencies,
|
|
17
17
|
project: resource.project,
|
|
18
|
-
isExplicitlyIncluded: resource.isExplicitlyIncluded
|
|
18
|
+
isExplicitlyIncluded: resource.isExplicitlyIncluded,
|
|
19
|
+
...(resource.isGeneratedManifest ? { isGeneratedManifest: true } : {})
|
|
19
20
|
});
|
|
20
21
|
}
|
|
21
22
|
for (const resource of bundle.contents) {
|
|
@@ -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;
|
|
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;AAcrF,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;YACnD,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,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,45 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getPublicModuleSpecifierForSourcePath } from "../package-surface/modules.js";
|
|
3
|
-
import { createSubstitutedResourceGraph } from "./substituted-resource-graph.js";
|
|
1
|
+
import { findAllPathReplacements } from "./replacement-lookup.js";
|
|
4
2
|
import { replaceImportPaths } from "./source-modifier/import-paths.js";
|
|
5
|
-
|
|
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
|
-
}
|
|
3
|
+
import { createSubstitutedResourceGraph } from "./substituted-resource-graph.js";
|
|
43
4
|
export function substituteDependencies(resourceGraph, bundleDependencies) {
|
|
44
5
|
const substitutedGraph = createSubstitutedResourceGraph();
|
|
45
6
|
const outstandingConnections = [];
|
|
@@ -69,7 +30,8 @@ export function substituteDependencies(resourceGraph, bundleDependencies) {
|
|
|
69
30
|
externalDependencies: node.data.externalDependencies,
|
|
70
31
|
bundleDependencies: isSubstituted ? replacements.bundleDependencies : [],
|
|
71
32
|
isSubstituted,
|
|
72
|
-
isExplicitlyIncluded: node.data.isExplicitlyIncluded
|
|
33
|
+
isExplicitlyIncluded: node.data.isExplicitlyIncluded,
|
|
34
|
+
...(node.data.isGeneratedManifest ? { isGeneratedManifest: true } : {})
|
|
73
35
|
});
|
|
74
36
|
});
|
|
75
37
|
for (const connection of outstandingConnections) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"substitute-bundles.js","sourceRoot":"","sources":["../../../../source/linker/substitute-bundles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"substitute-bundles.js","sourceRoot":"","sources":["../../../../source/linker/substitute-bundles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAqB,MAAM,yBAAyB,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAiC,MAAM,iCAAiC,CAAC;AAEhH,MAAM,UAAU,sBAAsB,CAClC,aAA4B,EAC5B,kBAAuD;IAEvD,MAAM,gBAAgB,GAAG,8BAA8B,EAAE,CAAC;IAC1D,MAAM,sBAAsB,GAAmC,EAAE,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,SAAS,4BAA4B,CACjC,UAAkB,EAClB,kBAAqC,EACrC,aAAkE;QAElE,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,sBAAsB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;IACL,CAAC;IAED,SAAS,uBAAuB,CAC5B,IAA6D,EAC7D,YAA0B;QAE1B,OAAO,kBAAkB,CACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,EACxC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EACjC,YAAY,CAAC,sBAAsB,CACtC,CAAC;IACN,CAAC;IAED,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAErB,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACrF,4BAA4B,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,YAAY,CAAC,sBAAsB,CAAC,CAAC;QAE/F,MAAM,aAAa,GAAG,YAAY,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5D,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YAC1B,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE;YAC1D,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB;YACpD,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;YACxE,aAAa;YACb,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB;YACpD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,UAAU,IAAI,sBAAsB,EAAE,CAAC;QAC9C,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}
|
|
@@ -26,7 +26,8 @@ function createFlattenCollectors() {
|
|
|
26
26
|
fileDescription: data.fileDescription,
|
|
27
27
|
directDependencies,
|
|
28
28
|
isSubstituted: data.isSubstituted,
|
|
29
|
-
isExplicitlyIncluded: data.isExplicitlyIncluded
|
|
29
|
+
isExplicitlyIncluded: data.isExplicitlyIncluded,
|
|
30
|
+
...(data.isGeneratedManifest ? { isGeneratedManifest: true } : {})
|
|
30
31
|
});
|
|
31
32
|
for (const bundleDependencyName of data.bundleDependencies) {
|
|
32
33
|
const bundleDependency = linkedBundleDependencies.get(bundleDependencyName);
|
|
@@ -1 +1 @@
|
|
|
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,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAgBjE,SAAS,oBAAoB,CACzB,sBAA8B,EAC9B,SAAiB,EACjB,kBAAuC;IAEvC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO;YACH,IAAI,EAAE,sBAAsB;YAC5B,cAAc,EAAE,CAAC,SAAS,CAAC;SAC9B,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,EAAE,sBAAsB;QAC5B,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;KAC5E,CAAC;AACN,CAAC;AAaD,SAAS,uBAAuB;IAC5B,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAA8B,CAAC;IACvE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA8B,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,SAAS,OAAO,CACZ,QAAgB,EAChB,IAAsC,EACtC,kBAAuC;QAEvC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC;YACV,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,kBAAkB;YAClB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"substituted-resource-graph.js","sourceRoot":"","sources":["../../../../source/linker/substituted-resource-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ArtifactsBuilder } from '../artifacts/artifacts-builder.ts';
|
|
2
|
+
import type { FileDescription } from '../file-manager/file-description.ts';
|
|
3
|
+
import type { FileManager } from '../file-manager/file-manager.ts';
|
|
4
|
+
import type { ArtifactSourcePackage } from '../published-package/published-package.ts';
|
|
5
|
+
import type { VendorEntry } from '../vendor-materializer/vendor-entry.ts';
|
|
6
|
+
export type PackFormat = 'folder' | 'tar' | 'zip';
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=pack-emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-emitter.d.ts","sourceRoot":"","sources":["../../../../source/pack-emitter/pack-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC;AAEzE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function createPackEmitter(dependencies) {
|
|
2
|
+
const { artifactsBuilder, fileManager } = dependencies;
|
|
3
|
+
async function packZip(options) {
|
|
4
|
+
const { zipData } = await artifactsBuilder.buildZip(options.bundle, options.extraFiles, options.vendorEntries);
|
|
5
|
+
await fileManager.writeBinaryFile(options.outputPath, zipData);
|
|
6
|
+
}
|
|
7
|
+
async function packTarball(options) {
|
|
8
|
+
const { tarData } = await artifactsBuilder.buildTarball(options.bundle, options.extraFiles, options.vendorEntries);
|
|
9
|
+
await fileManager.writeBinaryFile(options.outputPath, tarData);
|
|
10
|
+
}
|
|
11
|
+
async function packFolder(options) {
|
|
12
|
+
await artifactsBuilder.buildFolder(options.bundle, options.outputPath, options.extraFiles, options.vendorEntries);
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
async pack(options) {
|
|
16
|
+
if (options.format === 'zip') {
|
|
17
|
+
await packZip(options);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (options.format === 'tar') {
|
|
21
|
+
await packTarball(options);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
await packFolder(options);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=pack-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-emitter.js","sourceRoot":"","sources":["../../../../source/pack-emitter/pack-emitter.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,iBAAiB,CAAC,YAAqC;IACnE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAEvD,KAAK,UAAU,OAAO,CAAC,OAAoB;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/G,MAAM,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,OAAoB;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,YAAY,CACnD,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,CACxB,CAAC;QACF,MAAM,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,OAAoB;QAC1C,MAAM,gBAAgB,CAAC,WAAW,CAC9B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,aAAa,CACxB,CAAC;IACN,CAAC;IAED,OAAO;QACH,KAAK,CAAC,IAAI,CAAC,OAAO;YACd,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC3B,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvB,OAAO;YACX,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC3B,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3B,OAAO;YACX,CAAC;YACD,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { buildExplicitBinField } from "./explicit-bin.js";
|
|
2
|
+
import { buildImplicitBinField } from "./implicit-bin.js";
|
|
3
|
+
export function buildBinField(bundle) {
|
|
4
|
+
if (bundle.surface.mode === 'explicit') {
|
|
5
|
+
return buildExplicitBinField(bundle, bundle.surface);
|
|
6
|
+
}
|
|
7
|
+
return buildImplicitBinField(bundle);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=bin-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin-field.js","sourceRoot":"","sources":["../../../../source/package-surface/bin-field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,MAAM,UAAU,aAAa,CAAC,MAAyB;IACnD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { toImportTarget } from "./package-shape.js";
|
|
2
|
+
import { getRoot } from "./root-registry.js";
|
|
3
|
+
function isShebangContent(content) {
|
|
4
|
+
return content.startsWith('#!');
|
|
5
|
+
}
|
|
6
|
+
function validateShebangRoot(bundleName, entryName, root) {
|
|
7
|
+
if (!isShebangContent(root.js.content)) {
|
|
8
|
+
throw new Error(`Package "${bundleName}" bin "${entryName}" must point to a root with a shebang`);
|
|
9
|
+
}
|
|
10
|
+
return root;
|
|
11
|
+
}
|
|
12
|
+
function buildEntries(bundle, bins) {
|
|
13
|
+
return bins.map((entry) => {
|
|
14
|
+
const root = validateShebangRoot(bundle.name, entry.name, getRoot(bundle, entry.root));
|
|
15
|
+
return [entry.name, toImportTarget(root.js.targetFilePath)];
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export function buildExplicitBinField(bundle, surface) {
|
|
19
|
+
const { bins } = surface.packageInterface;
|
|
20
|
+
if (bins === undefined) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return Object.fromEntries(buildEntries(bundle, bins));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=explicit-bin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explicit-bin.js","sourceRoot":"","sources":["../../../../source/package-surface/explicit-bin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAmE,MAAM,oBAAoB,CAAC;AACrH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,SAAS,gBAAgB,CAAC,OAAe;IACrC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,SAAiB,EAAE,IAAyB;IACzF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,UAAU,SAAS,uCAAuC,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB,EAAE,IAAgB;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,MAAyB,EACzB,OAAwB;IAExB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { decorateWithPackageJsonExport } from "./package-json-export.js";
|
|
2
|
+
import { buildExportEntry } from "./package-shape.js";
|
|
3
|
+
import { getRoot } from "./root-registry.js";
|
|
4
|
+
function buildEntries(bundle, surface) {
|
|
5
|
+
return (surface.packageInterface.modules ?? []).map((entry) => {
|
|
6
|
+
return [entry.export, buildExportEntry(getRoot(bundle, entry.root))];
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
export function buildExplicitExportsField(bundle, surface) {
|
|
10
|
+
return decorateWithPackageJsonExport(bundle, Object.fromEntries(buildEntries(bundle, surface)));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=explicit-exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explicit-exports.js","sourceRoot":"","sources":["../../../../source/package-surface/explicit-exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAA2D,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,SAAS,YAAY,CACjB,MAA6B,EAC7B,OAAwB;IAExB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1D,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAiC,CAAC;IACzG,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,MAA6B,EAC7B,OAAwB;IAExB,OAAO,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { getRoot, isMatchingRootSourcePath } from "./root-registry.js";
|
|
2
|
+
import { toPackageSpecifier } from "./specifier-syntax.js";
|
|
3
|
+
function getMatchingExplicitModules(bundle, packageInterface, sourceFilePath) {
|
|
4
|
+
return (packageInterface.modules ?? []).filter((entry) => {
|
|
5
|
+
return isMatchingRootSourcePath(getRoot(bundle, entry.root), sourceFilePath);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
function isShorterExportKey(candidate, current) {
|
|
9
|
+
return candidate.length < current.length;
|
|
10
|
+
}
|
|
11
|
+
function selectPreferredExportKey(modules) {
|
|
12
|
+
const [firstMatch, ...remainingMatches] = modules;
|
|
13
|
+
if (firstMatch === undefined) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
let bestMatch = firstMatch.export;
|
|
17
|
+
for (const entry of remainingMatches) {
|
|
18
|
+
if (isShorterExportKey(entry.export, bestMatch)) {
|
|
19
|
+
bestMatch = entry.export;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return bestMatch;
|
|
23
|
+
}
|
|
24
|
+
export function getExplicitPublicModuleSpecifier(bundle, surface, sourceFilePath) {
|
|
25
|
+
const exportKey = selectPreferredExportKey(getMatchingExplicitModules(bundle, surface.packageInterface, sourceFilePath));
|
|
26
|
+
return exportKey === undefined ? undefined : toPackageSpecifier(bundle.name, exportKey);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=explicit-specifier-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explicit-specifier-build.js","sourceRoot":"","sources":["../../../../source/package-surface/explicit-specifier-build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK3D,SAAS,0BAA0B,CAC/B,MAA2B,EAC3B,gBAA0C,EAC1C,cAAsB;IAEtB,OAAO,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACrD,OAAO,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,OAAe;IAC1D,OAAO,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAC7C,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAsB;IACpD,MAAM,CAAC,UAAU,EAAE,GAAG,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACnC,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;YAC9C,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC5C,MAA2B,EAC3B,OAAwB,EACxB,cAAsB;IAEtB,MAAM,SAAS,GAAG,wBAAwB,CACtC,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAC/E,CAAC;IACF,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC5F,CAAC"}
|