@packtory/cli 0.0.106 → 0.0.108
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/command-line-interface/config-loader.js +33 -2
- package/command-line-interface/config-loader.js.map +1 -1
- package/command-line-interface/one-time-password-prompt.js +31 -0
- package/command-line-interface/one-time-password-prompt.js.map +1 -1
- package/command-line-interface/preview-io/preview-io-shared.js +31 -2
- package/command-line-interface/preview-io/preview-io-shared.js.map +1 -1
- package/command-line-interface/preview-io/preview-io.js +15 -4
- package/command-line-interface/preview-io/preview-io.js.map +1 -1
- package/command-line-interface/preview-io/preview-spawn.js +26 -1
- package/command-line-interface/preview-io/preview-spawn.js.map +1 -1
- package/command-line-interface/runner/changelog-destinations.js +220 -5
- package/command-line-interface/runner/changelog-destinations.js.map +1 -1
- package/command-line-interface/runner/changelog-handler.js +79 -5
- package/command-line-interface/runner/changelog-handler.js.map +1 -1
- package/command-line-interface/runner/changelog-pr-log-config.js +147 -1
- package/command-line-interface/runner/changelog-pr-log-config.js.map +1 -1
- package/command-line-interface/runner/command-parsing.js +10 -0
- package/command-line-interface/runner/command-parsing.js.map +1 -1
- package/command-line-interface/runner/config-inspect-handler.js +79 -4
- package/command-line-interface/runner/config-inspect-handler.js.map +1 -1
- package/command-line-interface/runner/failure-printing.js +75 -5
- package/command-line-interface/runner/failure-printing.js.map +1 -1
- package/command-line-interface/runner/github-api-request.js +100 -0
- package/command-line-interface/runner/github-api-request.js.map +1 -1
- package/command-line-interface/runner/github-release-client.js +102 -2
- package/command-line-interface/runner/github-release-client.js.map +1 -1
- package/command-line-interface/runner/github-release-notes.js +74 -1
- package/command-line-interface/runner/github-release-notes.js.map +1 -1
- package/command-line-interface/runner/github-repository.js +14 -1
- package/command-line-interface/runner/github-repository.js.map +1 -1
- package/command-line-interface/runner/pack-handler.js +201 -4
- package/command-line-interface/runner/pack-handler.js.map +1 -1
- package/command-line-interface/runner/package-dependencies-handler.js +49 -4
- package/command-line-interface/runner/package-dependencies-handler.js.map +1 -1
- package/command-line-interface/runner/package-inspection-handler.js +21 -0
- package/command-line-interface/runner/package-inspection-handler.js.map +1 -1
- package/command-line-interface/runner/package-side-effects-handler.js +51 -5
- package/command-line-interface/runner/package-side-effects-handler.js.map +1 -1
- package/command-line-interface/runner/package-tree-handler.js +66 -3
- package/command-line-interface/runner/package-tree-handler.js.map +1 -1
- package/command-line-interface/runner/preview-handler.js +50 -4
- package/command-line-interface/runner/preview-handler.js.map +1 -1
- package/command-line-interface/runner/progress-wiring.js +32 -0
- package/command-line-interface/runner/progress-wiring.js.map +1 -1
- package/command-line-interface/runner/publish-handler.js +45 -2
- package/command-line-interface/runner/publish-handler.js.map +1 -1
- package/command-line-interface/runner/release-diff-handler.js +33 -3
- package/command-line-interface/runner/release-diff-handler.js.map +1 -1
- package/command-line-interface/runner/release-handler.js +246 -5
- package/command-line-interface/runner/release-handler.js.map +1 -1
- package/command-line-interface/runner/release-output-files.js +24 -2
- package/command-line-interface/runner/release-output-files.js.map +1 -1
- package/command-line-interface/runner/release-plan-result-printing.js +25 -2
- package/command-line-interface/runner/release-plan-result-printing.js.map +1 -1
- package/command-line-interface/runner/release-pr-branch-commit.js +108 -2
- package/command-line-interface/runner/release-pr-branch-commit.js.map +1 -1
- package/command-line-interface/runner/release-pr-github-client.js +289 -8
- package/command-line-interface/runner/release-pr-github-client.js.map +1 -1
- package/command-line-interface/runner/release-pr-workflow-run-cancellation.js +66 -3
- package/command-line-interface/runner/release-pr-workflow-run-cancellation.js.map +1 -1
- package/command-line-interface/runner/release-pr-workflow-runs.js +52 -1
- package/command-line-interface/runner/release-pr-workflow-runs.js.map +1 -1
- package/command-line-interface/runner/release-preparation.js +91 -4
- package/command-line-interface/runner/release-preparation.js.map +1 -1
- package/command-line-interface/runner/release-publish-authorization.js +66 -1
- package/command-line-interface/runner/release-publish-authorization.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-ci.js +297 -0
- package/command-line-interface/runner/release-pull-request-ci.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-config.d.ts +50 -12
- package/command-line-interface/runner/release-pull-request-config.d.ts.map +1 -1
- package/command-line-interface/runner/release-pull-request-config.js +51 -5
- package/command-line-interface/runner/release-pull-request-config.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-handler.js +320 -9
- package/command-line-interface/runner/release-pull-request-handler.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-policy.js +46 -0
- package/command-line-interface/runner/release-pull-request-policy.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-settings.js +18 -2
- package/command-line-interface/runner/release-pull-request-settings.js.map +1 -1
- package/command-line-interface/runner/report-persistence.js +25 -2
- package/command-line-interface/runner/report-persistence.js.map +1 -1
- package/command-line-interface/runner/runner-symbols.js +10 -1
- package/command-line-interface/runner/runner-symbols.js.map +1 -1
- package/command-line-interface/runner/runner.js +403 -15
- package/command-line-interface/runner/runner.js.map +1 -1
- package/command-line-interface/runner/terminal-error-chain.js +101 -0
- package/command-line-interface/runner/terminal-error-chain.js.map +1 -1
- package/command-line-interface/spinner/line-spinner-renderer.js +49 -2
- package/command-line-interface/spinner/line-spinner-renderer.js.map +1 -1
- package/command-line-interface/spinner/spinner-boot.js +9 -1
- package/command-line-interface/spinner/spinner-boot.js.map +1 -1
- package/command-line-interface/spinner/spinner-glyphs.js +30 -1
- package/command-line-interface/spinner/spinner-glyphs.js.map +1 -1
- package/command-line-interface/spinner/spinner-render-sequence.js +30 -2
- package/command-line-interface/spinner/spinner-render-sequence.js.map +1 -1
- package/command-line-interface/spinner/spinner-runtime.js +30 -1
- package/command-line-interface/spinner/spinner-runtime.js.map +1 -1
- package/command-line-interface/spinner/spinner-shared-state.js +271 -0
- package/command-line-interface/spinner/spinner-shared-state.js.map +1 -1
- package/command-line-interface/spinner/spinner-snapshots.js +11 -1
- package/command-line-interface/spinner/spinner-snapshots.js.map +1 -1
- package/command-line-interface/spinner/spinner-worker-backend.js +42 -0
- package/command-line-interface/spinner/spinner-worker-backend.js.map +1 -1
- package/command-line-interface/spinner/spinner-worker-loop.js +39 -3
- package/command-line-interface/spinner/spinner-worker-loop.js.map +1 -1
- package/command-line-interface/spinner/terminal-spinner-renderer.js +54 -0
- package/command-line-interface/spinner/terminal-spinner-renderer.js.map +1 -1
- package/common/path-tree.js +100 -2
- package/common/path-tree.js.map +1 -1
- package/package.json +2 -2
- package/packages/command-line-interface/pull-request-label-versioning.js +80 -3
- package/packages/command-line-interface/pull-request-label-versioning.js.map +1 -1
- package/packages/command-line-interface/spinner-boot.entry-point.js +40 -3
- package/packages/command-line-interface/spinner-boot.entry-point.js.map +1 -1
- package/packtory/changelog-source-file-history.js +108 -2
- package/packtory/changelog-source-file-history.js.map +1 -1
- package/packtory/packtory-changelog.js +294 -5
- package/packtory/packtory-changelog.js.map +1 -1
- package/report/html-renderer/artifact-tree-renderer.js +28 -4
- package/report/html-renderer/artifact-tree-renderer.js.map +1 -1
- package/report/html-renderer/diagnostics-renderer.js +38 -2
- package/report/html-renderer/diagnostics-renderer.js.map +1 -1
- package/report/html-renderer/diff-renderer.js +28 -1
- package/report/html-renderer/diff-renderer.js.map +1 -1
- package/report/html-renderer/eliminated-files-renderer.js +15 -2
- package/report/html-renderer/eliminated-files-renderer.js.map +1 -1
- package/report/html-renderer/html-escaping.js +8 -0
- package/report/html-renderer/html-escaping.js.map +1 -1
- package/report/html-renderer/html-primitives.js +23 -1
- package/report/html-renderer/html-primitives.js.map +1 -1
- package/report/html-renderer/html-renderer.js +60 -4
- package/report/html-renderer/html-renderer.js.map +1 -1
- package/report/html-renderer/html-styles.js +176 -0
- package/report/html-renderer/html-styles.js.map +1 -1
- package/report/html-renderer/package-renderer.js +31 -6
- package/report/html-renderer/package-renderer.js.map +1 -1
- package/report/preview/artifact-diff-builder.js +19 -2
- package/report/preview/artifact-diff-builder.js.map +1 -1
- package/report/preview/artifact-tree-builder.js +19 -1
- package/report/preview/artifact-tree-builder.js.map +1 -1
- package/report/preview/bundle-artifact-index.js +15 -1
- package/report/preview/bundle-artifact-index.js.map +1 -1
- package/report/preview/preview-document-state.js +16 -0
- package/report/preview/preview-document-state.js.map +1 -1
- package/report/preview/preview-document.js +84 -6
- package/report/preview/preview-document.js.map +1 -1
- package/report/preview/preview-result-inspectors.js +33 -2
- package/report/preview/preview-result-inspectors.js.map +1 -1
- package/report/preview/preview-summary.js +25 -0
- package/report/preview/preview-summary.js.map +1 -1
- package/report/release-diff/release-diff-document.js +25 -2
- package/report/release-diff/release-diff-document.js.map +1 -1
- package/report/release-diff/release-diff-summary.js +39 -1
- package/report/release-diff/release-diff-summary.js.map +1 -1
- package/report/terminal-renderer/terminal-artifact-renderer.js +30 -2
- package/report/terminal-renderer/terminal-artifact-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-dependencies-renderer.js +77 -1
- package/report/terminal-renderer/terminal-package-dependencies-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-renderer.js +74 -2
- package/report/terminal-renderer/terminal-package-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-side-effects-renderer.js +54 -1
- package/report/terminal-renderer/terminal-package-side-effects-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-tree-renderer.js +16 -3
- package/report/terminal-renderer/terminal-package-tree-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-preview-renderer-shared.js +61 -3
- package/report/terminal-renderer/terminal-preview-renderer-shared.js.map +1 -1
- package/report/terminal-renderer/terminal-preview-renderer.js +54 -2
- package/report/terminal-renderer/terminal-preview-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-release-diff-package-renderer.js +145 -4
- package/report/terminal-renderer/terminal-release-diff-package-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-release-diff-renderer.js +48 -2
- package/report/terminal-renderer/terminal-release-diff-renderer.js.map +1 -1
- package/sbom.cdx.json +10 -10
|
@@ -1,2 +1,148 @@
|
|
|
1
|
-
import '@pr-log/core';
|
|
1
|
+
import { defaultPrLogConfig } from '@pr-log/core';
|
|
2
|
+
const versionBumpLevels = ['major', 'minor', 'patch'];
|
|
3
|
+
function createDefaultVersionBumps(validLabels) {
|
|
4
|
+
const customPatchLabels = Array
|
|
5
|
+
.from(validLabels.keys())
|
|
6
|
+
.filter(function (label) {
|
|
7
|
+
return !defaultPrLogConfig.validLabels.has(label);
|
|
8
|
+
});
|
|
9
|
+
return {
|
|
10
|
+
major: defaultPrLogConfig.versionBumps.major,
|
|
11
|
+
minor: defaultPrLogConfig.versionBumps.minor,
|
|
12
|
+
patch: [...defaultPrLogConfig.versionBumps.patch, ...customPatchLabels]
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function createValidLabels(settings) {
|
|
16
|
+
return new Map([...defaultPrLogConfig.validLabels, ...Object.entries(settings?.validLabels ?? {})]);
|
|
17
|
+
}
|
|
18
|
+
function createVersionBumps(settings, validLabels) {
|
|
19
|
+
if (settings?.versionBumps === undefined) {
|
|
20
|
+
return createDefaultVersionBumps(validLabels);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
major: settings.versionBumps.major ?? [],
|
|
24
|
+
minor: settings.versionBumps.minor ?? [],
|
|
25
|
+
patch: settings.versionBumps.patch ?? []
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function createCollapseRule(rule) {
|
|
29
|
+
return {
|
|
30
|
+
label: rule.label,
|
|
31
|
+
pattern: new RegExp(rule.pattern, 'u'),
|
|
32
|
+
replace: rule.replace,
|
|
33
|
+
keyGroup: rule.keyGroup ?? 'dependency',
|
|
34
|
+
fromGroup: rule.fromGroup ?? 'from',
|
|
35
|
+
toGroup: rule.toGroup ?? 'to'
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function resolveIgnoredLabels(settings) {
|
|
39
|
+
return settings?.ignoredLabels ?? defaultPrLogConfig.ignoredLabels;
|
|
40
|
+
}
|
|
41
|
+
function resolveDateFormat(settings) {
|
|
42
|
+
return settings?.dateFormat ?? defaultPrLogConfig.dateFormat;
|
|
43
|
+
}
|
|
44
|
+
function resolveCollapseRules(settings) {
|
|
45
|
+
return settings?.collapseRules?.map(createCollapseRule) ?? defaultPrLogConfig.collapseRules;
|
|
46
|
+
}
|
|
47
|
+
function resolveLabelLookupIntervalMilliseconds(settings) {
|
|
48
|
+
return settings?.labelLookupIntervalMilliseconds ?? defaultPrLogConfig.labelLookupIntervalMilliseconds;
|
|
49
|
+
}
|
|
50
|
+
function resolveMaximumRateLimitRetryCount(settings) {
|
|
51
|
+
return settings?.maximumRateLimitRetryCount ?? defaultPrLogConfig.maximumRateLimitRetryCount;
|
|
52
|
+
}
|
|
53
|
+
function validateNonNegativeInteger(value, settingName) {
|
|
54
|
+
if (value === undefined) {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
return Number.isSafeInteger(value) && value >= 0 ? [] : [`${settingName} must be a non-negative integer`];
|
|
58
|
+
}
|
|
59
|
+
function isValidRegularExpression(pattern) {
|
|
60
|
+
try {
|
|
61
|
+
const expression = new RegExp(pattern, 'u');
|
|
62
|
+
return expression instanceof RegExp;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function collectInvalidCollapseRuleIssues(rules) {
|
|
69
|
+
if (rules === undefined) {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
return rules.flatMap(function (rule, index) {
|
|
73
|
+
const issue = `changelog.prLog.collapseRules[${index}].pattern must be a valid regular expression`;
|
|
74
|
+
return isValidRegularExpression(rule.pattern) === false ? [issue] : [];
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function collectDuplicateValueIssues(values) {
|
|
78
|
+
const seenValues = new Set();
|
|
79
|
+
const duplicatedValues = new Set();
|
|
80
|
+
for (const value of values) {
|
|
81
|
+
if (seenValues.has(value)) {
|
|
82
|
+
duplicatedValues.add(value);
|
|
83
|
+
}
|
|
84
|
+
seenValues.add(value);
|
|
85
|
+
}
|
|
86
|
+
return Array
|
|
87
|
+
.from(duplicatedValues)
|
|
88
|
+
.toSorted(function (left, right) {
|
|
89
|
+
return left.localeCompare(right);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
function collectVersionBumpLabels(versionBumps) {
|
|
93
|
+
return versionBumpLevels.flatMap(function (level) {
|
|
94
|
+
return versionBumps[level] ?? [];
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function collectInvalidVersionBumpLabelIssues(versionBumps, validLabels) {
|
|
98
|
+
return versionBumpLevels.flatMap(function (level) {
|
|
99
|
+
return (versionBumps?.[level] ?? []).flatMap(function (label) {
|
|
100
|
+
return validLabels.has(label)
|
|
101
|
+
? []
|
|
102
|
+
: [`changelog.prLog.versionBumps.${level} label "${label}" must be configured in validLabels`];
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function collectDuplicateVersionBumpLabels(versionBumps) {
|
|
107
|
+
return collectDuplicateValueIssues(collectVersionBumpLabels(versionBumps));
|
|
108
|
+
}
|
|
109
|
+
function collectDuplicateVersionBumpLabelIssues(versionBumps) {
|
|
110
|
+
if (versionBumps === undefined) {
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
return collectDuplicateVersionBumpLabels(versionBumps)
|
|
114
|
+
.map(function (label) {
|
|
115
|
+
return `changelog.prLog.versionBumps label "${label}" must be unique`;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
function collectPrLogSettingIssues(settings) {
|
|
119
|
+
if (settings === undefined) {
|
|
120
|
+
return [];
|
|
121
|
+
}
|
|
122
|
+
const validLabels = createValidLabels(settings);
|
|
123
|
+
return [
|
|
124
|
+
...validateNonNegativeInteger(settings.labelLookupIntervalMilliseconds, 'changelog.prLog.labelLookupIntervalMilliseconds'),
|
|
125
|
+
...validateNonNegativeInteger(settings.maximumRateLimitRetryCount, 'changelog.prLog.maximumRateLimitRetryCount'),
|
|
126
|
+
...collectInvalidCollapseRuleIssues(settings.collapseRules),
|
|
127
|
+
...collectInvalidVersionBumpLabelIssues(settings.versionBumps, validLabels),
|
|
128
|
+
...collectDuplicateVersionBumpLabelIssues(settings.versionBumps)
|
|
129
|
+
];
|
|
130
|
+
}
|
|
131
|
+
export function createPrLogConfig(changelog) {
|
|
132
|
+
const { prLog } = changelog ?? {};
|
|
133
|
+
const issues = collectPrLogSettingIssues(prLog);
|
|
134
|
+
if (issues.length > 0) {
|
|
135
|
+
throw new Error(issues.join('\n'));
|
|
136
|
+
}
|
|
137
|
+
const validLabels = createValidLabels(prLog);
|
|
138
|
+
return {
|
|
139
|
+
validLabels,
|
|
140
|
+
ignoredLabels: resolveIgnoredLabels(prLog),
|
|
141
|
+
versionBumps: createVersionBumps(prLog, validLabels),
|
|
142
|
+
dateFormat: resolveDateFormat(prLog),
|
|
143
|
+
collapseRules: resolveCollapseRules(prLog),
|
|
144
|
+
labelLookupIntervalMilliseconds: resolveLabelLookupIntervalMilliseconds(prLog),
|
|
145
|
+
maximumRateLimitRetryCount: resolveMaximumRateLimitRetryCount(prLog)
|
|
146
|
+
};
|
|
147
|
+
}
|
|
2
148
|
//# sourceMappingURL=changelog-pr-log-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changelog-pr-log-config.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/changelog-pr-log-config.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"changelog-pr-log-config.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/changelog-pr-log-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,11 @@
|
|
|
1
|
+
function hasCommandParseError(result) {
|
|
2
|
+
return Object.hasOwn(result, 'error');
|
|
3
|
+
}
|
|
4
|
+
export function getParseExitCode(log, result) {
|
|
5
|
+
if (!hasCommandParseError(result)) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
log(result.error.config.message);
|
|
9
|
+
return result.error.config.exitCode;
|
|
10
|
+
}
|
|
1
11
|
//# sourceMappingURL=command-parsing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-parsing.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/command-parsing.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"command-parsing.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/command-parsing.ts"],"names":[],"mappings":"AAaA,SAAS,oBAAoB,CAAC,MAA0B;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAA8B,EAAE,MAA0B;IACvF,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxC,CAAC"}
|
|
@@ -1,5 +1,80 @@
|
|
|
1
|
-
import 'true-myth';
|
|
2
|
-
import "packtory/config/validation.js";
|
|
3
|
-
import "./release-pull-request-config.js";
|
|
4
|
-
import "./runner-symbols.js";
|
|
1
|
+
import { Result } from 'true-myth';
|
|
2
|
+
import { validateConfig as validatePacktoryConfig } from "packtory/config/validation.js";
|
|
3
|
+
import { validateCommandLineInterfacePacktoryConfig } from "./release-pull-request-config.js";
|
|
4
|
+
import { getErrorSymbol, getSuccessSymbol } from "./runner-symbols.js";
|
|
5
|
+
function formatIssueList(issues) {
|
|
6
|
+
return ([
|
|
7
|
+
`${getErrorSymbol()} The provided config is invalid, there are ${issues.length} issue(s)`,
|
|
8
|
+
'',
|
|
9
|
+
`- ${issues.join('\n- ')}`
|
|
10
|
+
]
|
|
11
|
+
.join('\n'));
|
|
12
|
+
}
|
|
13
|
+
function formatDependencyList(dependencies) {
|
|
14
|
+
return dependencies === undefined || dependencies.length === 0
|
|
15
|
+
? 'none'
|
|
16
|
+
: dependencies.join(', ');
|
|
17
|
+
}
|
|
18
|
+
function formatRootEntries(roots) {
|
|
19
|
+
return (Object
|
|
20
|
+
.entries(roots)
|
|
21
|
+
.map(function ([name, root]) {
|
|
22
|
+
const declarationFile = root.declarationFile === undefined ? '' : `, d.ts: ${root.declarationFile}`;
|
|
23
|
+
return `${name}: ${root.js}${declarationFile}`;
|
|
24
|
+
})
|
|
25
|
+
.join('; '));
|
|
26
|
+
}
|
|
27
|
+
function formatPackageSummary(config) {
|
|
28
|
+
const commonSourcesFolder = config.commonPackageSettings?.sourcesFolder;
|
|
29
|
+
return config.packages.map(function (packageConfig) {
|
|
30
|
+
const sourcesFolder = packageConfig.sourcesFolder ?? commonSourcesFolder;
|
|
31
|
+
return ([
|
|
32
|
+
`- ${packageConfig.name}`,
|
|
33
|
+
` sourcesFolder: ${sourcesFolder}`,
|
|
34
|
+
` roots: ${formatRootEntries(packageConfig.roots)}`,
|
|
35
|
+
` bundleDependencies: ${formatDependencyList(packageConfig.bundleDependencies)}`,
|
|
36
|
+
` bundlePeerDependencies: ${formatDependencyList(packageConfig.bundlePeerDependencies)}`
|
|
37
|
+
]
|
|
38
|
+
.join('\n'));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function formatSuccess(config) {
|
|
42
|
+
const packageCount = `${config.packages.length} package(s)`;
|
|
43
|
+
return ([
|
|
44
|
+
`${getSuccessSymbol()} Config is valid`,
|
|
45
|
+
`Packages: ${packageCount}`,
|
|
46
|
+
...formatPackageSummary(config)
|
|
47
|
+
]
|
|
48
|
+
.join('\n'));
|
|
49
|
+
}
|
|
50
|
+
function validateInspectableConfig(config) {
|
|
51
|
+
const cliResult = validateCommandLineInterfacePacktoryConfig(config);
|
|
52
|
+
const packtoryResult = validatePacktoryConfig(config);
|
|
53
|
+
if (cliResult.isErr) {
|
|
54
|
+
return cliResult;
|
|
55
|
+
}
|
|
56
|
+
if (packtoryResult.isErr) {
|
|
57
|
+
return Result.err(packtoryResult.error);
|
|
58
|
+
}
|
|
59
|
+
return cliResult;
|
|
60
|
+
}
|
|
61
|
+
function reportInspectResult(log, result) {
|
|
62
|
+
if (result.isErr) {
|
|
63
|
+
log(formatIssueList(result.error));
|
|
64
|
+
return 1;
|
|
65
|
+
}
|
|
66
|
+
log(formatSuccess(result.value));
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
export async function runConfigInspectHandler(dependencies) {
|
|
70
|
+
const { log, spinnerRenderer, configLoader } = dependencies;
|
|
71
|
+
try {
|
|
72
|
+
const result = validateInspectableConfig(await configLoader.load());
|
|
73
|
+
spinnerRenderer.stopAll();
|
|
74
|
+
return reportInspectResult(log, result);
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
spinnerRenderer.stopAll();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
5
80
|
//# sourceMappingURL=config-inspect-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-inspect-handler.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/config-inspect-handler.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"config-inspect-handler.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/config-inspect-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,76 @@
|
|
|
1
|
-
import 'ts-pattern';
|
|
2
|
-
import 'yoctocolors';
|
|
3
|
-
import "packtory/packtory/packtory-results.js";
|
|
4
|
-
import "./runner-symbols.js";
|
|
5
|
-
import "./terminal-error-chain.js";
|
|
1
|
+
import { match } from 'ts-pattern';
|
|
2
|
+
import { bold, dim, green, red } from 'yoctocolors';
|
|
3
|
+
import { checksErrorType, configErrorType, partialFailureType } from "packtory/packtory/packtory-results.js";
|
|
4
|
+
import { getErrorSymbol, getSuccessSymbol, getWarningSymbol } from "./runner-symbols.js";
|
|
5
|
+
import { formatTerminalErrorBullet, formatTerminalErrorTraceBullet } from "./terminal-error-chain.js";
|
|
6
|
+
const issueTitleByType = {
|
|
7
|
+
[configErrorType]: 'The provided config is invalid',
|
|
8
|
+
[checksErrorType]: 'Checks failed'
|
|
9
|
+
};
|
|
10
|
+
export function printDryRunNote(log, flags) {
|
|
11
|
+
if (flags.noDryRun) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
log(`${getWarningSymbol()} ${dim(` Note: dry-run mode was enabled, so there was nothing really published; add the ${bold('--no-dry-run')} flag to disable dry-run mode`)}`);
|
|
15
|
+
}
|
|
16
|
+
function formatStageReceipt(result) {
|
|
17
|
+
return `- ${result.bundle.name}@${result.bundle.version}: ${result.publication.stageId}`;
|
|
18
|
+
}
|
|
19
|
+
function isStagedResult(result) {
|
|
20
|
+
return result.publication.type === 'staged';
|
|
21
|
+
}
|
|
22
|
+
function selectStagedResults(results) {
|
|
23
|
+
return results.filter(isStagedResult);
|
|
24
|
+
}
|
|
25
|
+
function printStagedPackageList(log, results) {
|
|
26
|
+
const stagedResults = selectStagedResults(results);
|
|
27
|
+
if (stagedResults.length === 0) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
log(['Staged packages:', ...stagedResults.map(formatStageReceipt)].join('\n'));
|
|
31
|
+
}
|
|
32
|
+
function printIssueSummary(log, title, issues) {
|
|
33
|
+
const header = `${getErrorSymbol()} ${title}, there are ${issues.length} issue(s)`;
|
|
34
|
+
log(`${header}\n\n- ${issues.join('\n- ')}`);
|
|
35
|
+
}
|
|
36
|
+
function formatStageSuccessSummary(results) {
|
|
37
|
+
const stagedResults = selectStagedResults(results);
|
|
38
|
+
if (stagedResults.length === 0) {
|
|
39
|
+
return (`${getSuccessSymbol()} Success: no packages were staged; ` +
|
|
40
|
+
`all ${results.length} package(s) were already up-to-date`);
|
|
41
|
+
}
|
|
42
|
+
const unchangedCount = results.length - stagedResults.length;
|
|
43
|
+
const unchangedSuffix = unchangedCount === 0 ? '' : `; ${dim(String(unchangedCount))} already up-to-date`;
|
|
44
|
+
return `${getSuccessSymbol()} Success: staged ${stagedResults.length} package(s)${unchangedSuffix}`;
|
|
45
|
+
}
|
|
46
|
+
function printPartialErrorSummary(log, error, stage, formatError) {
|
|
47
|
+
const total = error.succeeded.length + error.failures.length;
|
|
48
|
+
const failureCount = red(String(error.failures.length));
|
|
49
|
+
const successCount = green(String(error.succeeded.length));
|
|
50
|
+
const summary = `${getErrorSymbol()} ${failureCount} from ${bold(String(total))} package(s) failed; ` +
|
|
51
|
+
`${successCount} succeeded`;
|
|
52
|
+
const details = error.failures.map(formatError);
|
|
53
|
+
log([summary, ...details].join('\n'));
|
|
54
|
+
if (stage) {
|
|
55
|
+
printStagedPackageList(log, error.succeeded);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export function printPublishFailure(log, error, stage, trace) {
|
|
59
|
+
match(error)
|
|
60
|
+
.with({ type: partialFailureType }, function (partialError) {
|
|
61
|
+
const formatError = trace ? formatTerminalErrorTraceBullet : formatTerminalErrorBullet;
|
|
62
|
+
printPartialErrorSummary(log, partialError, stage, formatError);
|
|
63
|
+
})
|
|
64
|
+
.otherwise(function (issueError) {
|
|
65
|
+
printIssueSummary(log, issueTitleByType[issueError.type], issueError.issues);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
export function printSuccessSummary(log, results, flags) {
|
|
69
|
+
if (!flags.stage) {
|
|
70
|
+
log(`${getSuccessSymbol()} Success: all ${results.length} package(s) have been published`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
log(formatStageSuccessSummary(results));
|
|
74
|
+
printStagedPackageList(log, results);
|
|
75
|
+
}
|
|
6
76
|
//# sourceMappingURL=failure-printing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-printing.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/failure-printing.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"failure-printing.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/failure-printing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,101 @@
|
|
|
1
|
+
function defaultGitHubApiVersion() {
|
|
2
|
+
return '2022-11-28';
|
|
3
|
+
}
|
|
4
|
+
const missingGitHubResourceStatusCode = 404;
|
|
5
|
+
const missingGitHubReferenceStatusCode = 422;
|
|
6
|
+
const missingGitHubReferenceMessage = 'Reference does not exist';
|
|
7
|
+
function readReflectedProperty(value, property) {
|
|
8
|
+
return Reflect.get(new Object(value), property);
|
|
9
|
+
}
|
|
10
|
+
function readGitHubErrorStatus(error) {
|
|
11
|
+
return Number(readReflectedProperty(error, 'status'));
|
|
12
|
+
}
|
|
13
|
+
function readGitHubErrorPath(error) {
|
|
14
|
+
const url = String(readReflectedProperty(readReflectedProperty(error, 'request'), 'url'));
|
|
15
|
+
const parsedUrl = new URL(url);
|
|
16
|
+
return `${parsedUrl.pathname}${parsedUrl.search}`;
|
|
17
|
+
}
|
|
18
|
+
function readStringProperty(value, property) {
|
|
19
|
+
const propertyValue = readReflectedProperty(value, property);
|
|
20
|
+
return typeof propertyValue === 'string' && propertyValue.length > 0 ? propertyValue : undefined;
|
|
21
|
+
}
|
|
22
|
+
function readGitHubErrorMessages(value) {
|
|
23
|
+
if (!Array.isArray(value)) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
return value.map(function (item) {
|
|
27
|
+
return readStringProperty(item, 'message');
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function uniqueMessages(messages) {
|
|
31
|
+
return Array.from(new Set(messages.filter(function (message) {
|
|
32
|
+
return message !== undefined;
|
|
33
|
+
})));
|
|
34
|
+
}
|
|
35
|
+
function readGitHubErrorDetails(error) {
|
|
36
|
+
const response = readReflectedProperty(error, 'response');
|
|
37
|
+
const responseData = readReflectedProperty(response, 'data');
|
|
38
|
+
return uniqueMessages([
|
|
39
|
+
readStringProperty(error, 'message'),
|
|
40
|
+
readStringProperty(responseData, 'message'),
|
|
41
|
+
...readGitHubErrorMessages(readReflectedProperty(error, 'errors')),
|
|
42
|
+
...readGitHubErrorMessages(readReflectedProperty(response, 'errors')),
|
|
43
|
+
...readGitHubErrorMessages(readReflectedProperty(responseData, 'errors'))
|
|
44
|
+
]);
|
|
45
|
+
}
|
|
46
|
+
function createGitHubRequestError(error) {
|
|
47
|
+
const details = readGitHubErrorDetails(error);
|
|
48
|
+
const detailText = details.length === 0 ? '' : `: ${details.join('; ')}`;
|
|
49
|
+
return new Error(`GitHub API request failed (${String(readGitHubErrorStatus(error))}) for ${readGitHubErrorPath(error)}${detailText}`, {
|
|
50
|
+
cause: error
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function isMissingGitHubResourceError(error) {
|
|
54
|
+
return readGitHubErrorStatus(error) === missingGitHubResourceStatusCode;
|
|
55
|
+
}
|
|
56
|
+
export function isMissingGitHubReferenceError(error) {
|
|
57
|
+
if (isMissingGitHubResourceError(error)) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return readGitHubErrorStatus(error) === missingGitHubReferenceStatusCode &&
|
|
61
|
+
readGitHubErrorDetails(error).includes(missingGitHubReferenceMessage);
|
|
62
|
+
}
|
|
63
|
+
export function createGitHubJsonRequestHeaders(token, userAgent) {
|
|
64
|
+
const headers = {
|
|
65
|
+
accept: 'application/vnd.github+json',
|
|
66
|
+
'user-agent': userAgent,
|
|
67
|
+
'x-github-api-version': defaultGitHubApiVersion()
|
|
68
|
+
};
|
|
69
|
+
if (token === undefined) {
|
|
70
|
+
return headers;
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
...headers,
|
|
74
|
+
authorization: `Bearer ${token}`
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export async function resolveGitHubResponse(request) {
|
|
78
|
+
try {
|
|
79
|
+
return await request;
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
throw createGitHubRequestError(error);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export async function resolveGitHubResponseUnless(request, isAllowedFailure) {
|
|
86
|
+
try {
|
|
87
|
+
return await request;
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
if (isAllowedFailure(error)) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
throw createGitHubRequestError(error);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export async function resolveOptionalGitHubResponse(request, missingStatusCode) {
|
|
97
|
+
return resolveGitHubResponseUnless(request, function (error) {
|
|
98
|
+
return readGitHubErrorStatus(error) === missingStatusCode;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
1
101
|
//# sourceMappingURL=github-api-request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-api-request.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/github-api-request.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"github-api-request.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/github-api-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,103 @@
|
|
|
1
|
-
import '@octokit/core';
|
|
2
|
-
import "./github-api-request.js";
|
|
1
|
+
import { Octokit } from '@octokit/core';
|
|
2
|
+
import { createGitHubJsonRequestHeaders, resolveGitHubResponse, resolveOptionalGitHubResponse } from "./github-api-request.js";
|
|
3
|
+
const missingGitHubResourceStatusCode = 404;
|
|
4
|
+
function assertTagTarget(tagName, actual, expected) {
|
|
5
|
+
if (actual === expected) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
throw new Error(`Tag "${tagName}" already exists at ${actual}, expected ${expected}`);
|
|
9
|
+
}
|
|
10
|
+
function readProperty(value, property) {
|
|
11
|
+
return Reflect.get(new Object(value), property);
|
|
12
|
+
}
|
|
13
|
+
function readStringProperty(value, property) {
|
|
14
|
+
const propertyValue = readProperty(value, property);
|
|
15
|
+
return typeof propertyValue === 'string' && propertyValue.length > 0 ? propertyValue : undefined;
|
|
16
|
+
}
|
|
17
|
+
function readCreatedTagSha(response) {
|
|
18
|
+
const data = readProperty(response, 'data');
|
|
19
|
+
const sha = readStringProperty(data ?? response, 'sha');
|
|
20
|
+
if (sha !== undefined) {
|
|
21
|
+
return sha;
|
|
22
|
+
}
|
|
23
|
+
throw new Error('GitHub tag object response did not include a sha');
|
|
24
|
+
}
|
|
25
|
+
export function createGitHubReleaseClient(dependencies) {
|
|
26
|
+
const requestHeaders = createGitHubJsonRequestHeaders(dependencies.token, 'packtory');
|
|
27
|
+
const octokit = new Octokit({
|
|
28
|
+
request: {
|
|
29
|
+
fetch: dependencies.fetch
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
async function readTagTarget(ref) {
|
|
33
|
+
if (ref.object.type === 'commit') {
|
|
34
|
+
return ref.object.sha;
|
|
35
|
+
}
|
|
36
|
+
const response = await resolveGitHubResponse(octokit.request('GET /repos/{owner}/{repo}/git/tags/{tag_sha}', {
|
|
37
|
+
headers: requestHeaders,
|
|
38
|
+
owner: dependencies.owner,
|
|
39
|
+
repo: dependencies.repo,
|
|
40
|
+
tag_sha: ref.object.sha
|
|
41
|
+
}));
|
|
42
|
+
return response.data.object.sha;
|
|
43
|
+
}
|
|
44
|
+
async function readTagRef(tagName) {
|
|
45
|
+
const response = await resolveOptionalGitHubResponse(octokit.request('GET /repos/{owner}/{repo}/git/ref/{ref}', {
|
|
46
|
+
headers: requestHeaders,
|
|
47
|
+
owner: dependencies.owner,
|
|
48
|
+
repo: dependencies.repo,
|
|
49
|
+
ref: `tags/${tagName}`
|
|
50
|
+
}), missingGitHubResourceStatusCode);
|
|
51
|
+
return response?.data;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
async createReleaseIfMissing(request) {
|
|
55
|
+
const existing = await resolveOptionalGitHubResponse(octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
|
|
56
|
+
headers: requestHeaders,
|
|
57
|
+
owner: dependencies.owner,
|
|
58
|
+
repo: dependencies.repo,
|
|
59
|
+
tag: request.tagName
|
|
60
|
+
}), missingGitHubResourceStatusCode);
|
|
61
|
+
if (existing !== undefined) {
|
|
62
|
+
return 'existing';
|
|
63
|
+
}
|
|
64
|
+
const created = await resolveOptionalGitHubResponse(octokit.request('POST /repos/{owner}/{repo}/releases', {
|
|
65
|
+
headers: requestHeaders,
|
|
66
|
+
owner: dependencies.owner,
|
|
67
|
+
repo: dependencies.repo,
|
|
68
|
+
tag_name: request.tagName,
|
|
69
|
+
name: request.name,
|
|
70
|
+
body: request.body
|
|
71
|
+
}), missingGitHubResourceStatusCode);
|
|
72
|
+
if (created === undefined) {
|
|
73
|
+
throw new Error(`GitHub release for tag "${request.tagName}" could not be created`);
|
|
74
|
+
}
|
|
75
|
+
return 'created';
|
|
76
|
+
},
|
|
77
|
+
async ensureAnnotatedTag(request) {
|
|
78
|
+
const existing = await readTagRef(request.tagName);
|
|
79
|
+
if (existing !== undefined) {
|
|
80
|
+
assertTagTarget(request.tagName, await readTagTarget(existing), request.targetHead);
|
|
81
|
+
return 'existing';
|
|
82
|
+
}
|
|
83
|
+
const tag = await resolveGitHubResponse(octokit.request('POST /repos/{owner}/{repo}/git/tags', {
|
|
84
|
+
headers: requestHeaders,
|
|
85
|
+
owner: dependencies.owner,
|
|
86
|
+
repo: dependencies.repo,
|
|
87
|
+
tag: request.tagName,
|
|
88
|
+
message: request.message,
|
|
89
|
+
object: request.targetHead,
|
|
90
|
+
type: 'commit'
|
|
91
|
+
}));
|
|
92
|
+
await resolveGitHubResponse(octokit.request('POST /repos/{owner}/{repo}/git/refs', {
|
|
93
|
+
headers: requestHeaders,
|
|
94
|
+
owner: dependencies.owner,
|
|
95
|
+
repo: dependencies.repo,
|
|
96
|
+
ref: `refs/tags/${request.tagName}`,
|
|
97
|
+
sha: readCreatedTagSha(tag)
|
|
98
|
+
}));
|
|
99
|
+
return 'created';
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
3
103
|
//# sourceMappingURL=github-release-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-release-client.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/github-release-client.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"github-release-client.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/github-release-client.ts"],"names":[],"mappings":"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"}
|