packtory 0.0.22 → 0.0.23
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/bundle-emitter/emitter.d.ts.map +1 -1
- package/bundle-emitter/emitter.js +2 -2
- package/bundle-emitter/emitter.js.map +1 -1
- package/bundle-emitter/publish-error/auto-mode-error-matching.js +6 -7
- package/bundle-emitter/publish-error/auto-mode-error-matching.js.map +1 -1
- package/bundle-emitter/publish-error/file-mode-error-matching.js +16 -10
- package/bundle-emitter/publish-error/file-mode-error-matching.js.map +1 -1
- package/bundle-emitter/publish-error/publish-error-messages.js +15 -27
- package/bundle-emitter/publish-error/publish-error-messages.js.map +1 -1
- package/bundle-emitter/registry/metadata-auth-retry.js +5 -6
- package/bundle-emitter/registry/metadata-auth-retry.js.map +1 -1
- package/bundle-emitter/registry/oidc-token-exchange.js +6 -14
- package/bundle-emitter/registry/oidc-token-exchange.js.map +1 -1
- package/bundle-emitter/registry/package-metadata-fetcher.js +12 -17
- package/bundle-emitter/registry/package-metadata-fetcher.js.map +1 -1
- package/bundle-emitter/registry/publish-settings-bridge.js +8 -12
- package/bundle-emitter/registry/publish-settings-bridge.js.map +1 -1
- package/bundle-emitter/registry/registry-auth-config.js +22 -26
- package/bundle-emitter/registry/registry-auth-config.js.map +1 -1
- package/bundle-emitter/registry/registry-client.d.ts +1 -1
- package/bundle-emitter/registry/registry-client.d.ts.map +1 -1
- package/bundle-emitter/registry/registry-client.js +13 -6
- package/bundle-emitter/registry/registry-client.js.map +1 -1
- package/bundle-emitter/registry/registry-package-path.js +4 -0
- package/bundle-emitter/registry/registry-package-path.js.map +1 -0
- package/bundle-emitter/repository-coherence.js +17 -23
- package/bundle-emitter/repository-coherence.js.map +1 -1
- package/bundle-emitter/repository-url-normalizer.js +5 -8
- package/bundle-emitter/repository-url-normalizer.js.map +1 -1
- package/checks/rules/duplicate-messages.js +7 -10
- package/checks/rules/duplicate-messages.js.map +1 -1
- package/checks/rules/no-unused-bundle-dependencies.js +10 -13
- package/checks/rules/no-unused-bundle-dependencies.js.map +1 -1
- package/common/bundled-dependency-groups.js +28 -0
- package/common/bundled-dependency-groups.js.map +1 -0
- package/common/package-layout.js +49 -0
- package/common/package-layout.js.map +1 -0
- package/common/package-name-map.js +8 -0
- package/common/package-name-map.js.map +1 -0
- package/common/worklist.js +23 -0
- package/common/worklist.js.map +1 -0
- package/config/config.d.ts +1 -1
- package/config/config.d.ts.map +1 -1
- package/config/dependency-existence-validation.js +15 -17
- package/config/dependency-existence-validation.js.map +1 -1
- package/config/package-config.d.ts.map +1 -1
- package/config/package-config.js +2 -6
- package/config/package-config.js.map +1 -1
- package/config/publish-settings.d.ts.map +1 -1
- package/config/publish-settings.report.js +8 -7
- package/config/publish-settings.report.js.map +1 -1
- package/config/registry-settings.d.ts.map +1 -1
- package/config/root-config-validation.js +86 -81
- package/config/root-config-validation.js.map +1 -1
- package/dead-code-eliminator/cross-bundle/bundle-index.js +0 -3
- package/dead-code-eliminator/cross-bundle/bundle-index.js.map +1 -1
- package/dead-code-eliminator/cross-bundle/import-export-walker.js +4 -2
- package/dead-code-eliminator/cross-bundle/import-export-walker.js.map +1 -1
- package/dead-code-eliminator/eliminator.js.map +1 -1
- package/dead-code-eliminator/imported-expression-origin.js +28 -32
- package/dead-code-eliminator/imported-expression-origin.js.map +1 -1
- package/dead-code-eliminator/pure-expression.js +53 -64
- package/dead-code-eliminator/pure-expression.js.map +1 -1
- package/dead-code-eliminator/reachability/bfs-closure.js +31 -24
- package/dead-code-eliminator/reachability/bfs-closure.js.map +1 -1
- package/dead-code-eliminator/side-effect-classifier.js +2 -2
- package/dead-code-eliminator/side-effect-classifier.js.map +1 -1
- package/dead-code-eliminator/statement-classifiers.js +4 -5
- package/dead-code-eliminator/statement-classifiers.js.map +1 -1
- package/dead-code-eliminator/syntax-kind-sets.js +24 -65
- package/dead-code-eliminator/syntax-kind-sets.js.map +1 -1
- package/dependency-scanner/node-modules-manifest-synthesizer.js +3 -6
- package/dependency-scanner/node-modules-manifest-synthesizer.js.map +1 -1
- package/dependency-scanner/package-owned-asset-file-path.js +2 -13
- package/dependency-scanner/package-owned-asset-file-path.js.map +1 -1
- package/dependency-scanner/scanner.js +39 -29
- package/dependency-scanner/scanner.js.map +1 -1
- package/dependency-scanner/source-file-references.d.ts.map +1 -1
- package/dependency-scanner/source-file-references.js +75 -79
- package/dependency-scanner/source-file-references.js.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.js +2 -1
- package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
- package/dependency-scanner/virtual-package-json-host.js +2 -1
- package/dependency-scanner/virtual-package-json-host.js.map +1 -1
- package/directed-graph/graph.js +38 -64
- package/directed-graph/graph.js.map +1 -1
- package/file-manager/compare.js +7 -3
- package/file-manager/compare.js.map +1 -1
- package/file-manager/file-description-by-path.js +8 -0
- package/file-manager/file-description-by-path.js.map +1 -0
- package/npm-oidc-id-token-resolver.js +17 -14
- package/npm-oidc-id-token-resolver.js.map +1 -1
- package/package-surface/implicit-bin.js +9 -6
- package/package-surface/implicit-bin.js.map +1 -1
- package/package-surface/package-json-export.js +4 -3
- package/package-surface/package-json-export.js.map +1 -1
- package/package-surface/package-shape.js +4 -3
- package/package-surface/package-shape.js.map +1 -1
- package/package-surface/package-surface-index.js +136 -0
- package/package-surface/package-surface-index.js.map +1 -0
- package/package-surface/public-specifiers.js +3 -12
- package/package-surface/public-specifiers.js.map +1 -1
- package/package-surface/root-registry.js +10 -20
- package/package-surface/root-registry.js.map +1 -1
- package/package-surface/specifier-syntax.js +0 -19
- package/package-surface/specifier-syntax.js.map +1 -1
- package/package-surface/substitution-exports.js +59 -35
- package/package-surface/substitution-exports.js.map +1 -1
- package/package-surface/surface.js +0 -3
- package/package-surface/surface.js.map +1 -1
- package/package.json +16 -4
- package/packtory/options/bundle-dependency-resolution.js +6 -8
- package/packtory/options/bundle-dependency-resolution.js.map +1 -1
- package/packtory/options/version-trigger.js.map +1 -1
- package/packtory/package-processor-publish.d.ts +2 -1
- package/packtory/package-processor-publish.d.ts.map +1 -1
- package/packtory/package-processor-publish.js +19 -13
- package/packtory/package-processor-publish.js.map +1 -1
- package/packtory/packtory-pack.js +129 -141
- package/packtory/packtory-pack.js.map +1 -1
- package/packtory/packtory-release-analysis.js +8 -16
- package/packtory/packtory-release-analysis.js.map +1 -1
- package/packtory/packtory-results.d.ts +26 -11
- package/packtory/packtory-results.d.ts.map +1 -1
- package/packtory/packtory-results.js +27 -5
- package/packtory/packtory-results.js.map +1 -1
- package/packtory/packtory.js +65 -49
- package/packtory/packtory.js.map +1 -1
- package/packtory/partial-result.js +26 -0
- package/packtory/partial-result.js.map +1 -0
- package/packtory/published-release-state.d.ts +9 -0
- package/packtory/published-release-state.d.ts.map +1 -0
- package/packtory/published-release-state.js +12 -0
- package/packtory/published-release-state.js.map +1 -0
- package/packtory/release-analysis.js +74 -81
- package/packtory/release-analysis.js.map +1 -1
- package/packtory/resolved-package.js +6 -6
- package/packtory/resolved-package.js.map +1 -1
- package/packtory/scheduler.d.ts +1 -0
- package/packtory/scheduler.d.ts.map +1 -1
- package/packtory/scheduler.js +70 -52
- package/packtory/scheduler.js.map +1 -1
- package/packtory/stages/publish-stage.js +11 -6
- package/packtory/stages/publish-stage.js.map +1 -1
- package/packtory/stages/release-diff-stage.js +11 -10
- package/packtory/stages/release-diff-stage.js.map +1 -1
- package/report/aggregator/package-report-materialization.js +35 -22
- package/report/aggregator/package-report-materialization.js.map +1 -1
- package/report/config-redactor.js +5 -4
- package/report/config-redactor.js.map +1 -1
- package/report/inspectors/inspect-artifact-sizes.js +7 -3
- package/report/inspectors/inspect-artifact-sizes.js.map +1 -1
- package/report/inspectors/inspect-scan-results.js +8 -2
- package/report/inspectors/inspect-scan-results.js.map +1 -1
- package/report/preview/preview-document-diff.d.ts +6 -1
- package/report/preview/preview-document-diff.d.ts.map +1 -1
- package/report/preview/preview-document-diff.js +8 -3
- package/report/preview/preview-document-diff.js.map +1 -1
- package/report/release-diff/file-set-diff.d.ts +14 -4
- package/report/release-diff/file-set-diff.d.ts.map +1 -1
- package/report/release-diff/file-set-diff.js +28 -28
- package/report/release-diff/file-set-diff.js.map +1 -1
- package/report/release-diff/release-version-transition.js +6 -4
- package/report/release-diff/release-version-transition.js.map +1 -1
- package/resource-resolver/content.js +5 -3
- package/resource-resolver/content.js.map +1 -1
- package/sbom/license-resolver.js +3 -3
- package/sbom/license-resolver.js.map +1 -1
- package/sbom/sbom-builder.js +1 -8
- package/sbom/sbom-builder.js.map +1 -1
- package/sbom/sbom-file.d.ts.map +1 -1
- package/sbom/sbom-file.js +7 -4
- package/sbom/sbom-file.js.map +1 -1
- package/sbom/sbom-serializer.js +10 -6
- package/sbom/sbom-serializer.js.map +1 -1
- package/sbom.cdx.json +22 -5
- package/vendor-materializer/vendor-materializer.d.ts.map +1 -1
- package/vendor-materializer/vendor-materializer.js +99 -123
- package/vendor-materializer/vendor-materializer.js.map +1 -1
- package/version-manager/dependencies/bundle-dependency-grouping.js +18 -14
- package/version-manager/dependencies/bundle-dependency-grouping.js.map +1 -1
- package/version-manager/imports/versioned-bundle-imports.js +15 -12
- package/version-manager/imports/versioned-bundle-imports.js.map +1 -1
- package/version-manager/manager.d.ts.map +1 -1
- package/version-manager/manager.js +19 -24
- package/version-manager/manager.js.map +1 -1
- package/version-manager/manifest/builder.js +3 -3
- package/version-manager/manifest/builder.js.map +1 -1
- package/version-manager/optional-bundle-fields.js +2 -5
- package/version-manager/optional-bundle-fields.js.map +1 -1
- package/version-manager/representative-root.js +7 -27
- package/version-manager/representative-root.js.map +1 -1
- package/version-manager/specifier-classifier.js +13 -10
- package/version-manager/specifier-classifier.js.map +1 -1
- package/version-manager/specifier-errors.js +17 -6
- package/version-manager/specifier-errors.js.map +1 -1
- package/package-surface/explicit-specifier-build.js +0 -28
- package/package-surface/explicit-specifier-build.js.map +0 -1
- package/package-surface/explicit-specifier-resolve.js +0 -17
- package/package-surface/explicit-specifier-resolve.js.map +0 -1
- package/package-surface/implicit-specifier-build.js +0 -26
- package/package-surface/implicit-specifier-build.js.map +0 -1
- package/package-surface/implicit-specifier-resolve.js +0 -17
- package/package-surface/implicit-specifier-resolve.js.map +0 -1
|
@@ -10,29 +10,36 @@ export type UnsatisfiedPeerDependency = {
|
|
|
10
10
|
readonly packageName: string;
|
|
11
11
|
readonly peer: string;
|
|
12
12
|
};
|
|
13
|
+
export declare const packPackageFailureType: {
|
|
14
|
+
readonly bundleDependenciesUnsupported: "bundle-dependencies-unsupported";
|
|
15
|
+
readonly packageNotFound: "package-not-found";
|
|
16
|
+
readonly peerDependenciesUnsatisfied: "peer-dependencies-unsatisfied";
|
|
17
|
+
readonly vendorInvalidDependencyName: "vendor-invalid-dependency-name";
|
|
18
|
+
readonly vendorSymlinkTargetOutsidePackage: "vendor-symlink-target-outside-package";
|
|
19
|
+
};
|
|
13
20
|
type PeerDependenciesUnsatisfiedFailure = {
|
|
14
|
-
readonly type:
|
|
21
|
+
readonly type: typeof packPackageFailureType.peerDependenciesUnsatisfied;
|
|
15
22
|
readonly packageName: string;
|
|
16
23
|
readonly items: readonly UnsatisfiedPeerDependency[];
|
|
17
24
|
};
|
|
18
25
|
type VendorSymlinkOutsidePackageFailure = {
|
|
19
|
-
readonly type:
|
|
26
|
+
readonly type: typeof packPackageFailureType.vendorSymlinkTargetOutsidePackage;
|
|
20
27
|
readonly packageName: string;
|
|
21
28
|
readonly vendoredPackageName: string;
|
|
22
29
|
readonly entryRelativePath: string;
|
|
23
30
|
readonly resolvedTargetPath: string;
|
|
24
31
|
};
|
|
25
32
|
type VendorInvalidDependencyNameFailure = {
|
|
26
|
-
readonly type:
|
|
33
|
+
readonly type: typeof packPackageFailureType.vendorInvalidDependencyName;
|
|
27
34
|
readonly packageName: string;
|
|
28
35
|
readonly sourcePackageName: string | undefined;
|
|
29
36
|
readonly invalidDependencyName: string;
|
|
30
37
|
};
|
|
31
38
|
export type PackPackageFailure = PeerDependenciesUnsatisfiedFailure | VendorInvalidDependencyNameFailure | VendorSymlinkOutsidePackageFailure | {
|
|
32
|
-
readonly type:
|
|
39
|
+
readonly type: typeof packPackageFailureType.bundleDependenciesUnsupported;
|
|
33
40
|
readonly packageName: string;
|
|
34
41
|
} | {
|
|
35
|
-
readonly type:
|
|
42
|
+
readonly type: typeof packPackageFailureType.packageNotFound;
|
|
36
43
|
readonly packageName: string;
|
|
37
44
|
};
|
|
38
45
|
export type BuildAndPublishAllOptions = {
|
|
@@ -43,6 +50,14 @@ export type ResolveAndLinkAllOptions = {
|
|
|
43
50
|
readonly collectReport?: boolean;
|
|
44
51
|
};
|
|
45
52
|
export type BuildReport = ReportBuildReport;
|
|
53
|
+
export declare const configErrorType = "config";
|
|
54
|
+
export declare const partialFailureType = "partial";
|
|
55
|
+
export declare const releaseAnalysisClassification: {
|
|
56
|
+
readonly dependencyOnly: "dependency-only";
|
|
57
|
+
readonly firstPublish: "first-publish";
|
|
58
|
+
readonly substantive: "substantive";
|
|
59
|
+
readonly unchanged: "unchanged";
|
|
60
|
+
};
|
|
46
61
|
export type PublishAllOutcome = {
|
|
47
62
|
readonly result: PublishAllResult;
|
|
48
63
|
readonly getReport: () => BuildReport | undefined;
|
|
@@ -52,28 +67,28 @@ export type ResolveAndLinkAllOutcome = {
|
|
|
52
67
|
readonly getReport: () => BuildReport | undefined;
|
|
53
68
|
};
|
|
54
69
|
export type ConfigError = {
|
|
55
|
-
type:
|
|
70
|
+
type: typeof configErrorType;
|
|
56
71
|
issues: readonly string[];
|
|
57
72
|
};
|
|
58
73
|
export type PublishFailure = CheckError | ConfigError | (PartialError<BuildAndPublishResult> & {
|
|
59
|
-
type:
|
|
74
|
+
type: typeof partialFailureType;
|
|
60
75
|
});
|
|
61
76
|
export type PublishAllResult = Result<readonly BuildAndPublishResult[], PublishFailure>;
|
|
62
77
|
export type PartialErrorResult = {
|
|
63
|
-
type:
|
|
78
|
+
type: typeof partialFailureType;
|
|
64
79
|
error: PartialError<ResolvedPackage>;
|
|
65
80
|
};
|
|
66
81
|
export type ResolveAndLinkFailure = CheckError | ConfigError | PartialErrorResult;
|
|
67
82
|
export type ResolveAndLinkAllResult = Result<readonly ResolvedPackage[], ResolveAndLinkFailure>;
|
|
68
83
|
export type ReleaseDiffFailure = CheckError | ConfigError | (PartialError<PackageReleaseDiff> & {
|
|
69
|
-
type:
|
|
84
|
+
type: typeof partialFailureType;
|
|
70
85
|
});
|
|
71
86
|
export type ReleaseDiffAllResult = Result<readonly PackageReleaseDiff[], ReleaseDiffFailure>;
|
|
72
87
|
export type ReleaseDiffAllOutcome = {
|
|
73
88
|
readonly result: ReleaseDiffAllResult;
|
|
74
89
|
readonly getReport: () => BuildReport;
|
|
75
90
|
};
|
|
76
|
-
export type PackageReleaseAnalysisClassification =
|
|
91
|
+
export type PackageReleaseAnalysisClassification = (typeof releaseAnalysisClassification)[keyof typeof releaseAnalysisClassification];
|
|
77
92
|
export type PackageReleaseAnalysis = {
|
|
78
93
|
readonly classification: PackageReleaseAnalysisClassification;
|
|
79
94
|
readonly latestPublishedAt?: Date | undefined;
|
|
@@ -86,7 +101,7 @@ export type ReleaseAnalysis = {
|
|
|
86
101
|
readonly packageAnalyses: readonly PackageReleaseAnalysis[];
|
|
87
102
|
};
|
|
88
103
|
export type ReleaseAnalysisFailure = CheckError | ConfigError | (PartialError<PackageReleaseAnalysis> & {
|
|
89
|
-
type:
|
|
104
|
+
type: typeof partialFailureType;
|
|
90
105
|
});
|
|
91
106
|
export type ReleaseAnalysisResult = Result<ReleaseAnalysis, ReleaseAnalysisFailure>;
|
|
92
107
|
export type ReleaseAnalysisOutcome = {
|
|
@@ -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;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC;AACjE,OAAO,KAAK,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,qCAAqC;AACzG,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,sCAAsC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC;AACjF,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,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,kCAAkC,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"packtory-results.d.ts","sourceRoot":"","sources":["../../../../source/packtory/packtory-results.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,27 @@
|
|
|
1
|
+
export const packPackageFailureType = {
|
|
2
|
+
bundleDependenciesUnsupported: 'bundle-dependencies-unsupported',
|
|
3
|
+
packageNotFound: 'package-not-found',
|
|
4
|
+
peerDependenciesUnsatisfied: 'peer-dependencies-unsatisfied',
|
|
5
|
+
vendorInvalidDependencyName: 'vendor-invalid-dependency-name',
|
|
6
|
+
vendorSymlinkTargetOutsidePackage: 'vendor-symlink-target-outside-package'
|
|
7
|
+
};
|
|
8
|
+
export const checksErrorType = 'checks';
|
|
9
|
+
export const configErrorType = 'config';
|
|
10
|
+
export const partialFailureType = 'partial';
|
|
11
|
+
export const previewResultType = {
|
|
12
|
+
checks: checksErrorType,
|
|
13
|
+
config: configErrorType,
|
|
14
|
+
partial: partialFailureType,
|
|
15
|
+
success: 'success'
|
|
16
|
+
};
|
|
17
|
+
export const releaseAnalysisClassification = {
|
|
18
|
+
dependencyOnly: 'dependency-only',
|
|
19
|
+
firstPublish: 'first-publish',
|
|
20
|
+
substantive: 'substantive',
|
|
21
|
+
unchanged: 'unchanged'
|
|
22
|
+
};
|
|
1
23
|
export function configError(issues) {
|
|
2
|
-
return { type:
|
|
24
|
+
return { type: configErrorType, issues };
|
|
3
25
|
}
|
|
4
26
|
export function createPublishAllOutcome(result, getReport) {
|
|
5
27
|
return { result, getReport };
|
|
@@ -8,10 +30,10 @@ export function createResolveAndLinkAllOutcome(result, getReport) {
|
|
|
8
30
|
return { result, getReport };
|
|
9
31
|
}
|
|
10
32
|
export function publishPartialFailure(error) {
|
|
11
|
-
return { type:
|
|
33
|
+
return { type: partialFailureType, ...error };
|
|
12
34
|
}
|
|
13
35
|
export function resolvePartialFailure(error) {
|
|
14
|
-
return { type:
|
|
36
|
+
return { type: partialFailureType, error };
|
|
15
37
|
}
|
|
16
38
|
export function createReleaseDiffAllOutcome(result, getReport) {
|
|
17
39
|
return { result, getReport };
|
|
@@ -20,10 +42,10 @@ export function createReleaseAnalysisOutcome(result, getReport) {
|
|
|
20
42
|
return { result, getReport };
|
|
21
43
|
}
|
|
22
44
|
export function releaseDiffPartialFailure(error) {
|
|
23
|
-
return { type:
|
|
45
|
+
return { type: partialFailureType, ...error };
|
|
24
46
|
}
|
|
25
47
|
export function releaseAnalysisPartialFailure(error) {
|
|
26
|
-
return { type:
|
|
48
|
+
return { type: partialFailureType, ...error };
|
|
27
49
|
}
|
|
28
50
|
export function createPackOutcome(result) {
|
|
29
51
|
return { result };
|
|
@@ -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":"AAcA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,6BAA6B,EAAE,iCAAiC;IAChE,eAAe,EAAE,mBAAmB;IACpC,2BAA2B,EAAE,+BAA+B;IAC5D,2BAA2B,EAAE,gCAAgC;IAC7D,iCAAiC,EAAE,uCAAuC;CACpE,CAAC;AAyCX,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,SAAS;CACZ,CAAC;AACX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IACzC,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;CAChB,CAAC;AAEX,MAAM,UAAU,WAAW,CAAC,MAAyB;IACjD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AAC7C,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;AAcD,MAAM,UAAU,qBAAqB,CAAC,KAA0C;IAC5E,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,CAAC;AAClD,CAAC;AAOD,MAAM,UAAU,qBAAqB,CAAC,KAAoC;IACtE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC;AAgBD,MAAM,UAAU,2BAA2B,CACvC,MAA4B,EAC5B,SAA4B;IAE5B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AA6BD,MAAM,UAAU,4BAA4B,CACxC,MAA6B,EAC7B,SAA4B;IAE5B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAuC;IAC7E,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAA2C;IACrF,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,CAAC;AAClD,CAAC;AAkBD,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;AACtB,CAAC"}
|
package/packtory/packtory.js
CHANGED
|
@@ -20,40 +20,52 @@ function createValidatedRunners(dependencies) {
|
|
|
20
20
|
export function createPacktory(dependencies) {
|
|
21
21
|
const { progressBroadcaster } = dependencies;
|
|
22
22
|
const { resolveAndLinkAllValidated, runBuildAndPublishValidated, diffAgainstLatestPublishedValidated, analyzeReleaseAgainstLatestPublishedValidated, runPackValidated } = createValidatedRunners(dependencies);
|
|
23
|
-
async function
|
|
24
|
-
const reporting =
|
|
23
|
+
async function runReportedOperation(args) {
|
|
24
|
+
const reporting = args.attachReporting();
|
|
25
25
|
try {
|
|
26
|
-
const validation =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (result.isErr) {
|
|
32
|
-
return createResolveAndLinkAllOutcome(Result.err(result.error), reporting.getReport);
|
|
33
|
-
}
|
|
34
|
-
return createResolveAndLinkAllOutcome(Result.ok(result.value), reporting.getReport);
|
|
26
|
+
const validation = args.validate(args.config);
|
|
27
|
+
const result = validation.isErr
|
|
28
|
+
? args.createValidationErrorResult(validation.error)
|
|
29
|
+
: await args.runValidated(validation.value);
|
|
30
|
+
return args.createOutcome(result, reporting.getReport);
|
|
35
31
|
}
|
|
36
32
|
finally {
|
|
37
33
|
reporting.dispose();
|
|
38
34
|
}
|
|
39
35
|
}
|
|
36
|
+
async function resolveAndLinkAllPublic(config, options) {
|
|
37
|
+
return runReportedOperation({
|
|
38
|
+
config,
|
|
39
|
+
attachReporting() {
|
|
40
|
+
return maybeAttachAggregator(progressBroadcaster, options?.collectReport);
|
|
41
|
+
},
|
|
42
|
+
validate: validateConfigWithoutRegistry,
|
|
43
|
+
runValidated: resolveAndLinkAllValidated,
|
|
44
|
+
createValidationErrorResult(issues) {
|
|
45
|
+
return Result.err(configError(issues));
|
|
46
|
+
},
|
|
47
|
+
createOutcome: createResolveAndLinkAllOutcome
|
|
48
|
+
});
|
|
49
|
+
}
|
|
40
50
|
async function runBuildAndPublish(validated, options) {
|
|
41
51
|
emitEffectiveConfigPerPackage(progressBroadcaster, validated.packtoryConfig);
|
|
42
52
|
return runBuildAndPublishValidated(validated, options, resolveAndLinkAllValidated);
|
|
43
53
|
}
|
|
44
54
|
async function buildAndPublishAllPublic(config, options) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
return runReportedOperation({
|
|
56
|
+
config,
|
|
57
|
+
attachReporting() {
|
|
58
|
+
return maybeAttachAggregator(progressBroadcaster, options.collectReport);
|
|
59
|
+
},
|
|
60
|
+
validate: validateConfig,
|
|
61
|
+
async runValidated(validated) {
|
|
62
|
+
return runBuildAndPublish(validated, options);
|
|
63
|
+
},
|
|
64
|
+
createValidationErrorResult(issues) {
|
|
65
|
+
return Result.err(configError(issues));
|
|
66
|
+
},
|
|
67
|
+
createOutcome: createPublishAllOutcome
|
|
68
|
+
});
|
|
57
69
|
}
|
|
58
70
|
async function packPackagePublic(config, options) {
|
|
59
71
|
const validation = validateConfigWithoutRegistry(config);
|
|
@@ -64,34 +76,38 @@ export function createPacktory(dependencies) {
|
|
|
64
76
|
return createPackOutcome(result);
|
|
65
77
|
}
|
|
66
78
|
async function diffAgainstLatestPublishedPublic(config) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
return runReportedOperation({
|
|
80
|
+
config,
|
|
81
|
+
attachReporting() {
|
|
82
|
+
return attachAggregator(progressBroadcaster);
|
|
83
|
+
},
|
|
84
|
+
validate: validateConfig,
|
|
85
|
+
async runValidated(validated) {
|
|
86
|
+
emitEffectiveConfigPerPackage(progressBroadcaster, validated.packtoryConfig);
|
|
87
|
+
return diffAgainstLatestPublishedValidated(validated, resolveAndLinkAllValidated);
|
|
88
|
+
},
|
|
89
|
+
createValidationErrorResult(issues) {
|
|
90
|
+
return Result.err(configError(issues));
|
|
91
|
+
},
|
|
92
|
+
createOutcome: createReleaseDiffAllOutcome
|
|
93
|
+
});
|
|
80
94
|
}
|
|
81
95
|
async function analyzeReleaseAgainstLatestPublishedPublic(config) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
96
|
+
return runReportedOperation({
|
|
97
|
+
config,
|
|
98
|
+
attachReporting() {
|
|
99
|
+
return attachAggregator(progressBroadcaster);
|
|
100
|
+
},
|
|
101
|
+
validate: validateConfig,
|
|
102
|
+
async runValidated(validated) {
|
|
103
|
+
emitEffectiveConfigPerPackage(progressBroadcaster, validated.packtoryConfig);
|
|
104
|
+
return analyzeReleaseAgainstLatestPublishedValidated(validated, resolveAndLinkAllValidated);
|
|
105
|
+
},
|
|
106
|
+
createValidationErrorResult(issues) {
|
|
107
|
+
return Result.err(configError(issues));
|
|
108
|
+
},
|
|
109
|
+
createOutcome: createReleaseAnalysisOutcome
|
|
110
|
+
});
|
|
95
111
|
}
|
|
96
112
|
return {
|
|
97
113
|
analyzeReleaseAgainstLatestPublished: analyzeReleaseAgainstLatestPublishedPublic,
|
package/packtory/packtory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packtory.js","sourceRoot":"","sources":["../../../../source/packtory/packtory.ts"],"names":[],"mappings":"AAAA,iMAAiM;AACjM,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,6BAA6B,EAA0B,MAAM,yBAAyB,CAAC;AAKhH,OAAO,EAAE,mDAAmD,EAAE,MAAM,gCAAgC,CAAC;AACrG,OAAO,EAAE,yCAAyC,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EACH,4BAA4B,EAC5B,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAqBjC,MAAM,uBAAuB,CAAC;AA6C/B,SAAS,sBAAsB,CAAC,YAAkC;IAC9D,OAAO;QACH,0BAA0B,EAAE,gCAAgC,CAAC,YAAY,CAAC;QAC1E,2BAA2B,EAAE,iCAAiC,CAAC,YAAY,CAAC;QAC5E,mCAAmC,EAAE,yCAAyC,CAAC,YAAY,CAAC;QAC5F,6CAA6C,EACzC,mDAAmD,CAAC,YAAY,CAAC;QACrE,gBAAgB,EAAE,sBAAsB,CAAC,YAAY,CAAC;KACzD,CAAC;AACN,CAAC;
|
|
1
|
+
{"version":3,"file":"packtory.js","sourceRoot":"","sources":["../../../../source/packtory/packtory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { partialFailureType } from "./packtory-results.js";
|
|
2
|
+
function isPartialSuccessLike(value) {
|
|
3
|
+
return typeof value === 'object' && value !== null && 'succeeded' in value && 'failures' in value;
|
|
4
|
+
}
|
|
5
|
+
export function succeededResultsFrom(result) {
|
|
6
|
+
if (result.isOk) {
|
|
7
|
+
return result.value;
|
|
8
|
+
}
|
|
9
|
+
return isPartialSuccessLike(result.error) ? result.error.succeeded : [];
|
|
10
|
+
}
|
|
11
|
+
export function isSuccessOrPartialSuccess(result) {
|
|
12
|
+
return result.isOk || succeededResultsFrom(result).length > 0;
|
|
13
|
+
}
|
|
14
|
+
export function partialFailureMessages(error) {
|
|
15
|
+
return error.failures.map((failure) => {
|
|
16
|
+
return failure.message;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export function mapResolvePartialFailure(error) {
|
|
20
|
+
return {
|
|
21
|
+
type: partialFailureType,
|
|
22
|
+
succeeded: [],
|
|
23
|
+
failures: error.error.failures
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=partial-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partial-result.js","sourceRoot":"","sources":["../../../../source/packtory/partial-result.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,uBAAuB,CAAC;AAMpF,SAAS,oBAAoB,CAAI,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAc,MAAsC;IACpF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,OAAO,oBAAoB,CAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAc,MAAsC;IACzF,OAAO,MAAM,CAAC,IAAI,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAI,KAAsB;IAC5D,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAI,KAAyB;IACjE,OAAO;QACH,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;KACjC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PublishedReleaseArtifacts } from '../bundle-emitter/fetch-published-artifacts.ts';
|
|
2
|
+
export declare const publishedReleaseStatus: {
|
|
3
|
+
readonly alreadyPublished: "already-published";
|
|
4
|
+
readonly initialVersion: "initial-version";
|
|
5
|
+
readonly newVersion: "new-version";
|
|
6
|
+
};
|
|
7
|
+
export type PublishedReleaseStatus = (typeof publishedReleaseStatus)[keyof typeof publishedReleaseStatus];
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=published-release-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"published-release-state.d.ts","sourceRoot":"","sources":["../../../../source/packtory/published-release-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gDAAgD;AAE/F,eAAO,MAAM,sBAAsB;;;;CAIzB;AAEV,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const publishedReleaseStatus = {
|
|
2
|
+
alreadyPublished: 'already-published',
|
|
3
|
+
initialVersion: 'initial-version',
|
|
4
|
+
newVersion: 'new-version'
|
|
5
|
+
};
|
|
6
|
+
export function wasAlreadyPublished(buildResult) {
|
|
7
|
+
return buildResult.status === publishedReleaseStatus.alreadyPublished;
|
|
8
|
+
}
|
|
9
|
+
export function publishedReleaseArtifactsOf(buildResult) {
|
|
10
|
+
return buildResult.previousReleaseArtifacts.isJust ? buildResult.previousReleaseArtifacts.value : undefined;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=published-release-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"published-release-state.js","sourceRoot":"","sources":["../../../../source/packtory/published-release-state.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,gBAAgB,EAAE,mBAAmB;IACrC,cAAc,EAAE,iBAAiB;IACjC,UAAU,EAAE,aAAa;CACnB,CAAC;AAWX,MAAM,UAAU,mBAAmB,CAAC,WAA0C;IAC1E,OAAO,WAAW,CAAC,MAAM,KAAK,sBAAsB,CAAC,gBAAgB,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,WAA0C;IAE1C,OAAO,WAAW,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAChH,CAAC"}
|
|
@@ -1,78 +1,83 @@
|
|
|
1
1
|
import { isDeepStrictEqual } from 'node:util';
|
|
2
2
|
import { maxDate } from "../common/max-date.js";
|
|
3
|
+
import { packageManifestFilePath } from "../common/package-layout.js";
|
|
4
|
+
import { fileDescriptionByPath } from "../file-manager/file-description-by-path.js";
|
|
3
5
|
import { sbomFilePath } from "../sbom/sbom-file.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const substantivePriority = 2;
|
|
17
|
-
const firstPublishPriority = 3;
|
|
18
|
-
function parseJsonFile(file) {
|
|
19
|
-
const { content } = file;
|
|
20
|
-
return (() => {
|
|
21
|
-
try {
|
|
22
|
-
return { invalid: false, value: JSON.parse(content) };
|
|
23
|
-
}
|
|
24
|
-
catch {
|
|
25
|
-
return { invalid: true };
|
|
26
|
-
}
|
|
27
|
-
})();
|
|
6
|
+
import { releaseAnalysisClassification } from "./packtory-results.js";
|
|
7
|
+
import { publishedReleaseStatus } from "./published-release-state.js";
|
|
8
|
+
function dependencyOnlyPackageJsonFields() {
|
|
9
|
+
return [
|
|
10
|
+
'bundleDependencies',
|
|
11
|
+
'bundledDependencies',
|
|
12
|
+
'dependencies',
|
|
13
|
+
'optionalDependencies',
|
|
14
|
+
'peerDependencies',
|
|
15
|
+
'peerDependenciesMeta',
|
|
16
|
+
'version'
|
|
17
|
+
];
|
|
28
18
|
}
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
19
|
+
function isDependencyOnlyPackageJsonField(key) {
|
|
20
|
+
return dependencyOnlyPackageJsonFields().includes(key);
|
|
21
|
+
}
|
|
22
|
+
function parseJsonFile(fileContent) {
|
|
23
|
+
try {
|
|
24
|
+
return JSON.parse(fileContent);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return Number.NEGATIVE_INFINITY;
|
|
33
28
|
}
|
|
34
|
-
return parseJsonFile(file);
|
|
35
29
|
}
|
|
36
|
-
function
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
function packageJsonValueForComparison(index) {
|
|
31
|
+
const packageJsonFile = index.get(packageManifestFilePath);
|
|
32
|
+
return packageJsonFile === undefined ? Number.NEGATIVE_INFINITY : parseJsonFile(packageJsonFile.content);
|
|
33
|
+
}
|
|
34
|
+
function includesClassification(current, next, classification) {
|
|
35
|
+
return current === classification || next === classification;
|
|
36
|
+
}
|
|
37
|
+
function moreSignificantClassification(current, next) {
|
|
38
|
+
if (includesClassification(current, next, releaseAnalysisClassification.firstPublish)) {
|
|
39
|
+
return releaseAnalysisClassification.firstPublish;
|
|
40
|
+
}
|
|
41
|
+
if (includesClassification(current, next, releaseAnalysisClassification.substantive)) {
|
|
42
|
+
return releaseAnalysisClassification.substantive;
|
|
43
|
+
}
|
|
44
|
+
return releaseAnalysisClassification.dependencyOnly;
|
|
41
45
|
}
|
|
42
46
|
function hasLatestPublishedAt(analysis) {
|
|
43
47
|
return analysis.latestPublishedAt !== undefined;
|
|
44
48
|
}
|
|
49
|
+
function hasInvalidPackageJsonValues(previousValue, newValue) {
|
|
50
|
+
return previousValue === Number.NEGATIVE_INFINITY || newValue === Number.NEGATIVE_INFINITY;
|
|
51
|
+
}
|
|
45
52
|
function normalizePackageJsonForDependencyComparison(value) {
|
|
46
53
|
return JSON.parse(JSON.stringify(value, (key, entryValue) => {
|
|
47
|
-
return
|
|
54
|
+
return isDependencyOnlyPackageJsonField(key) ? undefined : entryValue;
|
|
48
55
|
}));
|
|
49
56
|
}
|
|
50
|
-
function
|
|
51
|
-
return
|
|
52
|
-
return [file.filePath, file];
|
|
53
|
-
}));
|
|
57
|
+
function isDependencyDerivedFilePath(filePath) {
|
|
58
|
+
return filePath === packageManifestFilePath || filePath === sbomFilePath();
|
|
54
59
|
}
|
|
55
60
|
function nonDependencyDerivedFilesMatch(previousIndex, newIndex) {
|
|
56
|
-
|
|
57
|
-
if (dependencyDerivedFilePaths.has(filePath)) {
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
61
|
+
for (const [filePath, previousFile] of previousIndex.entries()) {
|
|
60
62
|
const currentFile = newIndex.get(filePath);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
if (!isDependencyDerivedFilePath(filePath) && !isDeepStrictEqual(previousFile, currentFile)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return true;
|
|
63
68
|
}
|
|
64
69
|
function packageJsonChangeIsDependencyOnly(previousIndex, newIndex) {
|
|
65
70
|
const previousPackageJsonValue = packageJsonValueForComparison(previousIndex);
|
|
66
71
|
const newPackageJsonValue = packageJsonValueForComparison(newIndex);
|
|
67
|
-
if (previousPackageJsonValue
|
|
72
|
+
if (hasInvalidPackageJsonValues(previousPackageJsonValue, newPackageJsonValue)) {
|
|
68
73
|
return false;
|
|
69
74
|
}
|
|
70
|
-
return isDeepStrictEqual(normalizePackageJsonForDependencyComparison(previousPackageJsonValue
|
|
75
|
+
return isDeepStrictEqual(normalizePackageJsonForDependencyComparison(previousPackageJsonValue), normalizePackageJsonForDependencyComparison(newPackageJsonValue));
|
|
71
76
|
}
|
|
72
77
|
function createComparisonIndexes(previousFiles, newFiles) {
|
|
73
78
|
return {
|
|
74
|
-
previousIndex:
|
|
75
|
-
newIndex:
|
|
79
|
+
previousIndex: fileDescriptionByPath(previousFiles),
|
|
80
|
+
newIndex: fileDescriptionByPath(newFiles)
|
|
76
81
|
};
|
|
77
82
|
}
|
|
78
83
|
function isDependencyOnlyPublishedChange(previousFiles, newFiles) {
|
|
@@ -92,9 +97,9 @@ export function classifyPackageRelease(buildResult, newFiles) {
|
|
|
92
97
|
const latestPublishedAt = buildResult.previousReleaseArtifacts.isJust
|
|
93
98
|
? buildResult.previousReleaseArtifacts.value.publishedAt
|
|
94
99
|
: undefined;
|
|
95
|
-
if (buildResult.status ===
|
|
100
|
+
if (buildResult.status === publishedReleaseStatus.alreadyPublished) {
|
|
96
101
|
return {
|
|
97
|
-
classification:
|
|
102
|
+
classification: releaseAnalysisClassification.unchanged,
|
|
98
103
|
latestPublishedAt,
|
|
99
104
|
latestPublishedVersion,
|
|
100
105
|
name: buildResult.bundle.name
|
|
@@ -102,13 +107,13 @@ export function classifyPackageRelease(buildResult, newFiles) {
|
|
|
102
107
|
}
|
|
103
108
|
if (buildResult.previousReleaseArtifacts.isNothing) {
|
|
104
109
|
return {
|
|
105
|
-
classification:
|
|
110
|
+
classification: releaseAnalysisClassification.firstPublish,
|
|
106
111
|
name: buildResult.bundle.name
|
|
107
112
|
};
|
|
108
113
|
}
|
|
109
114
|
const classification = isDependencyOnlyPublishedChange(buildResult.previousReleaseArtifacts.value.files, newFiles)
|
|
110
|
-
?
|
|
111
|
-
:
|
|
115
|
+
? releaseAnalysisClassification.dependencyOnly
|
|
116
|
+
: releaseAnalysisClassification.substantive;
|
|
112
117
|
return {
|
|
113
118
|
classification,
|
|
114
119
|
latestPublishedAt,
|
|
@@ -117,35 +122,23 @@ export function classifyPackageRelease(buildResult, newFiles) {
|
|
|
117
122
|
};
|
|
118
123
|
}
|
|
119
124
|
export function summarizeReleaseAnalysis(packageAnalyses) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const
|
|
124
|
-
unchanged
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
};
|
|
135
|
-
const highestPriority = changedAnalyses.reduce((current, analysis) => {
|
|
136
|
-
const nextPriority = classificationPriority[analysis.classification];
|
|
137
|
-
return maxClassificationPriority(current, nextPriority);
|
|
138
|
-
}, unchangedPriority);
|
|
139
|
-
const classification = classificationByPriority[highestPriority];
|
|
140
|
-
const publishedDates = changedAnalyses.filter(hasLatestPublishedAt).map((analysis) => {
|
|
141
|
-
return analysis.latestPublishedAt;
|
|
142
|
-
});
|
|
143
|
-
const mostRecentPublishedAt = publishedDates.reduce((current, publishedAt) => {
|
|
144
|
-
return current === undefined ? publishedAt : maxDate(current, [publishedAt]);
|
|
145
|
-
}, undefined);
|
|
125
|
+
let classification = releaseAnalysisClassification.unchanged;
|
|
126
|
+
let hasPublishedAt = false;
|
|
127
|
+
let mostRecentPublishedAt = new Date(0);
|
|
128
|
+
for (const analysis of packageAnalyses) {
|
|
129
|
+
if (analysis.classification !== releaseAnalysisClassification.unchanged) {
|
|
130
|
+
classification = moreSignificantClassification(classification, analysis.classification);
|
|
131
|
+
if (hasLatestPublishedAt(analysis)) {
|
|
132
|
+
mostRecentPublishedAt = hasPublishedAt
|
|
133
|
+
? maxDate(mostRecentPublishedAt, [analysis.latestPublishedAt])
|
|
134
|
+
: analysis.latestPublishedAt;
|
|
135
|
+
hasPublishedAt = true;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
146
139
|
return {
|
|
147
140
|
classification,
|
|
148
|
-
mostRecentPublishedAt,
|
|
141
|
+
mostRecentPublishedAt: hasPublishedAt ? mostRecentPublishedAt : undefined,
|
|
149
142
|
packageAnalyses
|
|
150
143
|
};
|
|
151
144
|
}
|