@packtory/cli 0.0.102 → 0.0.104
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 +2 -33
- package/command-line-interface/config-loader.js.map +1 -1
- package/command-line-interface/one-time-password-prompt.js +0 -31
- package/command-line-interface/one-time-password-prompt.js.map +1 -1
- package/command-line-interface/preview-io/preview-io-shared.js +2 -31
- package/command-line-interface/preview-io/preview-io-shared.js.map +1 -1
- package/command-line-interface/preview-io/preview-io.js +4 -15
- package/command-line-interface/preview-io/preview-io.js.map +1 -1
- package/command-line-interface/preview-io/preview-spawn.js +1 -26
- package/command-line-interface/preview-io/preview-spawn.js.map +1 -1
- package/command-line-interface/runner/changelog-destinations.js +5 -220
- package/command-line-interface/runner/changelog-destinations.js.map +1 -1
- package/command-line-interface/runner/changelog-handler.js +5 -79
- package/command-line-interface/runner/changelog-handler.js.map +1 -1
- package/command-line-interface/runner/changelog-pr-log-config.js +1 -147
- package/command-line-interface/runner/changelog-pr-log-config.js.map +1 -1
- package/command-line-interface/runner/command-parsing.js +0 -10
- package/command-line-interface/runner/command-parsing.js.map +1 -1
- package/command-line-interface/runner/config-inspect-handler.js +4 -79
- package/command-line-interface/runner/config-inspect-handler.js.map +1 -1
- package/command-line-interface/runner/failure-printing.js +5 -75
- package/command-line-interface/runner/failure-printing.js.map +1 -1
- package/command-line-interface/runner/github-api-request.js +0 -100
- package/command-line-interface/runner/github-api-request.js.map +1 -1
- package/command-line-interface/runner/github-release-client.js +2 -102
- package/command-line-interface/runner/github-release-client.js.map +1 -1
- package/command-line-interface/runner/github-release-notes.js +1 -74
- package/command-line-interface/runner/github-release-notes.js.map +1 -1
- package/command-line-interface/runner/github-repository.js +1 -14
- package/command-line-interface/runner/github-repository.js.map +1 -1
- package/command-line-interface/runner/pack-handler.js +4 -201
- package/command-line-interface/runner/pack-handler.js.map +1 -1
- package/command-line-interface/runner/package-dependencies-handler.js +3 -53
- package/command-line-interface/runner/package-dependencies-handler.js.map +1 -1
- package/command-line-interface/runner/package-tree-handler.js +3 -66
- package/command-line-interface/runner/package-tree-handler.js.map +1 -1
- package/command-line-interface/runner/preview-handler.js +4 -50
- package/command-line-interface/runner/preview-handler.js.map +1 -1
- package/command-line-interface/runner/progress-wiring.js +0 -32
- package/command-line-interface/runner/progress-wiring.js.map +1 -1
- package/command-line-interface/runner/publish-handler.js +2 -45
- package/command-line-interface/runner/publish-handler.js.map +1 -1
- package/command-line-interface/runner/release-diff-handler.js +3 -33
- package/command-line-interface/runner/release-diff-handler.js.map +1 -1
- package/command-line-interface/runner/release-handler.js +5 -246
- package/command-line-interface/runner/release-handler.js.map +1 -1
- package/command-line-interface/runner/release-output-files.js +2 -24
- package/command-line-interface/runner/release-output-files.js.map +1 -1
- package/command-line-interface/runner/release-plan-result-printing.js +2 -25
- package/command-line-interface/runner/release-plan-result-printing.js.map +1 -1
- package/command-line-interface/runner/release-pr-branch-commit.js +2 -108
- package/command-line-interface/runner/release-pr-branch-commit.js.map +1 -1
- package/command-line-interface/runner/release-pr-github-client.js +8 -289
- package/command-line-interface/runner/release-pr-github-client.js.map +1 -1
- package/command-line-interface/runner/release-pr-workflow-run-cancellation.js +3 -66
- package/command-line-interface/runner/release-pr-workflow-run-cancellation.js.map +1 -1
- package/command-line-interface/runner/release-pr-workflow-runs.js +1 -52
- package/command-line-interface/runner/release-pr-workflow-runs.js.map +1 -1
- package/command-line-interface/runner/release-preparation.js +4 -91
- package/command-line-interface/runner/release-preparation.js.map +1 -1
- package/command-line-interface/runner/release-publish-authorization.js +1 -66
- package/command-line-interface/runner/release-publish-authorization.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-ci.js +0 -297
- package/command-line-interface/runner/release-pull-request-ci.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-config.d.ts +0 -38
- package/command-line-interface/runner/release-pull-request-config.d.ts.map +1 -1
- package/command-line-interface/runner/release-pull-request-config.js +5 -51
- package/command-line-interface/runner/release-pull-request-config.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-handler.js +9 -320
- package/command-line-interface/runner/release-pull-request-handler.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-policy.js +0 -46
- package/command-line-interface/runner/release-pull-request-policy.js.map +1 -1
- package/command-line-interface/runner/release-pull-request-settings.js +2 -18
- package/command-line-interface/runner/release-pull-request-settings.js.map +1 -1
- package/command-line-interface/runner/report-persistence.js +2 -25
- package/command-line-interface/runner/report-persistence.js.map +1 -1
- package/command-line-interface/runner/runner-symbols.js +1 -10
- package/command-line-interface/runner/runner-symbols.js.map +1 -1
- package/command-line-interface/runner/runner.js +14 -385
- package/command-line-interface/runner/runner.js.map +1 -1
- package/command-line-interface/runner/terminal-error-chain.js +0 -101
- package/command-line-interface/runner/terminal-error-chain.js.map +1 -1
- package/command-line-interface/spinner/line-spinner-renderer.js +2 -49
- package/command-line-interface/spinner/line-spinner-renderer.js.map +1 -1
- package/command-line-interface/spinner/spinner-boot.js +1 -9
- package/command-line-interface/spinner/spinner-boot.js.map +1 -1
- package/command-line-interface/spinner/spinner-glyphs.js +1 -30
- package/command-line-interface/spinner/spinner-glyphs.js.map +1 -1
- package/command-line-interface/spinner/spinner-render-sequence.js +2 -30
- package/command-line-interface/spinner/spinner-render-sequence.js.map +1 -1
- package/command-line-interface/spinner/spinner-runtime.js +1 -30
- package/command-line-interface/spinner/spinner-runtime.js.map +1 -1
- package/command-line-interface/spinner/spinner-shared-state.js +0 -271
- package/command-line-interface/spinner/spinner-shared-state.js.map +1 -1
- package/command-line-interface/spinner/spinner-snapshots.js +1 -11
- package/command-line-interface/spinner/spinner-snapshots.js.map +1 -1
- package/command-line-interface/spinner/spinner-worker-backend.js +0 -42
- package/command-line-interface/spinner/spinner-worker-backend.js.map +1 -1
- package/command-line-interface/spinner/spinner-worker-loop.js +3 -39
- package/command-line-interface/spinner/spinner-worker-loop.js.map +1 -1
- package/command-line-interface/spinner/terminal-spinner-renderer.js +0 -54
- package/command-line-interface/spinner/terminal-spinner-renderer.js.map +1 -1
- package/common/path-tree.js +2 -100
- package/common/path-tree.js.map +1 -1
- package/package.json +3 -3
- package/packages/command-line-interface/pull-request-label-versioning.js +3 -80
- package/packages/command-line-interface/pull-request-label-versioning.js.map +1 -1
- package/packages/command-line-interface/spinner-boot.entry-point.js +3 -40
- package/packages/command-line-interface/spinner-boot.entry-point.js.map +1 -1
- package/packtory/changelog-source-file-history.js +2 -108
- package/packtory/changelog-source-file-history.js.map +1 -1
- package/packtory/packtory-changelog.js +5 -294
- package/packtory/packtory-changelog.js.map +1 -1
- package/report/html-renderer/artifact-tree-renderer.js +4 -28
- package/report/html-renderer/artifact-tree-renderer.js.map +1 -1
- package/report/html-renderer/diagnostics-renderer.js +2 -38
- package/report/html-renderer/diagnostics-renderer.js.map +1 -1
- package/report/html-renderer/diff-renderer.js +1 -28
- package/report/html-renderer/diff-renderer.js.map +1 -1
- package/report/html-renderer/eliminated-files-renderer.js +2 -15
- package/report/html-renderer/eliminated-files-renderer.js.map +1 -1
- package/report/html-renderer/html-escaping.js +0 -8
- package/report/html-renderer/html-escaping.js.map +1 -1
- package/report/html-renderer/html-primitives.js +1 -23
- package/report/html-renderer/html-primitives.js.map +1 -1
- package/report/html-renderer/html-renderer.js +4 -60
- package/report/html-renderer/html-renderer.js.map +1 -1
- package/report/html-renderer/html-styles.js +0 -176
- package/report/html-renderer/html-styles.js.map +1 -1
- package/report/html-renderer/package-renderer.js +6 -31
- package/report/html-renderer/package-renderer.js.map +1 -1
- package/report/preview/artifact-diff-builder.js +2 -19
- package/report/preview/artifact-diff-builder.js.map +1 -1
- package/report/preview/artifact-tree-builder.js +1 -19
- package/report/preview/artifact-tree-builder.js.map +1 -1
- package/report/preview/bundle-artifact-index.js +1 -15
- package/report/preview/bundle-artifact-index.js.map +1 -1
- package/report/preview/preview-document-state.js +0 -16
- package/report/preview/preview-document-state.js.map +1 -1
- package/report/preview/preview-document.js +6 -84
- package/report/preview/preview-document.js.map +1 -1
- package/report/preview/preview-result-inspectors.js +2 -33
- package/report/preview/preview-result-inspectors.js.map +1 -1
- package/report/preview/preview-summary.js +0 -25
- package/report/preview/preview-summary.js.map +1 -1
- package/report/release-diff/release-diff-document.js +2 -25
- package/report/release-diff/release-diff-document.js.map +1 -1
- package/report/release-diff/release-diff-summary.js +1 -39
- package/report/release-diff/release-diff-summary.js.map +1 -1
- package/report/terminal-renderer/terminal-artifact-renderer.js +2 -30
- package/report/terminal-renderer/terminal-artifact-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-dependencies-renderer.js +1 -77
- package/report/terminal-renderer/terminal-package-dependencies-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-renderer.js +2 -74
- package/report/terminal-renderer/terminal-package-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-package-tree-renderer.js +3 -16
- package/report/terminal-renderer/terminal-package-tree-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-preview-renderer-shared.js +3 -61
- package/report/terminal-renderer/terminal-preview-renderer-shared.js.map +1 -1
- package/report/terminal-renderer/terminal-preview-renderer.js +2 -54
- package/report/terminal-renderer/terminal-preview-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-release-diff-package-renderer.js +4 -145
- package/report/terminal-renderer/terminal-release-diff-package-renderer.js.map +1 -1
- package/report/terminal-renderer/terminal-release-diff-renderer.js +2 -48
- package/report/terminal-renderer/terminal-release-diff-renderer.js.map +1 -1
- package/sbom.cdx.json +15 -15
|
@@ -1,148 +1,2 @@
|
|
|
1
|
-
import
|
|
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
|
-
}
|
|
1
|
+
import '@pr-log/core';
|
|
148
2
|
//# 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":"AAAA,OAAwE,cAAc,CAAC"}
|
|
@@ -1,11 +1 @@
|
|
|
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
|
-
}
|
|
11
1
|
//# 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":""}
|
|
@@ -1,80 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
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
|
-
}
|
|
1
|
+
import 'true-myth';
|
|
2
|
+
import "packtory/config/validation.js";
|
|
3
|
+
import "./release-pull-request-config.js";
|
|
4
|
+
import "./runner-symbols.js";
|
|
80
5
|
//# 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":"AAAA,OAAuB,WAAW,CAAC;AACnC,OAAyD,+BAA4B,CAAC;AAGtF,OAIO,kCAAkC,CAAC;AAC1C,OAAiD,qBAAqB,CAAC"}
|
|
@@ -1,76 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
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
|
-
}
|
|
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";
|
|
76
6
|
//# 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":"AAAA,OAAsB,YAAY,CAAC;AACnC,OAAsC,aAAa,CAAC;AAEpD,OAKO,uCAAoC,CAAC;AAG5C,OAAmE,qBAAqB,CAAC;AACzF,OAA0E,2BAA2B,CAAC"}
|
|
@@ -1,101 +1 @@
|
|
|
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
|
-
}
|
|
101
1
|
//# 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":""}
|
|
@@ -1,103 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
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
|
-
}
|
|
1
|
+
import '@octokit/core';
|
|
2
|
+
import "./github-api-request.js";
|
|
103
3
|
//# 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":"AAAA,OAAwB,eAAe,CAAC;AACxC,OAIO,yBAAyB,CAAC"}
|