packtory 0.0.8 → 0.0.9
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 +7 -5
- package/artifacts/artifacts-builder.d.ts.map +1 -1
- package/artifacts/artifacts-builder.js +47 -18
- package/artifacts/artifacts-builder.js.map +1 -1
- package/bundle-emitter/emitter.d.ts +12 -2
- package/bundle-emitter/emitter.d.ts.map +1 -1
- package/bundle-emitter/emitter.js +11 -6
- package/bundle-emitter/emitter.js.map +1 -1
- package/bundle-emitter/extract-package-tarball.js +1 -2
- package/bundle-emitter/extract-package-tarball.js.map +1 -1
- package/bundle-emitter/publish-settings-bridge.js +133 -0
- package/bundle-emitter/publish-settings-bridge.js.map +1 -0
- package/bundle-emitter/registry-client.d.ts +13 -6
- package/bundle-emitter/registry-client.d.ts.map +1 -1
- package/bundle-emitter/registry-client.js +217 -45
- package/bundle-emitter/registry-client.js.map +1 -1
- package/bundle-emitter/repository-coherence.js +54 -0
- package/bundle-emitter/repository-coherence.js.map +1 -0
- package/bundle-emitter/repository-url-normalizer.js +38 -0
- package/bundle-emitter/repository-url-normalizer.js.map +1 -0
- package/checks/check-runner.js +3 -9
- package/checks/check-runner.js.map +1 -1
- package/checks/rule.js +13 -0
- package/checks/rule.js.map +1 -0
- package/checks/rules/max-bundle-size.js +44 -0
- package/checks/rules/max-bundle-size.js.map +1 -0
- package/checks/rules/no-dev-dependency-imports.js +37 -0
- package/checks/rules/no-dev-dependency-imports.js.map +1 -0
- package/checks/rules/no-duplicated-files.js +102 -27
- package/checks/rules/no-duplicated-files.js.map +1 -1
- package/checks/rules/no-side-effects.js +51 -0
- package/checks/rules/no-side-effects.js.map +1 -0
- package/checks/rules/no-unused-bundle-dependencies.js +33 -0
- package/checks/rules/no-unused-bundle-dependencies.js.map +1 -0
- package/checks/rules/registry.js +17 -0
- package/checks/rules/registry.js.map +1 -0
- package/checks/rules/required-files.js +41 -0
- package/checks/rules/required-files.js.map +1 -0
- package/checks/rules/unique-target-paths.js +34 -0
- package/checks/rules/unique-target-paths.js.map +1 -0
- package/common/clock.d.ts +7 -0
- package/common/clock.d.ts.map +1 -0
- package/common/clock.js +11 -0
- package/common/clock.js.map +1 -0
- package/common/code-files.js +5 -0
- package/common/code-files.js.map +1 -0
- package/config/additional-package-json-attributes-schema.js +7 -0
- package/config/additional-package-json-attributes-schema.js.map +1 -0
- package/config/automatic-versioning-settings.js +7 -0
- package/config/automatic-versioning-settings.js.map +1 -0
- package/config/checks-schema.d.ts +74 -0
- package/config/checks-schema.d.ts.map +1 -0
- package/config/checks-schema.js +27 -0
- package/config/checks-schema.js.map +1 -0
- package/config/common-package-settings-schemas.js +20 -0
- package/config/common-package-settings-schemas.js.map +1 -0
- package/config/config.d.ts +16 -704
- package/config/config.d.ts.map +1 -1
- package/config/config.js +3 -71
- package/config/config.js.map +1 -1
- package/config/dead-code-elimination-settings.d.ts +6 -0
- package/config/dead-code-elimination-settings.d.ts.map +1 -0
- package/config/dead-code-elimination-settings.js +5 -0
- package/config/dead-code-elimination-settings.js.map +1 -0
- package/config/dependency-policy.d.ts +6 -0
- package/config/dependency-policy.d.ts.map +1 -0
- package/config/dependency-policy.js +6 -0
- package/config/dependency-policy.js.map +1 -0
- package/config/main-package-json-schema.js +14 -0
- package/config/main-package-json-schema.js.map +1 -0
- package/config/manual-versioning-settings.js +7 -0
- package/config/manual-versioning-settings.js.map +1 -0
- package/config/optional-package-settings-schema.js +15 -0
- package/config/optional-package-settings-schema.js.map +1 -0
- package/config/package-config.d.ts +49 -0
- package/config/package-config.d.ts.map +1 -0
- package/config/package-config.js +7 -0
- package/config/package-config.js.map +1 -0
- package/config/package-interface.d.ts +34 -0
- package/config/package-interface.d.ts.map +1 -0
- package/config/package-interface.js +26 -0
- package/config/package-interface.js.map +1 -0
- package/config/package-json.d.ts +11 -10
- package/config/package-json.d.ts.map +1 -1
- package/config/package-json.js +11 -19
- package/config/package-json.js.map +1 -1
- package/config/package-schemas.js +10 -0
- package/config/package-schemas.js.map +1 -0
- package/config/packtory-config-schema.js +7 -0
- package/config/packtory-config-schema.js.map +1 -0
- package/config/packtory-config-without-registry-schema.js +32 -0
- package/config/packtory-config-without-registry-schema.js.map +1 -0
- package/config/per-package-settings-schema.js +22 -0
- package/config/per-package-settings-schema.js.map +1 -0
- package/config/publish-settings.d.ts +22 -0
- package/config/publish-settings.d.ts.map +1 -0
- package/config/publish-settings.js +26 -0
- package/config/publish-settings.js.map +1 -0
- package/config/publish-settings.report.js +17 -0
- package/config/publish-settings.report.js.map +1 -0
- package/config/registry-settings.d.ts +83 -1
- package/config/registry-settings.d.ts.map +1 -1
- package/config/registry-settings.js +35 -1
- package/config/registry-settings.js.map +1 -1
- package/config/registry-settings.report.js +41 -0
- package/config/registry-settings.report.js.map +1 -0
- package/config/root.d.ts +7 -0
- package/config/root.d.ts.map +1 -0
- package/config/{entry-point.js → root.js} +2 -2
- package/config/root.js.map +1 -0
- package/config/sbom-settings.js +5 -0
- package/config/sbom-settings.js.map +1 -0
- package/config/validation.d.ts +2 -2
- package/config/validation.d.ts.map +1 -1
- package/config/validation.js +155 -37
- package/config/validation.js.map +1 -1
- package/config/versioning-settings.d.ts.map +1 -1
- package/config/versioning-settings.js +2 -9
- package/config/versioning-settings.js.map +1 -1
- package/dead-code-eliminator/analyzed-bundle.d.ts +27 -0
- package/dead-code-eliminator/analyzed-bundle.d.ts.map +1 -0
- package/dead-code-eliminator/analyzed-bundle.js +8 -0
- package/dead-code-eliminator/analyzed-bundle.js.map +1 -0
- package/dead-code-eliminator/cross-bundle/cross-bundle-seeds.js +126 -0
- package/dead-code-eliminator/cross-bundle/cross-bundle-seeds.js.map +1 -0
- package/dead-code-eliminator/elimination-emitter.js +53 -0
- package/dead-code-eliminator/elimination-emitter.js.map +1 -0
- package/dead-code-eliminator/eliminator.js +141 -0
- package/dead-code-eliminator/eliminator.js.map +1 -0
- package/dead-code-eliminator/load-bundle.js +52 -0
- package/dead-code-eliminator/load-bundle.js.map +1 -0
- package/dead-code-eliminator/reachability/binding-extractor.js +88 -0
- package/dead-code-eliminator/reachability/binding-extractor.js.map +1 -0
- package/dead-code-eliminator/reachability/impure-statements.js +12 -0
- package/dead-code-eliminator/reachability/impure-statements.js.map +1 -0
- package/dead-code-eliminator/reachability/reachability.js +141 -0
- package/dead-code-eliminator/reachability/reachability.js.map +1 -0
- package/dead-code-eliminator/side-effect-classifier.js +289 -0
- package/dead-code-eliminator/side-effect-classifier.js.map +1 -0
- package/dead-code-eliminator/side-effects-field.js +25 -0
- package/dead-code-eliminator/side-effects-field.js.map +1 -0
- package/dead-code-eliminator/transform/atom-translator.js +13 -0
- package/dead-code-eliminator/transform/atom-translator.js.map +1 -0
- package/dead-code-eliminator/transform/declaration-remover.js +92 -0
- package/dead-code-eliminator/transform/declaration-remover.js.map +1 -0
- package/dead-code-eliminator/transform/line-index.js +27 -0
- package/dead-code-eliminator/transform/line-index.js.map +1 -0
- package/dead-code-eliminator/transform/source-map-composer.js +68 -0
- package/dead-code-eliminator/transform/source-map-composer.js.map +1 -0
- package/dependency-scanner/dependency-graph.d.ts +1 -1
- package/dependency-scanner/dependency-graph.d.ts.map +1 -1
- package/dependency-scanner/dependency-graph.js +5 -7
- package/dependency-scanner/dependency-graph.js.map +1 -1
- package/dependency-scanner/external-dependencies.js +2 -2
- package/dependency-scanner/external-dependencies.js.map +1 -1
- package/dependency-scanner/scanner.d.ts +7 -7
- package/dependency-scanner/scanner.d.ts.map +1 -1
- package/dependency-scanner/scanner.js +9 -14
- package/dependency-scanner/scanner.js.map +1 -1
- package/dependency-scanner/source-file-references.js +3 -48
- package/dependency-scanner/source-file-references.js.map +1 -1
- package/dependency-scanner/source-map-file-locator.d.ts.map +1 -1
- package/dependency-scanner/source-map-file-locator.js +10 -3
- package/dependency-scanner/source-map-file-locator.js.map +1 -1
- package/dependency-scanner/typescript-file-host.d.ts +2 -0
- package/dependency-scanner/typescript-file-host.d.ts.map +1 -1
- package/dependency-scanner/typescript-file-host.js +99 -32
- package/dependency-scanner/typescript-file-host.js.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.d.ts +4 -5
- package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.js +5 -17
- package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
- package/directed-graph/graph.d.ts +1 -1
- package/directed-graph/graph.d.ts.map +1 -1
- package/directed-graph/graph.js +132 -97
- package/directed-graph/graph.js.map +1 -1
- package/file-manager/compare.js +11 -9
- package/file-manager/compare.js.map +1 -1
- package/file-manager/file-manager.d.ts +1 -1
- package/file-manager/file-manager.d.ts.map +1 -1
- package/file-manager/file-manager.js +7 -1
- package/file-manager/file-manager.js.map +1 -1
- package/file-manager/permissions.js +20 -6
- package/file-manager/permissions.js.map +1 -1
- package/linker/linked-bundle.d.ts +5 -3
- package/linker/linked-bundle.d.ts.map +1 -1
- package/linker/linker.d.ts.map +1 -1
- package/linker/linker.js +8 -7
- package/linker/linker.js.map +1 -1
- package/linker/resource-graph.js +5 -8
- package/linker/resource-graph.js.map +1 -1
- package/linker/source-modifier/import-paths.js +1 -12
- package/linker/source-modifier/import-paths.js.map +1 -1
- package/linker/substitute-bundles.js +55 -48
- package/linker/substitute-bundles.js.map +1 -1
- package/linker/substituted-resource-graph.js +5 -8
- package/linker/substituted-resource-graph.js.map +1 -1
- package/npm-oidc-id-token-resolver.js +56 -0
- package/npm-oidc-id-token-resolver.js.map +1 -0
- package/package-surface/modules.js +307 -0
- package/package-surface/modules.js.map +1 -0
- package/package-surface/public-module-usage.js +37 -0
- package/package-surface/public-module-usage.js.map +1 -0
- package/package-surface/surface.d.ts +14 -0
- package/package-surface/surface.d.ts.map +1 -0
- package/package-surface/surface.js +16 -0
- package/package-surface/surface.js.map +1 -0
- package/package.json +13 -9
- package/packages/package-processor.composition.js +127 -0
- package/packages/package-processor.composition.js.map +1 -0
- package/packages/packtory/packtory.entry-point.d.ts +10 -5
- package/packages/packtory/packtory.entry-point.d.ts.map +1 -1
- package/packages/packtory/packtory.entry-point.js +7 -43
- package/packages/packtory/packtory.entry-point.js.map +1 -1
- package/packtory/map-config.d.ts +7 -16
- package/packtory/map-config.d.ts.map +1 -1
- package/packtory/map-config.js +5 -60
- package/packtory/map-config.js.map +1 -1
- package/packtory/normalize-paths.js +2 -2
- package/packtory/normalize-paths.js.map +1 -1
- package/packtory/package-processor-build.js +75 -0
- package/packtory/package-processor-build.js.map +1 -0
- package/packtory/package-processor-publish.d.ts +29 -0
- package/packtory/package-processor-publish.d.ts.map +1 -0
- package/packtory/package-processor-publish.js +134 -0
- package/packtory/package-processor-publish.js.map +1 -0
- package/packtory/package-processor.d.ts +17 -21
- package/packtory/package-processor.d.ts.map +1 -1
- package/packtory/package-processor.js +6 -81
- package/packtory/package-processor.js.map +1 -1
- package/packtory/packtory-publish.js +66 -0
- package/packtory/packtory-publish.js.map +1 -0
- package/packtory/packtory-resolve.js +77 -0
- package/packtory/packtory-resolve.js.map +1 -0
- package/packtory/packtory-results.d.ts +47 -0
- package/packtory/packtory-results.d.ts.map +1 -0
- package/packtory/packtory-results.js +16 -0
- package/packtory/packtory-results.js.map +1 -0
- package/packtory/packtory.d.ts +16 -37
- package/packtory/packtory.d.ts.map +1 -1
- package/packtory/packtory.js +33 -114
- package/packtory/packtory.js.map +1 -1
- package/packtory/prepare-package-options.d.ts +28 -0
- package/packtory/prepare-package-options.d.ts.map +1 -0
- package/packtory/prepare-package-options.js +122 -0
- package/packtory/prepare-package-options.js.map +1 -0
- package/packtory/report-attachment.js +25 -0
- package/packtory/report-attachment.js.map +1 -0
- package/packtory/resolved-package.d.ts +17 -0
- package/packtory/resolved-package.d.ts.map +1 -0
- package/packtory/resolved-package.js +35 -0
- package/packtory/resolved-package.js.map +1 -0
- package/packtory/scheduler.d.ts.map +1 -1
- package/packtory/scheduler.js +17 -15
- package/packtory/scheduler.js.map +1 -1
- package/progress/progress-broadcaster.d.ts +128 -5
- package/progress/progress-broadcaster.d.ts.map +1 -1
- package/progress/progress-broadcaster.js +37 -8
- package/progress/progress-broadcaster.js.map +1 -1
- package/report/artifact-entry-merger.js +22 -0
- package/report/artifact-entry-merger.js.map +1 -0
- package/report/config-redactor.js +27 -0
- package/report/config-redactor.js.map +1 -0
- package/report/decorators.js +68 -0
- package/report/decorators.js.map +1 -0
- package/report/inspectors.js +74 -0
- package/report/inspectors.js.map +1 -0
- package/report/report-aggregator.d.ts +61 -0
- package/report/report-aggregator.d.ts.map +1 -0
- package/report/report-aggregator.js +187 -0
- package/report/report-aggregator.js.map +1 -0
- package/resource-resolver/content.js +14 -0
- package/resource-resolver/content.js.map +1 -1
- package/resource-resolver/resolved-bundle.d.ts +4 -2
- package/resource-resolver/resolved-bundle.d.ts.map +1 -1
- package/resource-resolver/resource-resolve-options.d.ts +12 -5
- package/resource-resolver/resource-resolve-options.d.ts.map +1 -1
- package/resource-resolver/resource-resolve-options.js +14 -0
- package/resource-resolver/resource-resolve-options.js.map +1 -0
- package/resource-resolver/resource-resolver.d.ts +1 -1
- package/resource-resolver/resource-resolver.d.ts.map +1 -1
- package/resource-resolver/resource-resolver.js +37 -22
- package/resource-resolver/resource-resolver.js.map +1 -1
- package/sbom/extract-license.js +12 -0
- package/sbom/extract-license.js.map +1 -0
- package/sbom/license-resolver.d.ts +14 -0
- package/sbom/license-resolver.d.ts.map +1 -0
- package/sbom/license-resolver.js +22 -0
- package/sbom/license-resolver.js.map +1 -0
- package/sbom/sbom-builder.js +68 -0
- package/sbom/sbom-builder.js.map +1 -0
- package/sbom/sbom-file.d.ts +19 -0
- package/sbom/sbom-file.d.ts.map +1 -0
- package/sbom/sbom-file.js +57 -0
- package/sbom/sbom-file.js.map +1 -0
- package/sbom/sbom-serializer.d.ts +6 -0
- package/sbom/sbom-serializer.d.ts.map +1 -0
- package/sbom/sbom-serializer.js +11 -0
- package/sbom/sbom-serializer.js.map +1 -0
- package/sbom/tool-version.js +44 -0
- package/sbom/tool-version.js.map +1 -0
- package/tar/extract-tar.js +28 -3
- package/tar/extract-tar.js.map +1 -1
- package/tar/tarball-builder.d.ts.map +1 -1
- package/tar/tarball-builder.js +10 -7
- package/tar/tarball-builder.js.map +1 -1
- package/version-manager/manager.d.ts +5 -1
- package/version-manager/manager.d.ts.map +1 -1
- package/version-manager/manager.js +9 -1
- package/version-manager/manager.js.map +1 -1
- package/version-manager/manifest/builder.js +52 -6
- package/version-manager/manifest/builder.js.map +1 -1
- package/version-manager/manifest/serialize.js +31 -39
- package/version-manager/manifest/serialize.js.map +1 -1
- package/version-manager/manifest/sort-values.js +17 -0
- package/version-manager/manifest/sort-values.js.map +1 -0
- package/version-manager/specifier-classifier.js +35 -0
- package/version-manager/specifier-classifier.js.map +1 -0
- package/version-manager/specifier-errors.js +44 -0
- package/version-manager/specifier-errors.js.map +1 -0
- package/version-manager/versioned-bundle-dependencies.js +112 -0
- package/version-manager/versioned-bundle-dependencies.js.map +1 -0
- package/version-manager/versioned-bundle-imports.d.ts +5 -0
- package/version-manager/versioned-bundle-imports.d.ts.map +1 -0
- package/version-manager/versioned-bundle-imports.js +75 -0
- package/version-manager/versioned-bundle-imports.js.map +1 -0
- package/version-manager/versioned-bundle.d.ts +16 -8
- package/version-manager/versioned-bundle.d.ts.map +1 -1
- package/version-manager/versioned-bundle.js +48 -62
- package/version-manager/versioned-bundle.js.map +1 -1
- package/config/entry-point.d.ts +0 -7
- package/config/entry-point.d.ts.map +0 -1
- package/config/entry-point.js.map +0 -1
- package/file-manager/sort.js +0 -13
- package/file-manager/sort.js.map +0 -1
- package/list/unique-list.js +0 -5
- package/list/unique-list.js.map +0 -1
- package/version-manager/manifest/builder.d.ts +0 -5
- package/version-manager/manifest/builder.d.ts.map +0 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
function assertEsmMainPackageJson(mainPackageJson) {
|
|
2
|
+
if (mainPackageJson.type !== 'module') {
|
|
3
|
+
throw new Error('mainPackageJson.type must be "module"');
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
function determineBuildVersion(currentVersion, options) {
|
|
7
|
+
if (currentVersion.isJust) {
|
|
8
|
+
return currentVersion.value;
|
|
9
|
+
}
|
|
10
|
+
if (!options.versioning.automatic) {
|
|
11
|
+
return options.versioning.version;
|
|
12
|
+
}
|
|
13
|
+
return options.versioning.minimumVersion ?? '0.0.0';
|
|
14
|
+
}
|
|
15
|
+
function shouldIncreaseVersion(currentVersion, options) {
|
|
16
|
+
if (!options.versioning.automatic) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
return currentVersion.isJust || options.versioning.minimumVersion === undefined;
|
|
20
|
+
}
|
|
21
|
+
function inferVersionTrigger(currentVersion, options, didBump) {
|
|
22
|
+
if (didBump) {
|
|
23
|
+
return 'auto-patch-bump';
|
|
24
|
+
}
|
|
25
|
+
if (!options.versioning.automatic) {
|
|
26
|
+
return 'pinned';
|
|
27
|
+
}
|
|
28
|
+
if (currentVersion.isJust) {
|
|
29
|
+
return 'auto-patch-bump';
|
|
30
|
+
}
|
|
31
|
+
if (options.versioning.minimumVersion !== undefined) {
|
|
32
|
+
return 'minimum';
|
|
33
|
+
}
|
|
34
|
+
return 'initial';
|
|
35
|
+
}
|
|
36
|
+
function siblingsFromOptions(buildOptions) {
|
|
37
|
+
return [...buildOptions.bundleDependencies, ...buildOptions.bundlePeerDependencies];
|
|
38
|
+
}
|
|
39
|
+
export function createPublishOperations(dependencies) {
|
|
40
|
+
async function buildVersionedBundle(analyzedBundle, options, substitutionPublicModuleSourcePaths) {
|
|
41
|
+
assertEsmMainPackageJson(options.mainPackageJson);
|
|
42
|
+
const currentVersion = await dependencies.bundleEmitter.determineCurrentVersion({
|
|
43
|
+
name: analyzedBundle.name,
|
|
44
|
+
registrySettings: options.registrySettings,
|
|
45
|
+
versioning: options.versioning
|
|
46
|
+
});
|
|
47
|
+
const version = determineBuildVersion(currentVersion, options);
|
|
48
|
+
dependencies.progressBroadcaster.emit('building', { packageName: options.name, version });
|
|
49
|
+
const versionedBundle = dependencies.versionManager.addVersion({
|
|
50
|
+
bundle: analyzedBundle,
|
|
51
|
+
...options,
|
|
52
|
+
version,
|
|
53
|
+
substitutionPublicModuleSourcePaths
|
|
54
|
+
});
|
|
55
|
+
return { versionedBundle, currentVersion, version };
|
|
56
|
+
}
|
|
57
|
+
function emitVersionDetermined(args) {
|
|
58
|
+
if (!dependencies.progressBroadcaster.hasSubscribers('versionDetermined')) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
dependencies.progressBroadcaster.emit('versionDetermined', {
|
|
62
|
+
packageName: args.options.name,
|
|
63
|
+
previousVersion: args.currentVersion.isJust ? args.currentVersion.value : undefined,
|
|
64
|
+
chosenVersion: args.chosenVersion,
|
|
65
|
+
trigger: inferVersionTrigger(args.currentVersion, args.options, args.didBump)
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function finalizeWithoutBump(buildContext, options, status) {
|
|
69
|
+
emitVersionDetermined({
|
|
70
|
+
options,
|
|
71
|
+
currentVersion: buildContext.currentVersion,
|
|
72
|
+
chosenVersion: buildContext.versionedBundle.version,
|
|
73
|
+
didBump: false
|
|
74
|
+
});
|
|
75
|
+
return { bundle: buildContext.versionedBundle, status };
|
|
76
|
+
}
|
|
77
|
+
async function bumpVersion(buildContext, options) {
|
|
78
|
+
dependencies.progressBroadcaster.emit('rebuilding', {
|
|
79
|
+
packageName: options.name,
|
|
80
|
+
version: buildContext.version
|
|
81
|
+
});
|
|
82
|
+
const newVersionedBundle = dependencies.versionManager.increaseVersion(buildContext.versionedBundle);
|
|
83
|
+
emitVersionDetermined({
|
|
84
|
+
options,
|
|
85
|
+
currentVersion: buildContext.currentVersion,
|
|
86
|
+
chosenVersion: newVersionedBundle.version,
|
|
87
|
+
didBump: true
|
|
88
|
+
});
|
|
89
|
+
return newVersionedBundle;
|
|
90
|
+
}
|
|
91
|
+
async function generateExtraFiles(versionedBundle, buildOptions) {
|
|
92
|
+
return dependencies.sbomFileBuilder.generate(versionedBundle, siblingsFromOptions(buildOptions), buildOptions.publishSettings);
|
|
93
|
+
}
|
|
94
|
+
async function tryBuildAndPublish(options) {
|
|
95
|
+
const buildContext = await buildVersionedBundle(options.analyzedBundle, options.buildOptions, options.substitutionPublicModuleSourcePaths);
|
|
96
|
+
const extraFiles = await generateExtraFiles(buildContext.versionedBundle, options.buildOptions);
|
|
97
|
+
const alreadyPublished = await dependencies.bundleEmitter.checkBundleAlreadyPublished({
|
|
98
|
+
bundle: buildContext.versionedBundle,
|
|
99
|
+
registrySettings: options.buildOptions.registrySettings,
|
|
100
|
+
...(extraFiles === undefined ? {} : { extraFiles })
|
|
101
|
+
});
|
|
102
|
+
if (alreadyPublished.alreadyPublishedAsLatest) {
|
|
103
|
+
return finalizeWithoutBump(buildContext, options.buildOptions, 'already-published');
|
|
104
|
+
}
|
|
105
|
+
if (!shouldIncreaseVersion(buildContext.currentVersion, options.buildOptions)) {
|
|
106
|
+
return finalizeWithoutBump(buildContext, options.buildOptions, buildContext.currentVersion.isJust ? 'new-version' : 'initial-version');
|
|
107
|
+
}
|
|
108
|
+
const newVersionedBundle = await bumpVersion(buildContext, options.buildOptions);
|
|
109
|
+
return {
|
|
110
|
+
bundle: newVersionedBundle,
|
|
111
|
+
status: buildContext.currentVersion.isJust ? 'new-version' : 'initial-version'
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
async function buildAndPublish(options) {
|
|
115
|
+
const result = await tryBuildAndPublish(options);
|
|
116
|
+
if (result.status === 'already-published') {
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
119
|
+
dependencies.progressBroadcaster.emit('publishing', {
|
|
120
|
+
packageName: options.buildOptions.name,
|
|
121
|
+
version: result.bundle.version
|
|
122
|
+
});
|
|
123
|
+
const extraFiles = await generateExtraFiles(result.bundle, options.buildOptions);
|
|
124
|
+
await dependencies.bundleEmitter.publish({
|
|
125
|
+
bundle: result.bundle,
|
|
126
|
+
registrySettings: options.buildOptions.registrySettings,
|
|
127
|
+
publishSettings: options.buildOptions.publishSettings,
|
|
128
|
+
...(extraFiles === undefined ? {} : { extraFiles })
|
|
129
|
+
});
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
132
|
+
return { buildAndPublish, tryBuildAndPublish };
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=package-processor-publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-processor-publish.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,28 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DeadCodeEliminator } from '../dead-code-eliminator/analyzed-bundle.ts';
|
|
2
|
+
import type { BundleEmitter } from '../bundle-emitter/emitter.ts';
|
|
2
3
|
import type { BundleLinker } from '../linker/linker.ts';
|
|
4
|
+
import type { ProgressBroadcastProvider } from '../progress/progress-broadcaster.ts';
|
|
3
5
|
import type { ResourceResolver } from '../resource-resolver/resource-resolver.ts';
|
|
4
|
-
import type {
|
|
6
|
+
import type { SbomFileBuilder } from '../sbom/sbom-file.ts';
|
|
5
7
|
import type { VersionManager } from '../version-manager/manager.ts';
|
|
6
|
-
import type {
|
|
7
|
-
import type
|
|
8
|
-
|
|
9
|
-
export type
|
|
10
|
-
|
|
11
|
-
readonly bundle: VersionedBundleWithManifest;
|
|
12
|
-
};
|
|
13
|
-
export type DetermineVersionAndPublishOptions = {
|
|
14
|
-
readonly linkedBundle: LinkedBundle;
|
|
15
|
-
readonly buildOptions: BuildAndPublishOptions;
|
|
16
|
-
};
|
|
17
|
-
export type PackageProcessor = {
|
|
18
|
-
resolveAndLink: (options: ResolveAndLinkOptions) => Promise<LinkedBundle>;
|
|
19
|
-
build: (options: BuildOptions) => Promise<VersionedBundleWithManifest>;
|
|
20
|
-
buildAndPublish: (options: DetermineVersionAndPublishOptions) => Promise<BuildAndPublishResult>;
|
|
21
|
-
tryBuildAndPublish: (options: DetermineVersionAndPublishOptions) => Promise<BuildAndPublishResult>;
|
|
22
|
-
};
|
|
23
|
-
type PackageProcessorDependencies = {
|
|
8
|
+
import type { BuildOptions, ResolveAndLinkOptions } from './map-config.ts';
|
|
9
|
+
import { type BuildAndPublishResult as PublishBuildAndPublishResult, type DetermineVersionAndPublishOptions as PublishDetermineVersionAndPublishOptions } from './package-processor-publish.ts';
|
|
10
|
+
export type BuildAndPublishResult = PublishBuildAndPublishResult;
|
|
11
|
+
export type DetermineVersionAndPublishOptions = PublishDetermineVersionAndPublishOptions;
|
|
12
|
+
export type PackageProcessorDependencies = {
|
|
24
13
|
readonly progressBroadcaster: ProgressBroadcastProvider;
|
|
25
14
|
readonly versionManager: VersionManager;
|
|
26
15
|
readonly bundleEmitter: BundleEmitter;
|
|
27
16
|
readonly linker: BundleLinker;
|
|
28
17
|
readonly resourceResolver: ResourceResolver;
|
|
18
|
+
readonly sbomFileBuilder: SbomFileBuilder;
|
|
19
|
+
readonly deadCodeEliminator: DeadCodeEliminator;
|
|
20
|
+
};
|
|
21
|
+
export type PackageProcessor = {
|
|
22
|
+
resolveAndLink: (options: ResolveAndLinkOptions) => Promise<Awaited<ReturnType<BundleLinker['linkBundle']>>>;
|
|
23
|
+
build: (options: BuildOptions) => Promise<Awaited<ReturnType<VersionManager['addVersion']>>>;
|
|
24
|
+
buildAndPublish: (options: DetermineVersionAndPublishOptions) => Promise<BuildAndPublishResult>;
|
|
25
|
+
tryBuildAndPublish: (options: DetermineVersionAndPublishOptions) => Promise<BuildAndPublishResult>;
|
|
29
26
|
};
|
|
30
27
|
export declare function createPackageProcessor(dependencies: PackageProcessorDependencies): PackageProcessor;
|
|
31
|
-
export {};
|
|
32
28
|
//# sourceMappingURL=package-processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-processor.d.ts","sourceRoot":"","sources":["../../../../source/packtory/package-processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-processor.d.ts","sourceRoot":"","sources":["../../../../source/packtory/package-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAEH,KAAK,qBAAqB,IAAI,4BAA4B,EAC1D,KAAK,iCAAiC,IAAI,wCAAwC,EACrF,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AACjE,MAAM,MAAM,iCAAiC,GAAG,wCAAwC,CAAC;AAEzF,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;IACxD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,cAAc,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,eAAe,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChG,kBAAkB,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACtG,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,4BAA4B,GAAG,gBAAgB,CAQnG"}
|
|
@@ -1,86 +1,11 @@
|
|
|
1
|
+
import { createResolveAndBuildOperations } from "./package-processor-build.js";
|
|
2
|
+
import { createPublishOperations } from "./package-processor-publish.js";
|
|
1
3
|
export function createPackageProcessor(dependencies) {
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
progressBroadcaster.emit('resolving', { packageName: options.name });
|
|
5
|
-
const resolvedBundle = await resourceResolver.resolve(options);
|
|
6
|
-
progressBroadcaster.emit('linking', { packageName: options.name });
|
|
7
|
-
const linkedBundle = await linker.linkBundle({
|
|
8
|
-
bundle: resolvedBundle,
|
|
9
|
-
bundleDependencies: [...options.bundleDependencies, ...options.bundlePeerDependencies]
|
|
10
|
-
});
|
|
11
|
-
return linkedBundle;
|
|
12
|
-
}
|
|
13
|
-
async function buildVersionedBundle(linkedBundle, options) {
|
|
14
|
-
const currentVersion = await bundleEmitter.determineCurrentVersion({
|
|
15
|
-
name: linkedBundle.name,
|
|
16
|
-
registrySettings: options.registrySettings,
|
|
17
|
-
versioning: options.versioning
|
|
18
|
-
});
|
|
19
|
-
const version = currentVersion.unwrapOr('0.0.0');
|
|
20
|
-
progressBroadcaster.emit('building', { packageName: options.name, version });
|
|
21
|
-
const versionedBundle = versionManager.addVersion({ bundle: linkedBundle, ...options, version });
|
|
22
|
-
return { versionedBundle, currentVersion, version };
|
|
23
|
-
}
|
|
24
|
-
async function tryBuildAndPublish(options) {
|
|
25
|
-
const buildContext = await buildVersionedBundle(options.linkedBundle, options.buildOptions);
|
|
26
|
-
const result = await bundleEmitter.checkBundleAlreadyPublished({
|
|
27
|
-
bundle: buildContext.versionedBundle,
|
|
28
|
-
registrySettings: options.buildOptions.registrySettings
|
|
29
|
-
});
|
|
30
|
-
if (result.alreadyPublishedAsLatest) {
|
|
31
|
-
return { bundle: buildContext.versionedBundle, status: 'already-published' };
|
|
32
|
-
}
|
|
33
|
-
progressBroadcaster.emit('rebuilding', {
|
|
34
|
-
packageName: options.buildOptions.name,
|
|
35
|
-
version: buildContext.version
|
|
36
|
-
});
|
|
37
|
-
const newVersionedBundle = versionManager.increaseVersion(buildContext.versionedBundle);
|
|
38
|
-
return {
|
|
39
|
-
bundle: newVersionedBundle,
|
|
40
|
-
status: buildContext.currentVersion.isJust ? 'new-version' : 'initial-version'
|
|
41
|
-
};
|
|
42
|
-
}
|
|
4
|
+
const resolveAndBuildOperations = createResolveAndBuildOperations(dependencies);
|
|
5
|
+
const publishOperations = createPublishOperations(dependencies);
|
|
43
6
|
return {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const { bundleDependencies, bundlePeerDependencies, entryPoints, includeSourceMapFiles, additionalFiles, moduleResolution, name, sourcesFolder } = options;
|
|
47
|
-
const linkedBundle = await resolveAndLink({
|
|
48
|
-
name,
|
|
49
|
-
sourcesFolder,
|
|
50
|
-
entryPoints,
|
|
51
|
-
includeSourceMapFiles,
|
|
52
|
-
additionalFiles,
|
|
53
|
-
moduleResolution,
|
|
54
|
-
mainPackageJson: options.mainPackageJson,
|
|
55
|
-
additionalPackageJsonAttributes: options.additionalPackageJsonAttributes,
|
|
56
|
-
bundleDependencies,
|
|
57
|
-
bundlePeerDependencies
|
|
58
|
-
});
|
|
59
|
-
return versionManager.addVersion({
|
|
60
|
-
bundle: linkedBundle,
|
|
61
|
-
version: options.version,
|
|
62
|
-
mainPackageJson: options.mainPackageJson,
|
|
63
|
-
bundleDependencies: options.bundleDependencies,
|
|
64
|
-
bundlePeerDependencies: options.bundlePeerDependencies,
|
|
65
|
-
additionalPackageJsonAttributes: options.additionalPackageJsonAttributes
|
|
66
|
-
});
|
|
67
|
-
},
|
|
68
|
-
tryBuildAndPublish,
|
|
69
|
-
async buildAndPublish(options) {
|
|
70
|
-
const result = await tryBuildAndPublish(options);
|
|
71
|
-
if (result.status === 'already-published') {
|
|
72
|
-
return result;
|
|
73
|
-
}
|
|
74
|
-
progressBroadcaster.emit('publishing', {
|
|
75
|
-
packageName: options.buildOptions.name,
|
|
76
|
-
version: result.bundle.version
|
|
77
|
-
});
|
|
78
|
-
await bundleEmitter.publish({
|
|
79
|
-
bundle: result.bundle,
|
|
80
|
-
registrySettings: options.buildOptions.registrySettings
|
|
81
|
-
});
|
|
82
|
-
return result;
|
|
83
|
-
}
|
|
7
|
+
...resolveAndBuildOperations,
|
|
8
|
+
...publishOperations
|
|
84
9
|
};
|
|
85
10
|
}
|
|
86
11
|
//# sourceMappingURL=package-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-processor.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-processor.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EACH,uBAAuB,EAG1B,MAAM,gCAAgC,CAAC;AAsBxC,MAAM,UAAU,sBAAsB,CAAC,YAA0C;IAC7E,MAAM,yBAAyB,GAAG,+BAA+B,CAAC,YAAY,CAAC,CAAC;IAChF,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAEhE,OAAO;QACH,GAAG,yBAAyB;QAC5B,GAAG,iBAAiB;KACvB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Result } from 'true-myth';
|
|
2
|
+
import { collectPublicModuleUsage } from "../package-surface/public-module-usage.js";
|
|
3
|
+
import { withFailureCapture } from "../report/decorators.js";
|
|
4
|
+
import { configToBuildAndPublishOptions } from "./map-config.js";
|
|
5
|
+
import { publishPartialFailure } from "./packtory-results.js";
|
|
6
|
+
function mapResolveFailureToPublishFailure(error) {
|
|
7
|
+
if (error.type === 'partial') {
|
|
8
|
+
return { type: 'partial', succeeded: [], failures: error.error.failures };
|
|
9
|
+
}
|
|
10
|
+
return error;
|
|
11
|
+
}
|
|
12
|
+
const mapPublishStageFailure = publishPartialFailure;
|
|
13
|
+
async function determineVersionAndPublishAll(dependencies, config, resolvedPackages, options) {
|
|
14
|
+
const analyzedBundlesByName = Object.fromEntries(resolvedPackages.map((resolvedPackage) => {
|
|
15
|
+
return [resolvedPackage.name, resolvedPackage.analyzedBundle];
|
|
16
|
+
}));
|
|
17
|
+
const publicModuleUsageByName = collectPublicModuleUsage(resolvedPackages.map((resolvedPackage) => {
|
|
18
|
+
return resolvedPackage.analyzedBundle;
|
|
19
|
+
}));
|
|
20
|
+
return await dependencies.scheduler.runForEachScheduledPackage({
|
|
21
|
+
config,
|
|
22
|
+
createOptions: (context) => {
|
|
23
|
+
const { packageName, existing, config: validatedConfig } = context;
|
|
24
|
+
return configToBuildAndPublishOptions(packageName, validatedConfig.packageConfigs, validatedConfig.packtoryConfig, existing);
|
|
25
|
+
},
|
|
26
|
+
execute: withFailureCapture(dependencies.progressBroadcaster.provider, 'publish', async (buildOptions) => {
|
|
27
|
+
const analyzedBundle = analyzedBundlesByName[buildOptions.name];
|
|
28
|
+
if (analyzedBundle === undefined) {
|
|
29
|
+
throw new Error(`Analyzed bundle for package "${buildOptions.name}" is missing`);
|
|
30
|
+
}
|
|
31
|
+
const processorOptions = {
|
|
32
|
+
analyzedBundle,
|
|
33
|
+
buildOptions,
|
|
34
|
+
substitutionPublicModuleSourcePaths: publicModuleUsageByName.get(buildOptions.name)
|
|
35
|
+
};
|
|
36
|
+
if (options.dryRun) {
|
|
37
|
+
return dependencies.packageProcessor.tryBuildAndPublish(processorOptions);
|
|
38
|
+
}
|
|
39
|
+
return dependencies.packageProcessor.buildAndPublish(processorOptions);
|
|
40
|
+
}),
|
|
41
|
+
selectNext: (params) => {
|
|
42
|
+
return params.result.bundle;
|
|
43
|
+
},
|
|
44
|
+
emitScheduledEvents: false,
|
|
45
|
+
createProgressEvent: (params) => {
|
|
46
|
+
return {
|
|
47
|
+
version: params.result.bundle.packageJson.version,
|
|
48
|
+
status: params.result.status
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
export function createRunBuildAndPublishValidated(dependencies) {
|
|
54
|
+
return async function runBuildAndPublishValidated(validated, options, resolveAndLinkAllValidated) {
|
|
55
|
+
const resolvedBundlesResult = await resolveAndLinkAllValidated(validated);
|
|
56
|
+
if (resolvedBundlesResult.isErr) {
|
|
57
|
+
return Result.err(mapResolveFailureToPublishFailure(resolvedBundlesResult.error));
|
|
58
|
+
}
|
|
59
|
+
const publishResult = await determineVersionAndPublishAll(dependencies, validated, resolvedBundlesResult.value, options);
|
|
60
|
+
if (publishResult.isErr) {
|
|
61
|
+
return Result.err(mapPublishStageFailure(publishResult.error));
|
|
62
|
+
}
|
|
63
|
+
return Result.ok(publishResult.value);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=packtory-publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packtory-publish.js","sourceRoot":"","sources":["../../../../source/packtory/packtory-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Result } from 'true-myth';
|
|
2
|
+
import { resolveRootsAndSurface } from "../resource-resolver/resource-resolve-options.js";
|
|
3
|
+
import { withFailureCapture } from "../report/decorators.js";
|
|
4
|
+
import { configToResolveAndLinkOptions } from "./map-config.js";
|
|
5
|
+
import { resolvePartialFailure } from "./packtory-results.js";
|
|
6
|
+
import { buildChecksResult, createResolvedPackage } from "./resolved-package.js";
|
|
7
|
+
function resolveTransformationsEnabledByName(validated) {
|
|
8
|
+
const commonEnabled = validated.packtoryConfig.commonPackageSettings?.deadCodeElimination?.enabled;
|
|
9
|
+
return new Map(validated.packtoryConfig.packages.map((packageConfig) => {
|
|
10
|
+
const packageEnabled = packageConfig.deadCodeElimination?.enabled;
|
|
11
|
+
return [packageConfig.name, packageEnabled ?? commonEnabled ?? true];
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
function createResolveOptions(packageName, existing, config) {
|
|
15
|
+
return configToResolveAndLinkOptions(packageName, config.packageConfigs, config.packtoryConfig, existing);
|
|
16
|
+
}
|
|
17
|
+
async function resolvePackages(dependencies, config) {
|
|
18
|
+
return dependencies.scheduler.runForEachScheduledPackage({
|
|
19
|
+
config,
|
|
20
|
+
createOptions: (context) => {
|
|
21
|
+
const options = createResolveOptions(context.packageName, context.existing, context.config);
|
|
22
|
+
if (dependencies.progressBroadcaster.provider.hasSubscribers('inputsResolved')) {
|
|
23
|
+
const normalizedInputs = resolveRootsAndSurface(options);
|
|
24
|
+
dependencies.progressBroadcaster.provider.emit('inputsResolved', {
|
|
25
|
+
packageName: options.name,
|
|
26
|
+
roots: Object.fromEntries(Object.entries(normalizedInputs.roots).map(([rootId, root]) => {
|
|
27
|
+
return [rootId, root.js];
|
|
28
|
+
})),
|
|
29
|
+
sourceFileCount: 0,
|
|
30
|
+
siblingVersions: {}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return options;
|
|
34
|
+
},
|
|
35
|
+
execute: withFailureCapture(dependencies.progressBroadcaster.provider, 'resolveAndLink', async (resolveOptions) => {
|
|
36
|
+
const linkedBundle = await dependencies.packageProcessor.resolveAndLink(resolveOptions);
|
|
37
|
+
return {
|
|
38
|
+
name: resolveOptions.name,
|
|
39
|
+
linkedBundle,
|
|
40
|
+
resolveOptions
|
|
41
|
+
};
|
|
42
|
+
}),
|
|
43
|
+
selectNext: (params) => {
|
|
44
|
+
return params.result.linkedBundle;
|
|
45
|
+
},
|
|
46
|
+
emitScheduledEvents: true
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async function analyzeResolvedPackages(dependencies, config, linkedPackages) {
|
|
50
|
+
const transformationsEnabledByName = resolveTransformationsEnabledByName(config);
|
|
51
|
+
const analyzedBundles = await dependencies.deadCodeEliminator.eliminate(linkedPackages.map((linkedPackage) => {
|
|
52
|
+
const transformationsEnabled = transformationsEnabledByName.get(linkedPackage.name);
|
|
53
|
+
if (transformationsEnabled === undefined) {
|
|
54
|
+
throw new Error(`Missing transformations flag for package "${linkedPackage.name}"`);
|
|
55
|
+
}
|
|
56
|
+
return { bundle: linkedPackage.linkedBundle, transformationsEnabled };
|
|
57
|
+
}));
|
|
58
|
+
return linkedPackages.map((linkedPackage, index) => {
|
|
59
|
+
const analyzedBundle = analyzedBundles[index];
|
|
60
|
+
if (analyzedBundle === undefined) {
|
|
61
|
+
throw new Error(`Analyzed bundle missing for package "${linkedPackage.name}"`);
|
|
62
|
+
}
|
|
63
|
+
return createResolvedPackage(linkedPackage.name, analyzedBundle, linkedPackage.resolveOptions);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
export function createResolveAndLinkAllValidated(dependencies) {
|
|
67
|
+
return async function resolveAndLinkAllValidated(config) {
|
|
68
|
+
const runResult = await resolvePackages(dependencies, config);
|
|
69
|
+
if (runResult.isErr) {
|
|
70
|
+
const succeeded = await analyzeResolvedPackages(dependencies, config, runResult.error.succeeded);
|
|
71
|
+
return Result.err(resolvePartialFailure({ succeeded, failures: runResult.error.failures }));
|
|
72
|
+
}
|
|
73
|
+
const resolvedPackages = await analyzeResolvedPackages(dependencies, config, runResult.value);
|
|
74
|
+
return buildChecksResult(config, resolvedPackages);
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=packtory-resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packtory-resolve.js","sourceRoot":"","sources":["../../../../source/packtory/packtory-resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Result } from 'true-myth';
|
|
2
|
+
import type { ProgressBroadcaster as ProgressBroadcasterBase } from '../progress/progress-broadcaster.ts';
|
|
3
|
+
import type { BuildReport as ReportBuildReport } from '../report/report-aggregator.ts';
|
|
4
|
+
import type { BuildAndPublishResult } from './package-processor.ts';
|
|
5
|
+
import type { CheckError, ResolvedPackage } from './resolved-package.ts';
|
|
6
|
+
import type { PartialError } from './scheduler.ts';
|
|
7
|
+
export type BuildAndPublishAllOptions = {
|
|
8
|
+
readonly dryRun: boolean;
|
|
9
|
+
readonly collectReport?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type ResolveAndLinkAllOptions = {
|
|
12
|
+
readonly collectReport?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type BuildReport = ReportBuildReport;
|
|
15
|
+
export declare function configError(issues: readonly string[]): ConfigError;
|
|
16
|
+
export type PublishAllOutcome = {
|
|
17
|
+
readonly result: PublishAllResult;
|
|
18
|
+
readonly getReport: () => BuildReport | undefined;
|
|
19
|
+
};
|
|
20
|
+
export declare function createPublishAllOutcome(result: PublishAllResult, getReport: () => BuildReport | undefined): PublishAllOutcome;
|
|
21
|
+
export type ResolveAndLinkAllOutcome = {
|
|
22
|
+
readonly result: ResolveAndLinkAllResult;
|
|
23
|
+
readonly getReport: () => BuildReport | undefined;
|
|
24
|
+
};
|
|
25
|
+
export declare function createResolveAndLinkAllOutcome(result: ResolveAndLinkAllResult, getReport: () => BuildReport | undefined): ResolveAndLinkAllOutcome;
|
|
26
|
+
export type ConfigError = {
|
|
27
|
+
type: 'config';
|
|
28
|
+
issues: readonly string[];
|
|
29
|
+
};
|
|
30
|
+
export type PublishFailure = CheckError | ConfigError | (PartialError<BuildAndPublishResult> & {
|
|
31
|
+
type: 'partial';
|
|
32
|
+
});
|
|
33
|
+
export type PublishAllResult = Result<readonly BuildAndPublishResult[], PublishFailure>;
|
|
34
|
+
export declare function publishPartialFailure(error: PartialError<BuildAndPublishResult>): PublishFailure;
|
|
35
|
+
export type PartialErrorResult = {
|
|
36
|
+
type: 'partial';
|
|
37
|
+
error: PartialError<ResolvedPackage>;
|
|
38
|
+
};
|
|
39
|
+
export declare function resolvePartialFailure(error: PartialError<ResolvedPackage>): PartialErrorResult;
|
|
40
|
+
export type ResolveAndLinkFailure = CheckError | ConfigError | PartialErrorResult;
|
|
41
|
+
export type ResolveAndLinkAllResult = Result<readonly ResolvedPackage[], ResolveAndLinkFailure>;
|
|
42
|
+
export type Packtory = {
|
|
43
|
+
buildAndPublishAll: (config: unknown, options: BuildAndPublishAllOptions) => Promise<PublishAllOutcome>;
|
|
44
|
+
resolveAndLinkAll: (config: unknown, options?: ResolveAndLinkAllOptions) => Promise<ResolveAndLinkAllOutcome>;
|
|
45
|
+
};
|
|
46
|
+
export type ProgressBroadcaster = ProgressBroadcasterBase;
|
|
47
|
+
//# sourceMappingURL=packtory-results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packtory-results.d.ts","sourceRoot":"","sources":["../../../../source/packtory/packtory-results.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function configError(issues) {
|
|
2
|
+
return { type: 'config', issues };
|
|
3
|
+
}
|
|
4
|
+
export function createPublishAllOutcome(result, getReport) {
|
|
5
|
+
return { result, getReport };
|
|
6
|
+
}
|
|
7
|
+
export function createResolveAndLinkAllOutcome(result, getReport) {
|
|
8
|
+
return { result, getReport };
|
|
9
|
+
}
|
|
10
|
+
export function publishPartialFailure(error) {
|
|
11
|
+
return { type: 'partial', ...error };
|
|
12
|
+
}
|
|
13
|
+
export function resolvePartialFailure(error) {
|
|
14
|
+
return { type: 'partial', error };
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=packtory-results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packtory-results.js","sourceRoot":"","sources":["../../../../source/packtory/packtory-results.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,WAAW,CAAC,MAAyB;IACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AAOD,MAAM,UAAU,uBAAuB,CACnC,MAAwB,EACxB,SAAwC;IAExC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAOD,MAAM,UAAU,8BAA8B,CAC1C,MAA+B,EAC/B,SAAwC;IAExC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAWD,MAAM,UAAU,qBAAqB,CAAC,KAA0C;IAC5E,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC;AACzC,CAAC;AAOD,MAAM,UAAU,qBAAqB,CAAC,KAAoC;IACtE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACtC,CAAC"}
|
package/packtory/packtory.d.ts
CHANGED
|
@@ -1,42 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
4
|
-
import type { Scheduler
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
type
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
type
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
type CheckError = {
|
|
15
|
-
type: 'checks';
|
|
16
|
-
issues: readonly string[];
|
|
17
|
-
};
|
|
18
|
-
export type PublishFailure = CheckError | ConfigError | (PartialError<BuildAndPublishResult> & {
|
|
19
|
-
type: 'partial';
|
|
20
|
-
});
|
|
21
|
-
export type PublishAllResult = Result<readonly BuildAndPublishResult[], PublishFailure>;
|
|
22
|
-
export type ResolvedPackage = {
|
|
23
|
-
readonly name: string;
|
|
24
|
-
readonly linkedBundle: LinkedBundle;
|
|
25
|
-
readonly resolveOptions: ResolveAndLinkOptions;
|
|
26
|
-
};
|
|
27
|
-
type PartialErrorResult = {
|
|
28
|
-
type: 'partial';
|
|
29
|
-
error: PartialError<ResolvedPackage>;
|
|
30
|
-
};
|
|
31
|
-
export type ResolveAndLinkFailure = CheckError | ConfigError | PartialErrorResult;
|
|
32
|
-
export type ResolveAndLinkAllResult = Result<readonly ResolvedPackage[], ResolveAndLinkFailure>;
|
|
33
|
-
export type Packtory = {
|
|
34
|
-
buildAndPublishAll: (config: PacktoryConfig | unknown, options: Options) => Promise<PublishAllResult>;
|
|
35
|
-
resolveAndLinkAll: (config: PacktoryConfigWithoutRegistry | unknown) => Promise<ResolveAndLinkAllResult>;
|
|
36
|
-
};
|
|
1
|
+
import type { DeadCodeEliminator } from '../dead-code-eliminator/analyzed-bundle.ts';
|
|
2
|
+
import { type BuildAndPublishAllOptions as BuildAndPublishAllOptionsBase, type BuildReport as BuildReportBase, type Packtory as PacktoryBase, type ProgressBroadcaster, type PublishAllOutcome as PublishAllOutcomeBase, type PublishAllResult as PublishAllResultBase, type ResolveAndLinkFailure as ResolveAndLinkFailureBase, type ResolveAndLinkAllOutcome as ResolveAndLinkAllOutcomeBase, type ResolveAndLinkAllResult as ResolveAndLinkAllResultBase, type ResolveAndLinkAllOptions as ResolveAndLinkAllOptionsBase } from './packtory-results.ts';
|
|
3
|
+
import type { PackageProcessor } from './package-processor.ts';
|
|
4
|
+
import type { Scheduler as PacktoryScheduler } from './scheduler.ts';
|
|
5
|
+
export type BuildAndPublishAllOptions = BuildAndPublishAllOptionsBase;
|
|
6
|
+
export type ResolveAndLinkAllOptions = ResolveAndLinkAllOptionsBase;
|
|
7
|
+
export type BuildReport = BuildReportBase;
|
|
8
|
+
export type PublishAllOutcome = PublishAllOutcomeBase;
|
|
9
|
+
export type ResolveAndLinkAllOutcome = ResolveAndLinkAllOutcomeBase;
|
|
10
|
+
export type PublishAllResult = PublishAllResultBase;
|
|
11
|
+
export type ResolveAndLinkAllResult = ResolveAndLinkAllResultBase;
|
|
12
|
+
export type ResolveAndLinkFailure = ResolveAndLinkFailureBase;
|
|
13
|
+
export type Packtory = PacktoryBase;
|
|
37
14
|
type PacktoryDependencies = {
|
|
38
15
|
readonly packageProcessor: PackageProcessor;
|
|
39
|
-
readonly scheduler:
|
|
16
|
+
readonly scheduler: PacktoryScheduler;
|
|
17
|
+
readonly deadCodeEliminator: DeadCodeEliminator;
|
|
18
|
+
readonly progressBroadcaster: ProgressBroadcaster;
|
|
40
19
|
};
|
|
41
20
|
export declare function createPacktory(dependencies: PacktoryDependencies): Packtory;
|
|
42
21
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packtory.d.ts","sourceRoot":"","sources":["../../../../source/packtory/packtory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"packtory.d.ts","sourceRoot":"","sources":["../../../../source/packtory/packtory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAIrF,OAAO,EAIH,KAAK,yBAAyB,IAAI,6BAA6B,EAC/D,KAAK,WAAW,IAAI,eAAe,EACnC,KAAK,QAAQ,IAAI,YAAY,EAC7B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,IAAI,qBAAqB,EAC/C,KAAK,gBAAgB,IAAI,oBAAoB,EAC7C,KAAK,qBAAqB,IAAI,yBAAyB,EACvD,KAAK,wBAAwB,IAAI,4BAA4B,EAC7D,KAAK,uBAAuB,IAAI,2BAA2B,EAC3D,KAAK,wBAAwB,IAAI,4BAA4B,EAChE,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAErE,MAAM,MAAM,yBAAyB,GAAG,6BAA6B,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAC1C,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AACtD,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AACpD,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAClE,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,YAAY,CAAC;AAEpC,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CACrD,CAAC;AAEF,wBAAgB,cAAc,CAAC,YAAY,EAAE,oBAAoB,GAAG,QAAQ,CAwD3E"}
|