packtory 0.0.10 → 0.0.11
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 +0 -14
- package/artifacts/artifacts-builder.d.ts.map +1 -1
- package/artifacts/artifacts-builder.js +75 -0
- package/artifacts/artifacts-builder.js.map +1 -1
- package/bundle-emitter/emitter.d.ts +0 -30
- package/bundle-emitter/emitter.d.ts.map +1 -1
- package/bundle-emitter/emitter.js +34 -0
- package/bundle-emitter/emitter.js.map +1 -1
- package/bundle-emitter/extract-package-tarball.js +11 -0
- package/bundle-emitter/extract-package-tarball.js.map +1 -1
- package/bundle-emitter/registry-client.d.ts +0 -21
- package/bundle-emitter/registry-client.d.ts.map +1 -1
- package/bundle-emitter/registry-client.js +261 -0
- package/bundle-emitter/registry-client.js.map +1 -1
- package/bundle-emitter/repository-url-normalizer.js +36 -0
- package/bundle-emitter/repository-url-normalizer.js.map +1 -1
- package/checks/check-runner.js +5 -0
- package/checks/check-runner.js.map +1 -1
- package/checks/rules/registry.js +9 -0
- package/checks/rules/registry.js.map +1 -1
- package/common/clock.d.ts +0 -6
- package/common/clock.d.ts.map +1 -1
- package/common/code-files.js +4 -0
- package/common/code-files.js.map +1 -1
- package/config/additional-files.js +4 -0
- package/config/additional-files.js.map +1 -1
- package/config/automatic-versioning-settings.js +4 -0
- package/config/automatic-versioning-settings.js.map +1 -1
- package/config/config.js +2 -0
- package/config/config.js.map +1 -1
- package/config/dead-code-elimination-settings.d.ts +0 -1
- package/config/dead-code-elimination-settings.d.ts.map +1 -1
- package/config/dead-code-elimination-settings.js +19 -0
- package/config/dead-code-elimination-settings.js.map +1 -1
- package/config/dependency-policy.js +3 -0
- package/config/dependency-policy.js.map +1 -1
- package/config/main-package-json-schema.js +1 -0
- package/config/main-package-json-schema.js.map +1 -1
- package/config/manual-versioning-settings.js +4 -0
- package/config/manual-versioning-settings.js.map +1 -1
- package/config/package-config.js +6 -0
- package/config/package-config.js.map +1 -1
- package/config/package-interface.js +26 -0
- package/config/package-interface.js.map +1 -1
- package/config/package-json.d.ts +0 -1
- package/config/package-json.d.ts.map +1 -1
- package/config/package-json.js +16 -0
- package/config/package-json.js.map +1 -1
- package/config/packtory-config-schema.js +3 -0
- package/config/packtory-config-schema.js.map +1 -1
- package/config/publish-settings.js +22 -0
- package/config/publish-settings.js.map +1 -1
- package/config/registry-settings.d.ts +0 -18
- package/config/registry-settings.d.ts.map +1 -1
- package/config/registry-settings.js +38 -0
- package/config/registry-settings.js.map +1 -1
- package/config/root.js +4 -0
- package/config/root.js.map +1 -1
- package/config/sbom-settings.js +3 -0
- package/config/sbom-settings.js.map +1 -1
- package/config/validation.d.ts +0 -18
- package/config/validation.d.ts.map +1 -1
- package/config/validation.js +254 -0
- package/config/validation.js.map +1 -1
- package/config/versioning-settings.js +1 -0
- package/config/versioning-settings.js.map +1 -1
- package/dead-code-eliminator/analyzed-bundle.d.ts +0 -9
- package/dead-code-eliminator/analyzed-bundle.d.ts.map +1 -1
- package/dead-code-eliminator/analyzed-bundle.js +7 -0
- package/dead-code-eliminator/analyzed-bundle.js.map +1 -1
- package/dead-code-eliminator/eliminator.js +12 -1
- package/dead-code-eliminator/eliminator.js.map +1 -1
- package/dead-code-eliminator/load-bundle.js +10 -5
- package/dead-code-eliminator/load-bundle.js.map +1 -1
- package/dead-code-eliminator/reachability/binding-extractor.js +20 -7
- package/dead-code-eliminator/reachability/binding-extractor.js.map +1 -1
- package/dead-code-eliminator/reachability/reachability.js +1 -1
- package/dead-code-eliminator/reachability/reachability.js.map +1 -1
- package/dead-code-eliminator/transform/declaration-remover.js +3 -2
- package/dead-code-eliminator/transform/declaration-remover.js.map +1 -1
- package/dead-code-eliminator/variable-declaration-bindings.js +34 -0
- package/dead-code-eliminator/variable-declaration-bindings.js.map +1 -0
- package/dependency-scanner/dependency-graph.d.ts +0 -27
- package/dependency-scanner/dependency-graph.d.ts.map +1 -1
- package/dependency-scanner/dependency-graph.js +73 -0
- package/dependency-scanner/dependency-graph.js.map +1 -1
- package/dependency-scanner/external-dependencies.js +16 -0
- package/dependency-scanner/external-dependencies.js.map +1 -1
- package/dependency-scanner/scanner.d.ts +0 -13
- package/dependency-scanner/scanner.d.ts.map +1 -1
- package/dependency-scanner/scanner.js +69 -0
- package/dependency-scanner/scanner.js.map +1 -1
- package/dependency-scanner/source-file-references.js +10 -0
- package/dependency-scanner/source-file-references.js.map +1 -1
- package/dependency-scanner/source-map-file-locator.d.ts +0 -7
- package/dependency-scanner/source-map-file-locator.d.ts.map +1 -1
- package/dependency-scanner/source-map-file-locator.js +27 -0
- package/dependency-scanner/source-map-file-locator.js.map +1 -1
- package/dependency-scanner/typescript-file-host.d.ts +0 -9
- package/dependency-scanner/typescript-file-host.d.ts.map +1 -1
- package/dependency-scanner/typescript-file-host.js +114 -0
- package/dependency-scanner/typescript-file-host.js.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.d.ts +0 -17
- package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.js +52 -0
- package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
- package/directed-graph/graph.d.ts +0 -26
- package/directed-graph/graph.d.ts.map +1 -1
- package/directed-graph/graph.js +229 -0
- package/directed-graph/graph.js.map +1 -1
- package/file-manager/compare.js +17 -0
- package/file-manager/compare.js.map +1 -1
- package/file-manager/equal.js +5 -0
- package/file-manager/equal.js.map +1 -1
- package/file-manager/file-manager.d.ts +0 -15
- package/file-manager/file-manager.d.ts.map +1 -1
- package/file-manager/file-manager.js +52 -0
- package/file-manager/file-manager.js.map +1 -1
- package/file-manager/permissions.js +26 -0
- package/file-manager/permissions.js.map +1 -1
- package/linker/linker.d.ts +0 -8
- package/linker/linker.d.ts.map +1 -1
- package/linker/linker.js +23 -0
- package/linker/linker.js.map +1 -1
- package/linker/resource-graph.js +25 -0
- package/linker/resource-graph.js.map +1 -1
- package/linker/source-modifier/import-paths.js +22 -0
- package/linker/source-modifier/import-paths.js.map +1 -1
- package/linker/substitute-bundles.js +84 -0
- package/linker/substitute-bundles.js.map +1 -1
- package/linker/substituted-resource-graph.js +72 -0
- package/linker/substituted-resource-graph.js.map +1 -1
- package/package-surface/modules.js +232 -5
- package/package-surface/modules.js.map +1 -1
- package/package-surface/surface.d.ts +0 -1
- package/package-surface/surface.d.ts.map +1 -1
- package/package-surface/surface.js +15 -0
- package/package-surface/surface.js.map +1 -1
- package/package.json +1 -1
- package/packtory/map-config.d.ts +0 -10
- package/packtory/map-config.d.ts.map +1 -1
- package/packtory/map-config.js +14 -0
- package/packtory/map-config.js.map +1 -1
- package/packtory/normalize-paths.js +24 -0
- package/packtory/normalize-paths.js.map +1 -1
- package/packtory/package-processor-build.js +72 -0
- package/packtory/package-processor-build.js.map +1 -1
- package/packtory/package-processor-publish.d.ts +0 -5
- package/packtory/package-processor-publish.d.ts.map +1 -1
- package/packtory/package-processor-publish.js +133 -0
- package/packtory/package-processor-publish.js.map +1 -1
- package/packtory/package-processor.d.ts +0 -17
- package/packtory/package-processor.d.ts.map +1 -1
- package/packtory/package-processor.js +8 -0
- package/packtory/package-processor.js.map +1 -1
- package/packtory/packtory-results.d.ts +0 -10
- 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 +0 -8
- package/packtory/packtory.d.ts.map +1 -1
- package/packtory/prepare-package-options.d.ts +0 -2
- package/packtory/prepare-package-options.d.ts.map +1 -1
- package/packtory/prepare-package-options.js +122 -0
- package/packtory/prepare-package-options.js.map +1 -1
- package/packtory/resolved-package.d.ts +0 -2
- package/packtory/resolved-package.d.ts.map +1 -1
- package/packtory/resolved-package.js +31 -0
- package/packtory/resolved-package.js.map +1 -1
- package/packtory/scheduler.d.ts +0 -37
- package/packtory/scheduler.d.ts.map +1 -1
- package/progress/progress-broadcaster.d.ts +0 -13
- package/progress/progress-broadcaster.d.ts.map +1 -1
- package/progress/progress-broadcaster.js +45 -0
- package/progress/progress-broadcaster.js.map +1 -1
- package/report/artifact-entry-merger.js +20 -0
- package/report/artifact-entry-merger.js.map +1 -1
- package/report/inspectors.js +73 -0
- package/report/inspectors.js.map +1 -1
- package/report/report-aggregator.d.ts +0 -5
- package/report/report-aggregator.d.ts.map +1 -1
- package/report/report-aggregator.js +185 -0
- package/report/report-aggregator.js.map +1 -1
- package/resource-resolver/content.js +53 -0
- package/resource-resolver/content.js.map +1 -1
- package/resource-resolver/resolved-bundle.d.ts +0 -10
- package/resource-resolver/resolved-bundle.d.ts.map +1 -1
- package/resource-resolver/resource-resolve-options.d.ts +0 -4
- package/resource-resolver/resource-resolve-options.d.ts.map +1 -1
- package/resource-resolver/resource-resolve-options.js +12 -0
- package/resource-resolver/resource-resolve-options.js.map +1 -1
- package/resource-resolver/resource-resolver.d.ts +0 -8
- package/resource-resolver/resource-resolver.d.ts.map +1 -1
- package/resource-resolver/resource-resolver.js +78 -0
- package/resource-resolver/resource-resolver.js.map +1 -1
- package/sbom/extract-license.js +10 -0
- package/sbom/extract-license.js.map +1 -1
- package/sbom/license-resolver.d.ts +0 -11
- package/sbom/license-resolver.d.ts.map +1 -1
- package/sbom/license-resolver.js +19 -0
- package/sbom/license-resolver.js.map +1 -1
- package/sbom/sbom-file.d.ts +0 -12
- package/sbom/sbom-file.d.ts.map +1 -1
- package/sbom/sbom-file.js +54 -0
- package/sbom/sbom-file.js.map +1 -1
- package/sbom/sbom-serializer.d.ts +0 -4
- package/sbom/sbom-serializer.d.ts.map +1 -1
- package/sbom/sbom-serializer.js +9 -0
- package/sbom/sbom-serializer.js.map +1 -1
- package/tar/extract-tar.js +38 -0
- package/tar/extract-tar.js.map +1 -1
- package/tar/tarball-builder.d.ts +0 -4
- package/tar/tarball-builder.d.ts.map +1 -1
- package/version-manager/manager.d.ts +0 -4
- package/version-manager/manager.d.ts.map +1 -1
- package/version-manager/manager.js +46 -0
- package/version-manager/manager.js.map +1 -1
- package/version-manager/manifest/builder.js +56 -0
- package/version-manager/manifest/builder.js.map +1 -1
- package/version-manager/manifest/serialize.js +46 -0
- package/version-manager/manifest/serialize.js.map +1 -1
- package/version-manager/manifest/sort-values.js +16 -0
- package/version-manager/manifest/sort-values.js.map +1 -1
- package/version-manager/specifier-classifier.js +33 -0
- package/version-manager/specifier-classifier.js.map +1 -1
- package/version-manager/specifier-errors.js +43 -0
- package/version-manager/specifier-errors.js.map +1 -1
- package/version-manager/versioned-bundle-dependencies.js +107 -0
- package/version-manager/versioned-bundle-dependencies.js.map +1 -1
- package/version-manager/versioned-bundle-imports.js +72 -0
- package/version-manager/versioned-bundle-imports.js.map +1 -1
- package/version-manager/versioned-bundle.js +60 -0
- package/version-manager/versioned-bundle.js.map +1 -1
- package/sbom.cdx.json +0 -390
|
@@ -1,3 +1,75 @@
|
|
|
1
1
|
import { resolveRootsAndSurface } from "../resource-resolver/resource-resolve-options.js";
|
|
2
2
|
import { inspectLinkerRewrites, inspectScanResults } from "../report/inspectors.js";
|
|
3
|
+
function assertEsmMainPackageJson(mainPackageJson) {
|
|
4
|
+
if (mainPackageJson.type !== 'module') {
|
|
5
|
+
throw new Error('mainPackageJson.type must be "module"');
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
function maybeEmitScanCompleted(dependencies, packageName, resolved) {
|
|
9
|
+
if (dependencies.progressBroadcaster.hasSubscribers('scanCompleted')) {
|
|
10
|
+
dependencies.progressBroadcaster.emit('scanCompleted', { packageName, ...inspectScanResults(resolved) });
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function maybeEmitLinkingCompleted(dependencies, packageName, linked) {
|
|
14
|
+
if (dependencies.progressBroadcaster.hasSubscribers('linkingCompleted')) {
|
|
15
|
+
dependencies.progressBroadcaster.emit('linkingCompleted', {
|
|
16
|
+
packageName,
|
|
17
|
+
rewrites: inspectLinkerRewrites(linked)
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
async function analyzeOne(dependencies, linkedBundle, transformationsEnabled, deadCodeElimination) {
|
|
22
|
+
const [analyzedBundle] = await dependencies.deadCodeEliminator.eliminate([
|
|
23
|
+
{ bundle: linkedBundle, transformationsEnabled, deadCodeElimination }
|
|
24
|
+
]);
|
|
25
|
+
if (analyzedBundle === undefined) {
|
|
26
|
+
throw new Error(`Dead code eliminator returned no bundle for "${linkedBundle.name}"`);
|
|
27
|
+
}
|
|
28
|
+
return analyzedBundle;
|
|
29
|
+
}
|
|
30
|
+
export function createResolveAndBuildOperations(dependencies) {
|
|
31
|
+
async function resolveAndLink(options) {
|
|
32
|
+
assertEsmMainPackageJson(options.mainPackageJson);
|
|
33
|
+
dependencies.progressBroadcaster.emit('resolving', { packageName: options.name });
|
|
34
|
+
const resolvedBundle = await dependencies.resourceResolver.resolve(options);
|
|
35
|
+
maybeEmitScanCompleted(dependencies, options.name, resolvedBundle);
|
|
36
|
+
dependencies.progressBroadcaster.emit('linking', { packageName: options.name });
|
|
37
|
+
const linkedBundle = await dependencies.linker.linkBundle({
|
|
38
|
+
bundle: resolvedBundle,
|
|
39
|
+
bundleDependencies: [...options.bundleDependencies, ...options.bundlePeerDependencies]
|
|
40
|
+
});
|
|
41
|
+
maybeEmitLinkingCompleted(dependencies, options.name, linkedBundle);
|
|
42
|
+
return linkedBundle;
|
|
43
|
+
}
|
|
44
|
+
async function build(options) {
|
|
45
|
+
assertEsmMainPackageJson(options.mainPackageJson);
|
|
46
|
+
const { additionalFiles, bundleDependencies, bundlePeerDependencies, includeSourceMapFiles, name, sourcesFolder } = options;
|
|
47
|
+
const normalizedResolveInputs = resolveRootsAndSurface(options);
|
|
48
|
+
const linkedBundle = await resolveAndLink({
|
|
49
|
+
name,
|
|
50
|
+
sourcesFolder,
|
|
51
|
+
roots: normalizedResolveInputs.roots,
|
|
52
|
+
surface: normalizedResolveInputs.surface,
|
|
53
|
+
includeSourceMapFiles,
|
|
54
|
+
additionalFiles,
|
|
55
|
+
mainPackageJson: options.mainPackageJson,
|
|
56
|
+
additionalPackageJsonAttributes: options.additionalPackageJsonAttributes,
|
|
57
|
+
allowMutableSpecifiers: options.allowMutableSpecifiers,
|
|
58
|
+
bundleDependencies,
|
|
59
|
+
bundlePeerDependencies
|
|
60
|
+
});
|
|
61
|
+
const transformationsEnabled = options.deadCodeElimination?.enabled ?? true;
|
|
62
|
+
const analyzedBundle = await analyzeOne(dependencies, linkedBundle, transformationsEnabled, options.deadCodeElimination);
|
|
63
|
+
return dependencies.versionManager.addVersion({
|
|
64
|
+
bundle: analyzedBundle,
|
|
65
|
+
version: options.version,
|
|
66
|
+
mainPackageJson: options.mainPackageJson,
|
|
67
|
+
bundleDependencies: options.bundleDependencies,
|
|
68
|
+
bundlePeerDependencies: options.bundlePeerDependencies,
|
|
69
|
+
additionalPackageJsonAttributes: options.additionalPackageJsonAttributes,
|
|
70
|
+
allowMutableSpecifiers: options.allowMutableSpecifiers
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return { build, resolveAndLink };
|
|
74
|
+
}
|
|
3
75
|
//# sourceMappingURL=package-processor-build.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-processor-build.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor-build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD;
|
|
1
|
+
{"version":3,"file":"package-processor-build.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,5 @@ export type BuildAndPublishResult = {
|
|
|
9
9
|
readonly status: 'already-published' | 'initial-version' | 'new-version';
|
|
10
10
|
readonly bundle: VersionedBundleWithManifest;
|
|
11
11
|
};
|
|
12
|
-
export type DetermineVersionAndPublishOptions = {
|
|
13
|
-
readonly analyzedBundle: AnalyzedBundle;
|
|
14
|
-
readonly buildOptions: BuildAndPublishOptions;
|
|
15
|
-
readonly substitutionPublicModuleSourcePaths?: ReadonlySet<string> | undefined;
|
|
16
|
-
};
|
|
17
12
|
export {};
|
|
18
13
|
//# sourceMappingURL=package-processor-publish.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-processor-publish.d.ts","sourceRoot":"","sources":["../../../../source/packtory/package-processor-publish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB;AAE7D,KAAK,2BAA2B,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;AAQpF,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,CAAC;IACzE,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;CAChD
|
|
1
|
+
{"version":3,"file":"package-processor-publish.d.ts","sourceRoot":"","sources":["../../../../source/packtory/package-processor-publish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB;AAE7D,KAAK,2BAA2B,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;AAQpF,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,CAAC;IACzE,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;CAChD"}
|
|
@@ -1 +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
|
+
}
|
|
1
134
|
//# sourceMappingURL=package-processor-publish.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-processor-publish.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor-publish.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"package-processor-publish.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor-publish.ts"],"names":[],"mappings":"AA2BA,SAAS,wBAAwB,CAAC,eAAuD;IACrF,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,cAA6B,EAAE,OAA+B;IACzF,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,cAAc,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;IACtC,CAAC;IAED,OAAO,OAAO,CAAC,UAAU,CAAC,cAAc,IAAI,OAAO,CAAC;AACxD,CAAC;AAED,SAAS,qBAAqB,CAAC,cAA6B,EAAE,OAA+B;IACzF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,cAAc,KAAK,SAAS,CAAC;AACpF,CAAC;AAED,SAAS,mBAAmB,CACxB,cAA6B,EAC7B,OAA+B,EAC/B,OAAgB;IAEhB,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAoC;IAC7D,OAAO,CAAC,GAAG,YAAY,CAAC,kBAAkB,EAAE,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;AACxF,CAAC;AAOD,MAAM,UAAU,uBAAuB,CAAC,YAAiC;IACrE,KAAK,UAAU,oBAAoB,CAC/B,cAA8B,EAC9B,OAA+B,EAC/B,mCAAoE;QAMpE,wBAAwB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,uBAAuB,CAAC;YAC5E,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/D,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1F,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC;YAC3D,MAAM,EAAE,cAAc;YACtB,GAAG,OAAO;YACV,OAAO;YACP,mCAAmC;SACtC,CAAC,CAAC;QACH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IACxD,CAAC;IAED,SAAS,qBAAqB,CAAC,IAK9B;QACG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxE,OAAO;QACX,CAAC;QACD,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACvD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC9B,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACnF,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;SAChF,CAAC,CAAC;IACP,CAAC;IAED,SAAS,mBAAmB,CACxB,YAA6F,EAC7F,OAA+B,EAC/B,MAAuC;QAEvC,qBAAqB,CAAC;YAClB,OAAO;YACP,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,OAAO;YACnD,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC5D,CAAC;IAED,KAAK,UAAU,WAAW,CACtB,YAA8G,EAC9G,OAA+B;QAE/B,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE;YAChD,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,OAAO,EAAE,YAAY,CAAC,OAAO;SAChC,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,YAAY,CAAC,cAAc,CAAC,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrG,qBAAqB,CAAC;YAClB,OAAO;YACP,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,aAAa,EAAE,kBAAkB,CAAC,OAAO;YACzC,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC7B,eAA4C,EAC5C,YAAoC;QAEpC,OAAO,YAAY,CAAC,eAAe,CAAC,QAAQ,CACxC,eAAe,EACf,mBAAmB,CAAC,YAAY,CAAC,EACjC,YAAY,CAAC,eAAe,CAC/B,CAAC;IACN,CAAC;IAED,KAAK,UAAU,kBAAkB,CAAC,OAA0C;QACxE,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC3C,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,mCAAmC,CAC9C,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAChG,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,2BAA2B,CAAC;YAClF,MAAM,EAAE,YAAY,CAAC,eAAe;YACpC,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,gBAAgB;YACvD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;SACtD,CAAC,CAAC;QACH,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,CAAC;YAC5C,OAAO,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5E,OAAO,mBAAmB,CACtB,YAAY,EACZ,OAAO,CAAC,YAAY,EACpB,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CACzE,CAAC;QACN,CAAC;QACD,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACjF,OAAO;YACH,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB;SACjF,CAAC;IACN,CAAC;IAED,KAAK,UAAU,eAAe,CAAC,OAA0C;QACrE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE;YAChD,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI;YACtC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;SACjC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACjF,MAAM,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,gBAAgB;YACvD,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,eAAe;YACrD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;SACtD,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -8,21 +8,4 @@ import type { VersionManager } from '../version-manager/manager.ts';
|
|
|
8
8
|
import type { BuildOptions, ResolveAndLinkOptions } from './map-config.ts';
|
|
9
9
|
import { type BuildAndPublishResult as PublishBuildAndPublishResult, type DetermineVersionAndPublishOptions as PublishDetermineVersionAndPublishOptions } from './package-processor-publish.ts';
|
|
10
10
|
export type BuildAndPublishResult = PublishBuildAndPublishResult;
|
|
11
|
-
export type DetermineVersionAndPublishOptions = PublishDetermineVersionAndPublishOptions;
|
|
12
|
-
export type PackageProcessorDependencies = {
|
|
13
|
-
readonly progressBroadcaster: ProgressBroadcastProvider;
|
|
14
|
-
readonly versionManager: VersionManager;
|
|
15
|
-
readonly bundleEmitter: BundleEmitter;
|
|
16
|
-
readonly linker: BundleLinker;
|
|
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>;
|
|
26
|
-
};
|
|
27
|
-
export declare function createPackageProcessor(dependencies: PackageProcessorDependencies): PackageProcessor;
|
|
28
11
|
//# 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":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C
|
|
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;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB;AAE1E,OAAO,EAEH,KAAK,qBAAqB,IAAI,4BAA4B,EAC1D,KAAK,iCAAiC,IAAI,wCAAwC,EACrF,MAAM,gCAAgC;AAEvC,MAAM,MAAM,qBAAqB,GAAG,4BAA4B"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import { createResolveAndBuildOperations } from "./package-processor-build.js";
|
|
2
2
|
import { createPublishOperations } from "./package-processor-publish.js";
|
|
3
|
+
export function createPackageProcessor(dependencies) {
|
|
4
|
+
const resolveAndBuildOperations = createResolveAndBuildOperations(dependencies);
|
|
5
|
+
const publishOperations = createPublishOperations(dependencies);
|
|
6
|
+
return {
|
|
7
|
+
...resolveAndBuildOperations,
|
|
8
|
+
...publishOperations
|
|
9
|
+
};
|
|
10
|
+
}
|
|
3
11
|
//# sourceMappingURL=package-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-processor.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B;
|
|
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"}
|
|
@@ -12,17 +12,14 @@ export type ResolveAndLinkAllOptions = {
|
|
|
12
12
|
readonly collectReport?: boolean;
|
|
13
13
|
};
|
|
14
14
|
export type BuildReport = ReportBuildReport;
|
|
15
|
-
export declare function configError(issues: readonly string[]): ConfigError;
|
|
16
15
|
export type PublishAllOutcome = {
|
|
17
16
|
readonly result: PublishAllResult;
|
|
18
17
|
readonly getReport: () => BuildReport | undefined;
|
|
19
18
|
};
|
|
20
|
-
export declare function createPublishAllOutcome(result: PublishAllResult, getReport: () => BuildReport | undefined): PublishAllOutcome;
|
|
21
19
|
export type ResolveAndLinkAllOutcome = {
|
|
22
20
|
readonly result: ResolveAndLinkAllResult;
|
|
23
21
|
readonly getReport: () => BuildReport | undefined;
|
|
24
22
|
};
|
|
25
|
-
export declare function createResolveAndLinkAllOutcome(result: ResolveAndLinkAllResult, getReport: () => BuildReport | undefined): ResolveAndLinkAllOutcome;
|
|
26
23
|
export type ConfigError = {
|
|
27
24
|
type: 'config';
|
|
28
25
|
issues: readonly string[];
|
|
@@ -31,17 +28,10 @@ export type PublishFailure = CheckError | ConfigError | (PartialError<BuildAndPu
|
|
|
31
28
|
type: 'partial';
|
|
32
29
|
});
|
|
33
30
|
export type PublishAllResult = Result<readonly BuildAndPublishResult[], PublishFailure>;
|
|
34
|
-
export declare function publishPartialFailure(error: PartialError<BuildAndPublishResult>): PublishFailure;
|
|
35
31
|
export type PartialErrorResult = {
|
|
36
32
|
type: 'partial';
|
|
37
33
|
error: PartialError<ResolvedPackage>;
|
|
38
34
|
};
|
|
39
|
-
export declare function resolvePartialFailure(error: PartialError<ResolvedPackage>): PartialErrorResult;
|
|
40
35
|
export type ResolveAndLinkFailure = CheckError | ConfigError | PartialErrorResult;
|
|
41
36
|
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
37
|
//# sourceMappingURL=packtory-results.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packtory-results.d.ts","sourceRoot":"","sources":["../../../../source/packtory/packtory-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"packtory-results.d.ts","sourceRoot":"","sources":["../../../../source/packtory/packtory-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW;AACvC,OAAO,KAAK,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,qCAAqC;AACzG,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,gCAAgC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB;AAElD,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB;AAM3C,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;CACrD;AASD,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;CACrD;AASD,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEnH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,qBAAqB,EAAE,EAAE,cAAc,CAAC;AAMvF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;CACxC;AAMD,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,WAAW,GAAG,kBAAkB;AACjF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,SAAS,eAAe,EAAE,EAAE,qBAAqB,CAAC"}
|
|
@@ -1 +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
|
+
}
|
|
1
16
|
//# sourceMappingURL=packtory-results.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packtory-results.js","sourceRoot":"","sources":["../../../../source/packtory/packtory-results.ts"],"names":[],"mappings":""}
|
|
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
|
@@ -10,13 +10,5 @@ export type ResolveAndLinkAllOutcome = ResolveAndLinkAllOutcomeBase;
|
|
|
10
10
|
export type PublishAllResult = PublishAllResultBase;
|
|
11
11
|
export type ResolveAndLinkAllResult = ResolveAndLinkAllResultBase;
|
|
12
12
|
export type ResolveAndLinkFailure = ResolveAndLinkFailureBase;
|
|
13
|
-
export type Packtory = PacktoryBase;
|
|
14
|
-
type PacktoryDependencies = {
|
|
15
|
-
readonly packageProcessor: PackageProcessor;
|
|
16
|
-
readonly scheduler: PacktoryScheduler;
|
|
17
|
-
readonly deadCodeEliminator: DeadCodeEliminator;
|
|
18
|
-
readonly progressBroadcaster: ProgressBroadcaster;
|
|
19
|
-
};
|
|
20
|
-
export declare function createPacktory(dependencies: PacktoryDependencies): Packtory;
|
|
21
13
|
export {};
|
|
22
14
|
//# sourceMappingURL=packtory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packtory.d.ts","sourceRoot":"","sources":["../../../../source/packtory/packtory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C
|
|
1
|
+
{"version":3,"file":"packtory.d.ts","sourceRoot":"","sources":["../../../../source/packtory/packtory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C;AAIpF,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;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB;AAC9D,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,gBAAgB;AAEpE,MAAM,MAAM,yBAAyB,GAAG,6BAA6B;AACrE,MAAM,MAAM,wBAAwB,GAAG,4BAA4B;AACnE,MAAM,MAAM,WAAW,GAAG,eAAe;AACzC,MAAM,MAAM,iBAAiB,GAAG,qBAAqB;AACrD,MAAM,MAAM,wBAAwB,GAAG,4BAA4B;AACnE,MAAM,MAAM,gBAAgB,GAAG,oBAAoB;AACnD,MAAM,MAAM,uBAAuB,GAAG,2BAA2B;AACjE,MAAM,MAAM,qBAAqB,GAAG,yBAAyB"}
|
|
@@ -2,8 +2,6 @@ import type { PackageConfig, PackageConfigsByName, PacktoryConfigWithoutRegistry
|
|
|
2
2
|
import { type DeadCodeEliminationSettings } from '../config/dead-code-elimination-settings.ts';
|
|
3
3
|
import type { ResourceResolveOptions } from '../resource-resolver/resource-resolve-options.ts';
|
|
4
4
|
import type { BuildVersionedBundleOptions } from '../version-manager/versioned-bundle.ts';
|
|
5
|
-
export type PublishSettings = NonNullable<PackageConfig['publishSettings']>;
|
|
6
|
-
export type VersioningSettings = NonNullable<PackageConfig['versioning']>;
|
|
7
5
|
type ManifestOptionsSubset = Pick<BuildVersionedBundleOptions, 'additionalPackageJsonAttributes' | 'allowMutableSpecifiers' | 'mainPackageJson'>;
|
|
8
6
|
export type SharedPackageOptions<TBundle extends {
|
|
9
7
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-package-options.d.ts","sourceRoot":"","sources":["../../../../source/packtory/prepare-package-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB;AAC7G,OAAO,EAEH,KAAK,2BAA2B,EACnC,MAAM,6CAA6C;AAEpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD;AAC9F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wCAAwC;
|
|
1
|
+
{"version":3,"file":"prepare-package-options.d.ts","sourceRoot":"","sources":["../../../../source/packtory/prepare-package-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB;AAC7G,OAAO,EAEH,KAAK,2BAA2B,EACnC,MAAM,6CAA6C;AAEpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD;AAC9F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wCAAwC;AASzF,KAAK,qBAAqB,GAAG,IAAI,CAC7B,2BAA2B,EAC3B,iCAAiC,GAAG,wBAAwB,GAAG,iBAAiB,CACnF;AAED,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,IAAI,qBAAqB,GACtF,sBAAsB,GAAG;IACrB,QAAQ,CAAC,kBAAkB,EAAE,SAAS,OAAO,EAAE,CAAC;IAChD,QAAQ,CAAC,sBAAsB,EAAE,SAAS,OAAO,EAAE,CAAC;IACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;CAC1E"}
|
|
@@ -2,4 +2,126 @@ import { indexBy, values } from 'remeda';
|
|
|
2
2
|
import { resolveDeadCodeEliminationSettings } from "../config/dead-code-elimination-settings.js";
|
|
3
3
|
import { explicitPackageSurface, implicitPackageSurface } from "../package-surface/surface.js";
|
|
4
4
|
import { normalizeAdditionalFile, normalizeRoot } from "./normalize-paths.js";
|
|
5
|
+
function dependencyNamesToBundles(dependencyNames, bundles) {
|
|
6
|
+
const bundlesByName = indexBy(bundles, (bundle) => {
|
|
7
|
+
return bundle.name;
|
|
8
|
+
});
|
|
9
|
+
return dependencyNames.map((dependencyName) => {
|
|
10
|
+
const matchingBundle = bundlesByName[dependencyName];
|
|
11
|
+
if (matchingBundle === undefined) {
|
|
12
|
+
throw new Error(`Dependent bundle "${dependencyName}" not found`);
|
|
13
|
+
}
|
|
14
|
+
return matchingBundle;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function mergeAdditionalFiles(firstFiles = [], secondFiles = []) {
|
|
18
|
+
return values(indexBy([...firstFiles, ...secondFiles], (file) => {
|
|
19
|
+
return file.targetFilePath;
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
function getRequiredArrayValue(items, message) {
|
|
23
|
+
const [firstValue, ...remainingValues] = items;
|
|
24
|
+
if (firstValue === undefined) {
|
|
25
|
+
throw new Error(message);
|
|
26
|
+
}
|
|
27
|
+
return [firstValue, ...remainingValues];
|
|
28
|
+
}
|
|
29
|
+
function getRequiredValue(value, message) {
|
|
30
|
+
if (value === undefined) {
|
|
31
|
+
throw new Error(message);
|
|
32
|
+
}
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
function mapRequiredArrayValue(items, mapper) {
|
|
36
|
+
const [firstItem, ...remainingItems] = items;
|
|
37
|
+
return [mapper(firstItem), ...remainingItems.map(mapper)];
|
|
38
|
+
}
|
|
39
|
+
function resolveDefaultModuleRoot(rootIds, packageConfig) {
|
|
40
|
+
const [firstRootId, secondRootId] = rootIds;
|
|
41
|
+
if (secondRootId === undefined) {
|
|
42
|
+
return firstRootId;
|
|
43
|
+
}
|
|
44
|
+
return getRequiredValue(packageConfig.defaultModuleRoot, `Config for package "${packageConfig.name}" is missing defaultModuleRoot`);
|
|
45
|
+
}
|
|
46
|
+
function resolveSurface(rootIds, packageConfig) {
|
|
47
|
+
if (packageConfig.packageInterface === undefined) {
|
|
48
|
+
return implicitPackageSurface(resolveDefaultModuleRoot(rootIds, packageConfig));
|
|
49
|
+
}
|
|
50
|
+
return explicitPackageSurface(packageConfig.packageInterface);
|
|
51
|
+
}
|
|
52
|
+
function getPackageConfig(packageName, packageConfigs) {
|
|
53
|
+
const packageConfig = packageConfigs[packageName];
|
|
54
|
+
if (packageConfig === undefined) {
|
|
55
|
+
throw new Error(`Config for package "${packageName}" is missing`);
|
|
56
|
+
}
|
|
57
|
+
return packageConfig;
|
|
58
|
+
}
|
|
59
|
+
function resolveSourcesFolder(packageConfig, packtoryConfig) {
|
|
60
|
+
return getRequiredValue(packageConfig.sourcesFolder ?? packtoryConfig.commonPackageSettings?.sourcesFolder, `Config for package "${packageConfig.name}" is missing the sources folder`);
|
|
61
|
+
}
|
|
62
|
+
function resolveMainPackageJson(packageConfig, packtoryConfig) {
|
|
63
|
+
return getRequiredValue(packageConfig.mainPackageJson ?? packtoryConfig.commonPackageSettings?.mainPackageJson, `Config for package "${packageConfig.name}" is missing the main package.json settings`);
|
|
64
|
+
}
|
|
65
|
+
export function resolvePublishSettings(packageConfig, packtoryConfig) {
|
|
66
|
+
return getRequiredValue(packageConfig.publishSettings ?? packtoryConfig.commonPackageSettings?.publishSettings, `Config for package "${packageConfig.name}" is missing publish settings`);
|
|
67
|
+
}
|
|
68
|
+
function resolveAllowMutableSpecifiers(packageConfig, packtoryConfig) {
|
|
69
|
+
const dependencyPolicy = packageConfig.dependencyPolicy ?? packtoryConfig.commonPackageSettings?.dependencyPolicy;
|
|
70
|
+
return dependencyPolicy?.allowMutableSpecifiers ?? [];
|
|
71
|
+
}
|
|
72
|
+
function buildAdditionalPackageJsonAttributes(packageConfig, packtoryConfig) {
|
|
73
|
+
return {
|
|
74
|
+
...packtoryConfig.commonPackageSettings?.additionalPackageJsonAttributes,
|
|
75
|
+
...packageConfig.additionalPackageJsonAttributes
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function resolveIncludeSourceMapFiles(packageConfig, packtoryConfig) {
|
|
79
|
+
return packageConfig.includeSourceMapFiles ?? packtoryConfig.commonPackageSettings?.includeSourceMapFiles ?? false;
|
|
80
|
+
}
|
|
81
|
+
function resolveAdditionalFiles(packageConfig, sourcesFolder, packtoryConfig) {
|
|
82
|
+
return mergeAdditionalFiles(packtoryConfig.commonPackageSettings?.additionalFiles, packageConfig.additionalFiles).map((additionalFile) => {
|
|
83
|
+
return normalizeAdditionalFile(additionalFile, sourcesFolder);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
function resolveDeadCodeElimination(packageConfig, packtoryConfig) {
|
|
87
|
+
return resolveDeadCodeEliminationSettings(packageConfig.deadCodeElimination, packtoryConfig.commonPackageSettings?.deadCodeElimination);
|
|
88
|
+
}
|
|
89
|
+
function resolveBundleDependencies(packageConfig, existingBundles) {
|
|
90
|
+
return {
|
|
91
|
+
bundleDependencies: dependencyNamesToBundles(packageConfig.bundleDependencies ?? [], existingBundles),
|
|
92
|
+
bundlePeerDependencies: dependencyNamesToBundles(packageConfig.bundlePeerDependencies ?? [], existingBundles)
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function buildSharedOptions(packageConfig, packtoryConfig, existingBundles) {
|
|
96
|
+
const sourcesFolder = resolveSourcesFolder(packageConfig, packtoryConfig);
|
|
97
|
+
const mainPackageJson = resolveMainPackageJson(packageConfig, packtoryConfig);
|
|
98
|
+
const bundleDependencies = resolveBundleDependencies(packageConfig, existingBundles);
|
|
99
|
+
const normalizedRootEntries = getRequiredArrayValue(Object.entries(packageConfig.roots).map(([rootId, root]) => {
|
|
100
|
+
return [rootId, normalizeRoot(root, sourcesFolder)];
|
|
101
|
+
}), `Package "${packageConfig.name}" must define at least one root`);
|
|
102
|
+
const roots = Object.fromEntries(normalizedRootEntries);
|
|
103
|
+
const rootIds = mapRequiredArrayValue(normalizedRootEntries, ([rootId]) => {
|
|
104
|
+
return rootId;
|
|
105
|
+
});
|
|
106
|
+
const surface = resolveSurface(rootIds, packageConfig);
|
|
107
|
+
return {
|
|
108
|
+
name: packageConfig.name,
|
|
109
|
+
roots,
|
|
110
|
+
surface,
|
|
111
|
+
sourcesFolder,
|
|
112
|
+
includeSourceMapFiles: resolveIncludeSourceMapFiles(packageConfig, packtoryConfig),
|
|
113
|
+
additionalFiles: resolveAdditionalFiles(packageConfig, sourcesFolder, packtoryConfig),
|
|
114
|
+
mainPackageJson,
|
|
115
|
+
additionalPackageJsonAttributes: buildAdditionalPackageJsonAttributes(packageConfig, packtoryConfig),
|
|
116
|
+
allowMutableSpecifiers: resolveAllowMutableSpecifiers(packageConfig, packtoryConfig),
|
|
117
|
+
deadCodeElimination: resolveDeadCodeElimination(packageConfig, packtoryConfig),
|
|
118
|
+
...bundleDependencies
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export function preparePackageOptions(packageName, packageConfigs, packtoryConfig, existingBundles) {
|
|
122
|
+
const packageConfig = getPackageConfig(packageName, packageConfigs);
|
|
123
|
+
const sharedOptions = buildSharedOptions(packageConfig, packtoryConfig, existingBundles);
|
|
124
|
+
const versioning = packageConfig.versioning ?? { automatic: true };
|
|
125
|
+
return { packageConfig, sharedOptions, versioning };
|
|
126
|
+
}
|
|
5
127
|
//# sourceMappingURL=prepare-package-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-package-options.js","sourceRoot":"","sources":["../../../../source/packtory/prepare-package-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ;
|
|
1
|
+
{"version":3,"file":"prepare-package-options.js","sourceRoot":"","sources":["../../../../source/packtory/prepare-package-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,4 @@ export type CheckError = {
|
|
|
12
12
|
readonly type: 'checks';
|
|
13
13
|
readonly issues: readonly string[];
|
|
14
14
|
};
|
|
15
|
-
export declare function createResolvedPackage(name: string, analyzedBundle: AnalyzedBundle, resolveOptions: ResolveAndLinkOptions): ResolvedPackage;
|
|
16
|
-
export declare function buildChecksResult(validated: ConfigWithGraph<PacktoryConfigWithoutRegistry>, resolvedPackages: readonly ResolvedPackage[]): Result<readonly ResolvedPackage[], CheckError>;
|
|
17
15
|
//# sourceMappingURL=resolved-package.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolved-package.d.ts","sourceRoot":"","sources":["../../../../source/packtory/resolved-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"resolved-package.d.ts","sourceRoot":"","sources":["../../../../source/packtory/resolved-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW;AAGlC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;CAClD;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC"}
|
|
@@ -1,4 +1,35 @@
|
|
|
1
1
|
import { Result } from 'true-myth';
|
|
2
2
|
import { mapToObj } from 'remeda';
|
|
3
3
|
import { runChecks } from "../checks/check-runner.js";
|
|
4
|
+
export function createResolvedPackage(name, analyzedBundle, resolveOptions) {
|
|
5
|
+
return { name, analyzedBundle, resolveOptions };
|
|
6
|
+
}
|
|
7
|
+
export function buildChecksResult(validated, resolvedPackages) {
|
|
8
|
+
const { packtoryConfig: config } = validated;
|
|
9
|
+
const perPackageSettings = new Map(config.packages.map((packageConfig) => {
|
|
10
|
+
return [packageConfig.name, packageConfig.checks];
|
|
11
|
+
}));
|
|
12
|
+
const commonMainPackageJson = config.commonPackageSettings?.mainPackageJson;
|
|
13
|
+
const effectivePackageConfigs = mapToObj(config.packages, (packageConfig) => {
|
|
14
|
+
return [
|
|
15
|
+
packageConfig.name,
|
|
16
|
+
{
|
|
17
|
+
...packageConfig,
|
|
18
|
+
mainPackageJson: packageConfig.mainPackageJson ?? commonMainPackageJson
|
|
19
|
+
}
|
|
20
|
+
];
|
|
21
|
+
});
|
|
22
|
+
const checkIssues = runChecks({
|
|
23
|
+
settings: config.checks ?? {},
|
|
24
|
+
perPackageSettings,
|
|
25
|
+
packageConfigs: effectivePackageConfigs,
|
|
26
|
+
bundles: resolvedPackages.map((resolvedPackage) => {
|
|
27
|
+
return resolvedPackage.analyzedBundle;
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
if (checkIssues.length > 0) {
|
|
31
|
+
return Result.err({ type: 'checks', issues: checkIssues });
|
|
32
|
+
}
|
|
33
|
+
return Result.ok(resolvedPackages);
|
|
34
|
+
}
|
|
4
35
|
//# sourceMappingURL=resolved-package.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolved-package.js","sourceRoot":"","sources":["../../../../source/packtory/resolved-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ;
|
|
1
|
+
{"version":3,"file":"resolved-package.js","sourceRoot":"","sources":["../../../../source/packtory/resolved-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAiBtD,MAAM,UAAU,qBAAqB,CACjC,IAAY,EACZ,cAA8B,EAC9B,cAAqC;IAErC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,SAAyD,EACzD,gBAA4C;IAE5C,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;QAClC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CACL,CAAC;IACF,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;IAC5E,MAAM,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,EAAE;QACxE,OAAO;YACH,aAAa,CAAC,IAAI;YAClB;gBACI,GAAG,aAAa;gBAChB,eAAe,EAAE,aAAa,CAAC,eAAe,IAAI,qBAAqB;aAC1E;SACJ,CAAC;IACN,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,SAAS,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC7B,kBAAkB;QAClB,cAAc,EAAE,uBAAuB;QACvC,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;YAC9C,OAAO,eAAe,CAAC,cAAc,CAAC;QAC1C,CAAC,CAAC;KACL,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;AACvC,CAAC"}
|