packtory 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/artifacts-builder.js +0 -75
- package/artifacts/artifacts-builder.js.map +1 -1
- package/bundle-emitter/emitter.js +0 -34
- package/bundle-emitter/emitter.js.map +1 -1
- package/bundle-emitter/extract-package-tarball.js +0 -11
- package/bundle-emitter/extract-package-tarball.js.map +1 -1
- package/bundle-emitter/registry-client.js +0 -261
- package/bundle-emitter/registry-client.js.map +1 -1
- package/bundle-emitter/repository-url-normalizer.js +0 -36
- package/bundle-emitter/repository-url-normalizer.js.map +1 -1
- package/checks/check-runner.js +0 -5
- package/checks/check-runner.js.map +1 -1
- package/checks/rule.js +0 -8
- package/checks/rule.js.map +1 -1
- package/checks/rules/max-bundle-size.js +0 -35
- package/checks/rules/max-bundle-size.js.map +1 -1
- package/checks/rules/no-dev-dependency-imports.js +0 -28
- package/checks/rules/no-dev-dependency-imports.js.map +1 -1
- package/checks/rules/no-duplicated-files.js +0 -107
- package/checks/rules/no-duplicated-files.js.map +1 -1
- package/checks/rules/no-side-effects.js +0 -42
- package/checks/rules/no-side-effects.js.map +1 -1
- package/checks/rules/no-unused-bundle-dependencies.js +0 -24
- package/checks/rules/no-unused-bundle-dependencies.js.map +1 -1
- package/checks/rules/registry.js +0 -9
- package/checks/rules/registry.js.map +1 -1
- package/checks/rules/required-files.js +0 -31
- package/checks/rules/required-files.js.map +1 -1
- package/checks/rules/unique-target-paths.js +0 -25
- package/checks/rules/unique-target-paths.js.map +1 -1
- package/config/additional-files.js +0 -4
- package/config/additional-files.js.map +1 -1
- package/config/automatic-versioning-settings.js +0 -4
- package/config/automatic-versioning-settings.js.map +1 -1
- package/config/config.js +0 -2
- 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 -1
- package/config/dead-code-elimination-settings.js +1 -3
- package/config/dead-code-elimination-settings.js.map +1 -1
- package/config/dependency-policy.js +0 -3
- package/config/dependency-policy.js.map +1 -1
- package/config/main-package-json-schema.js +0 -1
- package/config/main-package-json-schema.js.map +1 -1
- package/config/manual-versioning-settings.js +0 -4
- package/config/manual-versioning-settings.js.map +1 -1
- package/config/package-config.js +0 -6
- package/config/package-config.js.map +1 -1
- package/config/package-interface.d.ts +2 -0
- package/config/package-interface.d.ts.map +1 -1
- package/config/package-interface.js +0 -23
- 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 +0 -16
- package/config/package-json.js.map +1 -1
- package/config/packtory-config-schema.js +0 -3
- package/config/packtory-config-schema.js.map +1 -1
- package/config/publish-settings.js +0 -22
- package/config/publish-settings.js.map +1 -1
- package/config/registry-settings.d.ts +0 -20
- package/config/registry-settings.d.ts.map +1 -1
- package/config/registry-settings.js +0 -38
- package/config/registry-settings.js.map +1 -1
- package/config/root.js +0 -4
- package/config/root.js.map +1 -1
- package/config/sbom-settings.js +0 -3
- package/config/sbom-settings.js.map +1 -1
- package/config/validation.d.ts.map +1 -1
- package/config/validation.js +0 -232
- package/config/validation.js.map +1 -1
- package/config/versioning-settings.js +0 -1
- package/config/versioning-settings.js.map +1 -1
- package/dead-code-eliminator/analyzed-bundle.d.ts +2 -0
- package/dead-code-eliminator/analyzed-bundle.d.ts.map +1 -1
- package/dead-code-eliminator/analyzed-bundle.js +0 -7
- package/dead-code-eliminator/analyzed-bundle.js.map +1 -1
- package/dead-code-eliminator/eliminator.js +3 -2
- package/dead-code-eliminator/eliminator.js.map +1 -1
- package/dead-code-eliminator/load-bundle.js +7 -6
- package/dead-code-eliminator/load-bundle.js.map +1 -1
- package/dead-code-eliminator/reachability/impure-statements.js +2 -2
- package/dead-code-eliminator/reachability/impure-statements.js.map +1 -1
- package/dead-code-eliminator/reachability/reachability.js +3 -3
- package/dead-code-eliminator/reachability/reachability.js.map +1 -1
- package/dead-code-eliminator/side-effect-classifier.js +141 -24
- package/dead-code-eliminator/side-effect-classifier.js.map +1 -1
- package/dependency-scanner/dependency-graph.d.ts +0 -2
- package/dependency-scanner/dependency-graph.d.ts.map +1 -1
- package/dependency-scanner/dependency-graph.js +0 -73
- package/dependency-scanner/dependency-graph.js.map +1 -1
- package/dependency-scanner/external-dependencies.d.ts +0 -1
- package/dependency-scanner/external-dependencies.d.ts.map +1 -1
- package/dependency-scanner/external-dependencies.js +0 -16
- package/dependency-scanner/external-dependencies.js.map +1 -1
- package/dependency-scanner/scanner.js +0 -69
- package/dependency-scanner/scanner.js.map +1 -1
- package/dependency-scanner/source-file-references.js +0 -26
- package/dependency-scanner/source-file-references.js.map +1 -1
- package/dependency-scanner/source-map-file-locator.js +0 -27
- package/dependency-scanner/source-map-file-locator.js.map +1 -1
- package/dependency-scanner/typescript-file-host.js +0 -114
- package/dependency-scanner/typescript-file-host.js.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.d.ts +0 -1
- package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.js +0 -52
- package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
- package/directed-graph/graph.d.ts +0 -1
- package/directed-graph/graph.d.ts.map +1 -1
- package/directed-graph/graph.js +0 -229
- package/directed-graph/graph.js.map +1 -1
- package/file-manager/compare.js +0 -17
- package/file-manager/compare.js.map +1 -1
- package/file-manager/equal.js +0 -5
- package/file-manager/equal.js.map +1 -1
- package/file-manager/file-manager.js +0 -52
- package/file-manager/file-manager.js.map +1 -1
- package/file-manager/permissions.js +0 -26
- package/file-manager/permissions.js.map +1 -1
- package/linker/linker.js +0 -23
- package/linker/linker.js.map +1 -1
- package/linker/resource-graph.js +0 -25
- package/linker/resource-graph.js.map +1 -1
- package/linker/source-modifier/import-paths.js +0 -22
- package/linker/source-modifier/import-paths.js.map +1 -1
- package/linker/substitute-bundles.js +0 -79
- package/linker/substitute-bundles.js.map +1 -1
- package/linker/substituted-resource-graph.js +0 -72
- package/linker/substituted-resource-graph.js.map +1 -1
- package/package-surface/modules.js +12 -230
- package/package-surface/modules.js.map +1 -1
- package/package-surface/surface.d.ts +0 -2
- package/package-surface/surface.d.ts.map +1 -1
- package/package-surface/surface.js +0 -15
- package/package-surface/surface.js.map +1 -1
- package/package.json +41 -3
- package/packtory/map-config.js +0 -14
- package/packtory/map-config.js.map +1 -1
- package/packtory/normalize-paths.js +0 -24
- package/packtory/normalize-paths.js.map +1 -1
- package/packtory/package-processor-build.js +0 -72
- package/packtory/package-processor-build.js.map +1 -1
- package/packtory/package-processor-publish.d.ts +0 -11
- package/packtory/package-processor-publish.d.ts.map +1 -1
- package/packtory/package-processor-publish.js +0 -133
- package/packtory/package-processor-publish.js.map +1 -1
- package/packtory/package-processor.js +0 -8
- package/packtory/package-processor.js.map +1 -1
- package/packtory/packtory-resolve.js +16 -9
- package/packtory/packtory-resolve.js.map +1 -1
- package/packtory/packtory-results.js +0 -15
- package/packtory/packtory-results.js.map +1 -1
- package/packtory/prepare-package-options.d.ts +2 -14
- package/packtory/prepare-package-options.d.ts.map +1 -1
- package/packtory/prepare-package-options.js +1 -118
- package/packtory/prepare-package-options.js.map +1 -1
- package/packtory/resolved-package.js +0 -31
- package/packtory/resolved-package.js.map +1 -1
- package/progress/progress-broadcaster.js +0 -45
- package/progress/progress-broadcaster.js.map +1 -1
- package/report/artifact-entry-merger.js +0 -20
- package/report/artifact-entry-merger.js.map +1 -1
- package/report/inspectors.js +0 -73
- package/report/inspectors.js.map +1 -1
- package/report/report-aggregator.js +0 -185
- package/report/report-aggregator.js.map +1 -1
- package/resource-resolver/content.js +0 -53
- package/resource-resolver/content.js.map +1 -1
- package/resource-resolver/resource-resolve-options.js +0 -12
- package/resource-resolver/resource-resolve-options.js.map +1 -1
- package/resource-resolver/resource-resolver.js +0 -78
- package/resource-resolver/resource-resolver.js.map +1 -1
- package/sbom/extract-license.js +0 -10
- package/sbom/extract-license.js.map +1 -1
- package/sbom/license-resolver.js +0 -19
- package/sbom/license-resolver.js.map +1 -1
- package/sbom/sbom-file.js +0 -54
- package/sbom/sbom-file.js.map +1 -1
- package/sbom/sbom-serializer.js +0 -9
- package/sbom/sbom-serializer.js.map +1 -1
- package/sbom.cdx.json +390 -0
- package/tar/extract-tar.js +0 -38
- package/tar/extract-tar.js.map +1 -1
- package/version-manager/manager.js +0 -46
- package/version-manager/manager.js.map +1 -1
- package/version-manager/manifest/builder.js +0 -56
- package/version-manager/manifest/builder.js.map +1 -1
- package/version-manager/manifest/serialize.js +0 -46
- package/version-manager/manifest/serialize.js.map +1 -1
- package/version-manager/manifest/sort-values.js +0 -16
- package/version-manager/manifest/sort-values.js.map +1 -1
- package/version-manager/specifier-classifier.js +0 -33
- package/version-manager/specifier-classifier.js.map +1 -1
- package/version-manager/specifier-errors.js +0 -43
- package/version-manager/specifier-errors.js.map +1 -1
- package/version-manager/versioned-bundle-dependencies.js +0 -107
- package/version-manager/versioned-bundle-dependencies.js.map +1 -1
- package/version-manager/versioned-bundle-imports.d.ts +0 -1
- package/version-manager/versioned-bundle-imports.d.ts.map +1 -1
- package/version-manager/versioned-bundle-imports.js +0 -72
- package/version-manager/versioned-bundle-imports.js.map +1 -1
- package/version-manager/versioned-bundle.d.ts +0 -1
- package/version-manager/versioned-bundle.d.ts.map +1 -1
- package/version-manager/versioned-bundle.js +0 -60
- package/version-manager/versioned-bundle.js.map +1 -1
package/packtory/map-config.js
CHANGED
|
@@ -1,16 +1,2 @@
|
|
|
1
1
|
import { preparePackageOptions, resolvePublishSettings } from "./prepare-package-options.js";
|
|
2
|
-
export function configToBuildAndPublishOptions(packageName, packageConfigs, packtoryConfig, existingBundles) {
|
|
3
|
-
const { packageConfig, sharedOptions, versioning } = preparePackageOptions(packageName, packageConfigs, packtoryConfig, existingBundles);
|
|
4
|
-
const publishSettings = resolvePublishSettings(packageConfig, packtoryConfig);
|
|
5
|
-
return {
|
|
6
|
-
...sharedOptions,
|
|
7
|
-
versioning,
|
|
8
|
-
registrySettings: packtoryConfig.registrySettings,
|
|
9
|
-
publishSettings
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
export function configToResolveAndLinkOptions(packageName, packageConfigs, packtoryConfig, existingBundles) {
|
|
13
|
-
const { sharedOptions } = preparePackageOptions(packageName, packageConfigs, packtoryConfig, existingBundles);
|
|
14
|
-
return sharedOptions;
|
|
15
|
-
}
|
|
16
2
|
//# sourceMappingURL=map-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-config.js","sourceRoot":"","sources":["../../../../source/packtory/map-config.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EAIzB,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"map-config.js","sourceRoot":"","sources":["../../../../source/packtory/map-config.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EAIzB,MAAM,8BAA8B"}
|
|
@@ -1,26 +1,2 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
function ensureAbsolutePath(filePath, folder) {
|
|
3
|
-
if (path.isAbsolute(filePath)) {
|
|
4
|
-
return filePath;
|
|
5
|
-
}
|
|
6
|
-
return path.join(folder, filePath);
|
|
7
|
-
}
|
|
8
|
-
export function normalizeRoot(root, sourceFolder) {
|
|
9
|
-
const { js, declarationFile } = root;
|
|
10
|
-
if (declarationFile !== undefined) {
|
|
11
|
-
return {
|
|
12
|
-
js: ensureAbsolutePath(js, sourceFolder),
|
|
13
|
-
declarationFile: ensureAbsolutePath(declarationFile, sourceFolder)
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
return {
|
|
17
|
-
js: ensureAbsolutePath(js, sourceFolder)
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
export function normalizeAdditionalFile(additionalFile, sourceFolder) {
|
|
21
|
-
return {
|
|
22
|
-
sourceFilePath: ensureAbsolutePath(additionalFile.sourceFilePath, sourceFolder),
|
|
23
|
-
targetFilePath: additionalFile.targetFilePath
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
2
|
//# sourceMappingURL=normalize-paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-paths.js","sourceRoot":"","sources":["../../../../source/packtory/normalize-paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"normalize-paths.js","sourceRoot":"","sources":["../../../../source/packtory/normalize-paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW"}
|
|
@@ -1,75 +1,3 @@
|
|
|
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) {
|
|
22
|
-
const [analyzedBundle] = await dependencies.deadCodeEliminator.eliminate([
|
|
23
|
-
{ bundle: linkedBundle, transformationsEnabled }
|
|
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);
|
|
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
|
-
}
|
|
75
3
|
//# 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":"
|
|
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;AAEzF,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB"}
|
|
@@ -5,12 +5,6 @@ import type { SbomFileBuilder } from '../sbom/sbom-file.ts';
|
|
|
5
5
|
import type { VersionManager } from '../version-manager/manager.ts';
|
|
6
6
|
import type { BuildAndPublishOptions } from './map-config.ts';
|
|
7
7
|
type VersionedBundleWithManifest = Awaited<ReturnType<VersionManager['addVersion']>>;
|
|
8
|
-
type PublishDependencies = {
|
|
9
|
-
readonly bundleEmitter: BundleEmitter;
|
|
10
|
-
readonly progressBroadcaster: ProgressBroadcastProvider;
|
|
11
|
-
readonly sbomFileBuilder: SbomFileBuilder;
|
|
12
|
-
readonly versionManager: VersionManager;
|
|
13
|
-
};
|
|
14
8
|
export type BuildAndPublishResult = {
|
|
15
9
|
readonly status: 'already-published' | 'initial-version' | 'new-version';
|
|
16
10
|
readonly bundle: VersionedBundleWithManifest;
|
|
@@ -20,10 +14,5 @@ export type DetermineVersionAndPublishOptions = {
|
|
|
20
14
|
readonly buildOptions: BuildAndPublishOptions;
|
|
21
15
|
readonly substitutionPublicModuleSourcePaths?: ReadonlySet<string> | undefined;
|
|
22
16
|
};
|
|
23
|
-
export type PublishOperations = {
|
|
24
|
-
readonly buildAndPublish: (options: DetermineVersionAndPublishOptions) => Promise<BuildAndPublishResult>;
|
|
25
|
-
readonly tryBuildAndPublish: (options: DetermineVersionAndPublishOptions) => Promise<BuildAndPublishResult>;
|
|
26
|
-
};
|
|
27
|
-
export declare function createPublishOperations(dependencies: PublishDependencies): PublishOperations;
|
|
28
17
|
export {};
|
|
29
18
|
//# 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
|
|
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;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC5C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,mCAAmC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CAClF"}
|
|
@@ -1,134 +1 @@
|
|
|
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
1
|
//# 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":""}
|
|
@@ -1,11 +1,3 @@
|
|
|
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
|
-
}
|
|
11
3
|
//# 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;AAC9E,OAAO,EACH,uBAAuB,EAG1B,MAAM,gCAAgC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { Result } from 'true-myth';
|
|
2
|
+
import { resolveDeadCodeEliminationSettings } from "../config/dead-code-elimination-settings.js";
|
|
2
3
|
import { resolveRootsAndSurface } from "../resource-resolver/resource-resolve-options.js";
|
|
3
4
|
import { withFailureCapture } from "../report/decorators.js";
|
|
4
5
|
import { configToResolveAndLinkOptions } from "./map-config.js";
|
|
5
6
|
import { resolvePartialFailure } from "./packtory-results.js";
|
|
6
7
|
import { buildChecksResult, createResolvedPackage } from "./resolved-package.js";
|
|
7
|
-
function
|
|
8
|
-
const
|
|
8
|
+
function resolveDeadCodeEliminationByName(validated) {
|
|
9
|
+
const commonSettings = validated.packtoryConfig.commonPackageSettings?.deadCodeElimination;
|
|
9
10
|
return new Map(validated.packtoryConfig.packages.map((packageConfig) => {
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
return [
|
|
12
|
+
packageConfig.name,
|
|
13
|
+
resolveDeadCodeEliminationSettings(packageConfig.deadCodeElimination, commonSettings)
|
|
14
|
+
];
|
|
12
15
|
}));
|
|
13
16
|
}
|
|
14
17
|
function createResolveOptions(packageName, existing, config) {
|
|
@@ -47,13 +50,17 @@ async function resolvePackages(dependencies, config) {
|
|
|
47
50
|
});
|
|
48
51
|
}
|
|
49
52
|
async function analyzeResolvedPackages(dependencies, config, linkedPackages) {
|
|
50
|
-
const
|
|
53
|
+
const deadCodeEliminationByName = resolveDeadCodeEliminationByName(config);
|
|
51
54
|
const analyzedBundles = await dependencies.deadCodeEliminator.eliminate(linkedPackages.map((linkedPackage) => {
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
54
|
-
throw new Error(`Missing
|
|
55
|
+
const deadCodeElimination = deadCodeEliminationByName.get(linkedPackage.name);
|
|
56
|
+
if (!deadCodeEliminationByName.has(linkedPackage.name)) {
|
|
57
|
+
throw new Error(`Missing dead-code elimination settings for package "${linkedPackage.name}"`);
|
|
55
58
|
}
|
|
56
|
-
return {
|
|
59
|
+
return {
|
|
60
|
+
bundle: linkedPackage.linkedBundle,
|
|
61
|
+
transformationsEnabled: deadCodeElimination?.enabled ?? true,
|
|
62
|
+
deadCodeElimination
|
|
63
|
+
};
|
|
57
64
|
}));
|
|
58
65
|
return linkedPackages.map((linkedPackage, index) => {
|
|
59
66
|
const analyzedBundle = analyzedBundles[index];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packtory-resolve.js","sourceRoot":"","sources":["../../../../source/packtory/packtory-resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"packtory-resolve.js","sourceRoot":"","sources":["../../../../source/packtory/packtory-resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1 @@
|
|
|
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
1
|
//# 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":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PackageConfig, PackageConfigsByName, PacktoryConfigWithoutRegistry } from '../config/config.ts';
|
|
2
|
+
import { type DeadCodeEliminationSettings } from '../config/dead-code-elimination-settings.ts';
|
|
2
3
|
import type { ResourceResolveOptions } from '../resource-resolver/resource-resolve-options.ts';
|
|
3
4
|
import type { BuildVersionedBundleOptions } from '../version-manager/versioned-bundle.ts';
|
|
4
5
|
export type PublishSettings = NonNullable<PackageConfig['publishSettings']>;
|
|
@@ -9,20 +10,7 @@ export type SharedPackageOptions<TBundle extends {
|
|
|
9
10
|
}> = ManifestOptionsSubset & ResourceResolveOptions & {
|
|
10
11
|
readonly bundleDependencies: readonly TBundle[];
|
|
11
12
|
readonly bundlePeerDependencies: readonly TBundle[];
|
|
12
|
-
readonly deadCodeElimination?:
|
|
13
|
-
readonly enabled: boolean;
|
|
14
|
-
} | undefined;
|
|
13
|
+
readonly deadCodeElimination?: DeadCodeEliminationSettings | undefined;
|
|
15
14
|
};
|
|
16
|
-
export type PreparedPackageOptions<TBundle extends {
|
|
17
|
-
name: string;
|
|
18
|
-
}> = {
|
|
19
|
-
readonly packageConfig: PackageConfig;
|
|
20
|
-
readonly sharedOptions: SharedPackageOptions<TBundle>;
|
|
21
|
-
readonly versioning: VersioningSettings;
|
|
22
|
-
};
|
|
23
|
-
export declare function resolvePublishSettings(packageConfig: PackageConfig, packtoryConfig: PacktoryConfigWithoutRegistry): PublishSettings;
|
|
24
|
-
export declare function preparePackageOptions<TBundle extends {
|
|
25
|
-
name: string;
|
|
26
|
-
}>(packageName: string, packageConfigs: PackageConfigsByName, packtoryConfig: PacktoryConfigWithoutRegistry, existingBundles: readonly TBundle[]): PreparedPackageOptions<TBundle>;
|
|
27
15
|
export {};
|
|
28
16
|
//# sourceMappingURL=prepare-package-options.d.ts.map
|
|
@@ -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,
|
|
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;AAGzF,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAKzE,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"}
|
|
@@ -1,122 +1,5 @@
|
|
|
1
1
|
import { indexBy, values } from 'remeda';
|
|
2
|
+
import { resolveDeadCodeEliminationSettings } from "../config/dead-code-elimination-settings.js";
|
|
2
3
|
import { explicitPackageSurface, implicitPackageSurface } from "../package-surface/surface.js";
|
|
3
4
|
import { normalizeAdditionalFile, normalizeRoot } from "./normalize-paths.js";
|
|
4
|
-
function dependencyNamesToBundles(dependencyNames, bundles) {
|
|
5
|
-
const bundlesByName = indexBy(bundles, (bundle) => {
|
|
6
|
-
return bundle.name;
|
|
7
|
-
});
|
|
8
|
-
return dependencyNames.map((dependencyName) => {
|
|
9
|
-
const matchingBundle = bundlesByName[dependencyName];
|
|
10
|
-
if (matchingBundle === undefined) {
|
|
11
|
-
throw new Error(`Dependent bundle "${dependencyName}" not found`);
|
|
12
|
-
}
|
|
13
|
-
return matchingBundle;
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
function mergeAdditionalFiles(firstFiles = [], secondFiles = []) {
|
|
17
|
-
return values(indexBy([...firstFiles, ...secondFiles], (file) => {
|
|
18
|
-
return file.targetFilePath;
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
21
|
-
function getRequiredArrayValue(items, message) {
|
|
22
|
-
const [firstValue, ...remainingValues] = items;
|
|
23
|
-
if (firstValue === undefined) {
|
|
24
|
-
throw new Error(message);
|
|
25
|
-
}
|
|
26
|
-
return [firstValue, ...remainingValues];
|
|
27
|
-
}
|
|
28
|
-
function getRequiredValue(value, message) {
|
|
29
|
-
if (value === undefined) {
|
|
30
|
-
throw new Error(message);
|
|
31
|
-
}
|
|
32
|
-
return value;
|
|
33
|
-
}
|
|
34
|
-
function mapRequiredArrayValue(items, mapper) {
|
|
35
|
-
const [firstItem, ...remainingItems] = items;
|
|
36
|
-
return [mapper(firstItem), ...remainingItems.map(mapper)];
|
|
37
|
-
}
|
|
38
|
-
function resolveDefaultModuleRoot(rootIds, packageConfig) {
|
|
39
|
-
const [firstRootId, secondRootId] = rootIds;
|
|
40
|
-
if (secondRootId === undefined) {
|
|
41
|
-
return firstRootId;
|
|
42
|
-
}
|
|
43
|
-
return getRequiredValue(packageConfig.defaultModuleRoot, `Config for package "${packageConfig.name}" is missing defaultModuleRoot`);
|
|
44
|
-
}
|
|
45
|
-
function resolveSurface(rootIds, packageConfig) {
|
|
46
|
-
if (packageConfig.packageInterface === undefined) {
|
|
47
|
-
return implicitPackageSurface(resolveDefaultModuleRoot(rootIds, packageConfig));
|
|
48
|
-
}
|
|
49
|
-
return explicitPackageSurface(packageConfig.packageInterface);
|
|
50
|
-
}
|
|
51
|
-
function getPackageConfig(packageName, packageConfigs) {
|
|
52
|
-
const packageConfig = packageConfigs[packageName];
|
|
53
|
-
if (packageConfig === undefined) {
|
|
54
|
-
throw new Error(`Config for package "${packageName}" is missing`);
|
|
55
|
-
}
|
|
56
|
-
return packageConfig;
|
|
57
|
-
}
|
|
58
|
-
function resolveSourcesFolder(packageConfig, packtoryConfig) {
|
|
59
|
-
return getRequiredValue(packageConfig.sourcesFolder ?? packtoryConfig.commonPackageSettings?.sourcesFolder, `Config for package "${packageConfig.name}" is missing the sources folder`);
|
|
60
|
-
}
|
|
61
|
-
function resolveMainPackageJson(packageConfig, packtoryConfig) {
|
|
62
|
-
return getRequiredValue(packageConfig.mainPackageJson ?? packtoryConfig.commonPackageSettings?.mainPackageJson, `Config for package "${packageConfig.name}" is missing the main package.json settings`);
|
|
63
|
-
}
|
|
64
|
-
export function resolvePublishSettings(packageConfig, packtoryConfig) {
|
|
65
|
-
return getRequiredValue(packageConfig.publishSettings ?? packtoryConfig.commonPackageSettings?.publishSettings, `Config for package "${packageConfig.name}" is missing publish settings`);
|
|
66
|
-
}
|
|
67
|
-
function resolveAllowMutableSpecifiers(packageConfig, packtoryConfig) {
|
|
68
|
-
const dependencyPolicy = packageConfig.dependencyPolicy ?? packtoryConfig.commonPackageSettings?.dependencyPolicy;
|
|
69
|
-
return dependencyPolicy?.allowMutableSpecifiers ?? [];
|
|
70
|
-
}
|
|
71
|
-
function buildAdditionalPackageJsonAttributes(packageConfig, packtoryConfig) {
|
|
72
|
-
return {
|
|
73
|
-
...packtoryConfig.commonPackageSettings?.additionalPackageJsonAttributes,
|
|
74
|
-
...packageConfig.additionalPackageJsonAttributes
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
function resolveIncludeSourceMapFiles(packageConfig, packtoryConfig) {
|
|
78
|
-
return packageConfig.includeSourceMapFiles ?? packtoryConfig.commonPackageSettings?.includeSourceMapFiles ?? false;
|
|
79
|
-
}
|
|
80
|
-
function resolveAdditionalFiles(packageConfig, sourcesFolder, packtoryConfig) {
|
|
81
|
-
return mergeAdditionalFiles(packtoryConfig.commonPackageSettings?.additionalFiles, packageConfig.additionalFiles).map((additionalFile) => {
|
|
82
|
-
return normalizeAdditionalFile(additionalFile, sourcesFolder);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
function resolveBundleDependencies(packageConfig, existingBundles) {
|
|
86
|
-
return {
|
|
87
|
-
bundleDependencies: dependencyNamesToBundles(packageConfig.bundleDependencies ?? [], existingBundles),
|
|
88
|
-
bundlePeerDependencies: dependencyNamesToBundles(packageConfig.bundlePeerDependencies ?? [], existingBundles)
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
function buildSharedOptions(packageConfig, packtoryConfig, existingBundles) {
|
|
92
|
-
const sourcesFolder = resolveSourcesFolder(packageConfig, packtoryConfig);
|
|
93
|
-
const mainPackageJson = resolveMainPackageJson(packageConfig, packtoryConfig);
|
|
94
|
-
const bundleDependencies = resolveBundleDependencies(packageConfig, existingBundles);
|
|
95
|
-
const normalizedRootEntries = getRequiredArrayValue(Object.entries(packageConfig.roots).map(([rootId, root]) => {
|
|
96
|
-
return [rootId, normalizeRoot(root, sourcesFolder)];
|
|
97
|
-
}), `Package "${packageConfig.name}" must define at least one root`);
|
|
98
|
-
const roots = Object.fromEntries(normalizedRootEntries);
|
|
99
|
-
const rootIds = mapRequiredArrayValue(normalizedRootEntries, ([rootId]) => {
|
|
100
|
-
return rootId;
|
|
101
|
-
});
|
|
102
|
-
const surface = resolveSurface(rootIds, packageConfig);
|
|
103
|
-
return {
|
|
104
|
-
name: packageConfig.name,
|
|
105
|
-
roots,
|
|
106
|
-
surface,
|
|
107
|
-
sourcesFolder,
|
|
108
|
-
includeSourceMapFiles: resolveIncludeSourceMapFiles(packageConfig, packtoryConfig),
|
|
109
|
-
additionalFiles: resolveAdditionalFiles(packageConfig, sourcesFolder, packtoryConfig),
|
|
110
|
-
mainPackageJson,
|
|
111
|
-
additionalPackageJsonAttributes: buildAdditionalPackageJsonAttributes(packageConfig, packtoryConfig),
|
|
112
|
-
allowMutableSpecifiers: resolveAllowMutableSpecifiers(packageConfig, packtoryConfig),
|
|
113
|
-
...bundleDependencies
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
export function preparePackageOptions(packageName, packageConfigs, packtoryConfig, existingBundles) {
|
|
117
|
-
const packageConfig = getPackageConfig(packageName, packageConfigs);
|
|
118
|
-
const sharedOptions = buildSharedOptions(packageConfig, packtoryConfig, existingBundles);
|
|
119
|
-
const versioning = packageConfig.versioning ?? { automatic: true };
|
|
120
|
-
return { packageConfig, sharedOptions, versioning };
|
|
121
|
-
}
|
|
122
5
|
//# 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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ;AAExC,OAAO,EACH,kCAAkC,EAErC,MAAM,6CAA6C;AACpD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAuB,MAAM,+BAA+B;AAGnH,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,sBAAsB"}
|