@packtory/cli 0.0.62 → 0.0.64
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/runner/changelog-destinations.js +19 -10
- package/command-line-interface/runner/changelog-destinations.js.map +1 -1
- package/command-line-interface/runner/github-release-client.js +70 -4
- package/command-line-interface/runner/github-release-client.js.map +1 -1
- package/command-line-interface/runner/release-handler.js +57 -178
- package/command-line-interface/runner/release-handler.js.map +1 -1
- package/command-line-interface/runner/release-output-files.js +11 -0
- package/command-line-interface/runner/release-output-files.js.map +1 -1
- package/command-line-interface/runner/release-pr-github-client.js +8 -1
- package/command-line-interface/runner/release-pr-github-client.js.map +1 -1
- package/command-line-interface/runner/release-preparation.js +91 -0
- package/command-line-interface/runner/release-preparation.js.map +1 -0
- package/command-line-interface/runner/release-pull-request-handler.js +30 -37
- package/command-line-interface/runner/release-pull-request-handler.js.map +1 -1
- package/command-line-interface/runner/runner.js +6 -15
- package/command-line-interface/runner/runner.js.map +1 -1
- package/package.json +2 -2
- package/packages/command-line-interface/command-line-interface.entry-point.d.ts.map +1 -1
- package/packages/command-line-interface/command-line-interface.entry-point.js +0 -4
- package/packages/command-line-interface/command-line-interface.entry-point.js.map +1 -1
- package/readme.md +10 -21
- package/sbom.cdx.json +10 -10
- package/command-line-interface/runner/release-git-client.js +0 -94
- package/command-line-interface/runner/release-git-client.js.map +0 -1
package/sbom.cdx.json
CHANGED
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
{
|
|
10
10
|
"type": "application",
|
|
11
11
|
"name": "packtory",
|
|
12
|
-
"version": "0.0.
|
|
12
|
+
"version": "0.0.57"
|
|
13
13
|
}
|
|
14
14
|
]
|
|
15
15
|
},
|
|
16
16
|
"component": {
|
|
17
17
|
"type": "library",
|
|
18
18
|
"name": "@packtory/cli",
|
|
19
|
-
"version": "0.0.
|
|
20
|
-
"bom-ref": "pkg:npm/@packtory/cli@0.0.
|
|
21
|
-
"purl": "pkg:npm/@packtory/cli@0.0.
|
|
19
|
+
"version": "0.0.64",
|
|
20
|
+
"bom-ref": "pkg:npm/@packtory/cli@0.0.64",
|
|
21
|
+
"purl": "pkg:npm/@packtory/cli@0.0.64"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"components": [
|
|
@@ -116,15 +116,15 @@
|
|
|
116
116
|
{
|
|
117
117
|
"type": "library",
|
|
118
118
|
"name": "packtory",
|
|
119
|
-
"version": "0.0.
|
|
120
|
-
"bom-ref": "pkg:npm/packtory@0.0.
|
|
119
|
+
"version": "0.0.58",
|
|
120
|
+
"bom-ref": "pkg:npm/packtory@0.0.58",
|
|
121
121
|
"scope": "required",
|
|
122
122
|
"licenses": [
|
|
123
123
|
{
|
|
124
124
|
"expression": "MIT"
|
|
125
125
|
}
|
|
126
126
|
],
|
|
127
|
-
"purl": "pkg:npm/packtory@0.0.
|
|
127
|
+
"purl": "pkg:npm/packtory@0.0.58"
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
"type": "library",
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
"ref": "pkg:npm/@octokit/plugin-rest-endpoint-methods@17.0.0"
|
|
204
204
|
},
|
|
205
205
|
{
|
|
206
|
-
"ref": "pkg:npm/@packtory/cli@0.0.
|
|
206
|
+
"ref": "pkg:npm/@packtory/cli@0.0.64",
|
|
207
207
|
"dependsOn": [
|
|
208
208
|
"pkg:npm/@octokit/core@7.0.6",
|
|
209
209
|
"pkg:npm/@octokit/plugin-paginate-rest@14.0.0",
|
|
@@ -212,7 +212,7 @@
|
|
|
212
212
|
"pkg:npm/cmd-ts@0.15.0",
|
|
213
213
|
"pkg:npm/diff@9.0.0",
|
|
214
214
|
"pkg:npm/open@11.0.0",
|
|
215
|
-
"pkg:npm/packtory@0.0.
|
|
215
|
+
"pkg:npm/packtory@0.0.58",
|
|
216
216
|
"pkg:npm/remeda@2.39.0",
|
|
217
217
|
"pkg:npm/semver@7.8.5",
|
|
218
218
|
"pkg:npm/ts-pattern@5.9.0",
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
"ref": "pkg:npm/open@11.0.0"
|
|
234
234
|
},
|
|
235
235
|
{
|
|
236
|
-
"ref": "pkg:npm/packtory@0.0.
|
|
236
|
+
"ref": "pkg:npm/packtory@0.0.58"
|
|
237
237
|
},
|
|
238
238
|
{
|
|
239
239
|
"ref": "pkg:npm/remeda@2.39.0"
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
|
-
async function runGit(deps, args) {
|
|
3
|
-
const result = await deps.runGitCommand('git', ['-C', deps.repositoryFolder, ...args]);
|
|
4
|
-
return result.stdout.trim();
|
|
5
|
-
}
|
|
6
|
-
async function runGitRaw(deps, args) {
|
|
7
|
-
const result = await deps.runGitCommand('git', ['-C', deps.repositoryFolder, ...args]);
|
|
8
|
-
return result.stdout;
|
|
9
|
-
}
|
|
10
|
-
async function readGitOutputResult(deps, args) {
|
|
11
|
-
try {
|
|
12
|
-
return { kind: 'found', value: await runGit(deps, args) };
|
|
13
|
-
}
|
|
14
|
-
catch {
|
|
15
|
-
return { kind: 'missing' };
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function splitGitPathOutput(output) {
|
|
19
|
-
return output.split('\0').filter(function (path) {
|
|
20
|
-
return path.length > 0;
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
async function readFileAtRevision(deps, revision, filePath) {
|
|
24
|
-
return runGitRaw(deps, ['show', `${revision}:${filePath}`]);
|
|
25
|
-
}
|
|
26
|
-
export function createReleaseGitClient(deps) {
|
|
27
|
-
return {
|
|
28
|
-
async commit(filePaths, message) {
|
|
29
|
-
if (filePaths.length === 0) {
|
|
30
|
-
throw new Error('No changelog files were written; cannot create a release commit');
|
|
31
|
-
}
|
|
32
|
-
await runGit(deps, ['add', '--', ...filePaths]);
|
|
33
|
-
await runGit(deps, ['commit', '-m', message]);
|
|
34
|
-
},
|
|
35
|
-
async currentHead() {
|
|
36
|
-
const head = await runGit(deps, ['rev-parse', '--verify', 'HEAD']);
|
|
37
|
-
if (head.length === 0) {
|
|
38
|
-
throw new Error('Unable to read the current Git head');
|
|
39
|
-
}
|
|
40
|
-
return head;
|
|
41
|
-
},
|
|
42
|
-
async deleteRemoteBranch(branch) {
|
|
43
|
-
await readGitOutputResult(deps, ['push', 'origin', '--delete', branch]);
|
|
44
|
-
},
|
|
45
|
-
async ensureClean() {
|
|
46
|
-
const status = await runGit(deps, ['status', '--porcelain=v1']);
|
|
47
|
-
if (status.length > 0) {
|
|
48
|
-
throw new Error('Git index and worktree must be clean before release writes');
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
async ensureTag(tagName, message, targetHead) {
|
|
52
|
-
const existingTag = await readGitOutputResult(deps, ['rev-parse', '--verify', `refs/tags/${tagName}^{}`]);
|
|
53
|
-
if (existingTag.kind === 'missing') {
|
|
54
|
-
await runGit(deps, ['tag', '-a', tagName, '-m', message, targetHead]);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
assert.strictEqual(existingTag.kind, 'found');
|
|
58
|
-
if (existingTag.value === targetHead) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
throw new Error(`Tag "${tagName}" already exists at ${existingTag.value}, expected ${targetHead}`);
|
|
62
|
-
},
|
|
63
|
-
async pushHeadToBranch(branch) {
|
|
64
|
-
await readGitOutputResult(deps, [
|
|
65
|
-
'fetch',
|
|
66
|
-
'origin',
|
|
67
|
-
`refs/heads/${branch}:refs/remotes/origin/${branch}`
|
|
68
|
-
]);
|
|
69
|
-
const remoteBranch = await readGitOutputResult(deps, [
|
|
70
|
-
'rev-parse',
|
|
71
|
-
'--verify',
|
|
72
|
-
`refs/remotes/origin/${branch}`
|
|
73
|
-
]);
|
|
74
|
-
const lease = remoteBranch.kind === 'found'
|
|
75
|
-
? `--force-with-lease=refs/heads/${branch}:${remoteBranch.value}`
|
|
76
|
-
: `--force-with-lease=refs/heads/${branch}:`;
|
|
77
|
-
await runGit(deps, ['push', lease, 'origin', `HEAD:refs/heads/${branch}`]);
|
|
78
|
-
},
|
|
79
|
-
async pushFollowTags() {
|
|
80
|
-
await runGit(deps, ['push', '--follow-tags']);
|
|
81
|
-
},
|
|
82
|
-
async readChangedFiles(baseHead, targetHead) {
|
|
83
|
-
const changedPaths = splitGitPathOutput(await runGit(deps, ['diff', '--name-only', '-z', '--diff-filter=AM', baseHead, targetHead, '--']));
|
|
84
|
-
return Promise.all(changedPaths.map(async function (filePath) {
|
|
85
|
-
return {
|
|
86
|
-
contentBase64: Buffer.from(await readFileAtRevision(deps, targetHead, filePath)).toString('base64'),
|
|
87
|
-
kind: 'addition',
|
|
88
|
-
path: filePath
|
|
89
|
-
};
|
|
90
|
-
}));
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=release-git-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release-git-client.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/release-git-client.ts"],"names":[],"mappings":"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"}
|