@git.zone/cli 6.1.3 → 6.3.0
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/.smartconfig.json +1 -1
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/mod_release/helpers.npmartifact.d.ts +2 -2
- package/dist_ts/mod_release/helpers.npmartifact.js +48 -14
- package/package.json +2 -2
- package/readme.hints.md +3 -2
- package/readme.md +2 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/mod_release/helpers.npmartifact.ts +54 -16
- /package/{license → license.md} +0 -0
package/.smartconfig.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"npmGlobalTools": []
|
|
4
4
|
},
|
|
5
5
|
"@git.zone/tsdoc": {
|
|
6
|
-
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
|
|
6
|
+
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license.md) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
|
|
7
7
|
},
|
|
8
8
|
"@git.zone/cli": {
|
|
9
9
|
"schemaVersion": 2,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/cli',
|
|
6
|
-
version: '6.
|
|
6
|
+
version: '6.3.0',
|
|
7
7
|
description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxlQUFlO0lBQ3JCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSwrTEFBK0w7Q0FDN00sQ0FBQSJ9
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as plugins from "./mod.plugins.js";
|
|
2
2
|
import { type IReleaseArtifact } from "./classes.releasejournal.js";
|
|
3
|
-
declare const
|
|
3
|
+
declare const supportedPnpmVersions: readonly ["11.25.0", "12.1.0", "12.3.4"];
|
|
4
4
|
export interface IPnpmReleaseCapability {
|
|
5
|
-
version: typeof
|
|
5
|
+
version: (typeof supportedPnpmVersions)[number];
|
|
6
6
|
}
|
|
7
7
|
export type TNpmArtifactProbeStatus = "absent" | "exact" | "conflict" | "inconclusive";
|
|
8
8
|
export interface INpmArtifactProbeResult {
|
|
@@ -1,7 +1,46 @@
|
|
|
1
1
|
import * as plugins from "./mod.plugins.js";
|
|
2
2
|
import { releaseArtifactFileName, } from "./classes.releasejournal.js";
|
|
3
3
|
import { assertCredentialFreeGitPushDestination } from "./helpers.releasebranch.js";
|
|
4
|
-
const
|
|
4
|
+
const supportedPnpmVersions = ["11.25.0", "12.1.0", "12.3.4"];
|
|
5
|
+
const pnpmHelpRequirements = {
|
|
6
|
+
"11.25.0": {
|
|
7
|
+
pack: ["--out <path>", "--json"],
|
|
8
|
+
publish: [
|
|
9
|
+
"publish [<tarball>|<dir>]",
|
|
10
|
+
"--no-git-checks",
|
|
11
|
+
"--ignore-scripts",
|
|
12
|
+
"--json",
|
|
13
|
+
"--tag <tag>",
|
|
14
|
+
"--access <public|restricted>",
|
|
15
|
+
],
|
|
16
|
+
},
|
|
17
|
+
"12.1.0": {
|
|
18
|
+
pack: ["Usage: pnpm pack [OPTIONS]", "--out <OUT>", "--json"],
|
|
19
|
+
publish: [
|
|
20
|
+
"Usage: pnpm publish [OPTIONS] [PACKAGE]",
|
|
21
|
+
"Tarball or directory to publish",
|
|
22
|
+
"--no-git-checks",
|
|
23
|
+
"--ignore-scripts",
|
|
24
|
+
"--json",
|
|
25
|
+
"--tag <TAG>",
|
|
26
|
+
"--access <ACCESS>",
|
|
27
|
+
"[possible values: public, restricted]",
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
"12.3.4": {
|
|
31
|
+
pack: ["Usage: pnpm pack [OPTIONS]", "--out <OUT>", "--json"],
|
|
32
|
+
publish: [
|
|
33
|
+
"Usage: pnpm publish [OPTIONS] [PACKAGE]",
|
|
34
|
+
"Tarball or directory to publish",
|
|
35
|
+
"--no-git-checks",
|
|
36
|
+
"--ignore-scripts",
|
|
37
|
+
"--json",
|
|
38
|
+
"--tag <TAG>",
|
|
39
|
+
"--access <ACCESS>",
|
|
40
|
+
"[possible values: public, restricted]",
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
};
|
|
5
44
|
const maximumMetadataResponseBytes = 8 * 1024 * 1024;
|
|
6
45
|
const capabilityCommandTimeoutMs = 30_000;
|
|
7
46
|
const packCommandTimeoutMs = 10 * 60_000;
|
|
@@ -44,9 +83,11 @@ export const assertPnpmReleaseCapability = async (smartshellArg, cwdArg) => {
|
|
|
44
83
|
timeoutKillGraceMs: 5_000,
|
|
45
84
|
});
|
|
46
85
|
const version = versionResult.stdout.trim();
|
|
47
|
-
|
|
48
|
-
|
|
86
|
+
const supportedVersion = supportedPnpmVersions.find((candidateArg) => candidateArg === version);
|
|
87
|
+
if (versionResult.exitCode !== 0 || !supportedVersion) {
|
|
88
|
+
throw new Error(`Exact release packaging requires a verified pnpm version (${supportedPnpmVersions.join(", ")}); resolved ${version || "unknown"}.`);
|
|
49
89
|
}
|
|
90
|
+
const requirements = pnpmHelpRequirements[supportedVersion];
|
|
50
91
|
const packHelp = await smartshellArg.execSpawn("pnpm", ["pack", "--help"], {
|
|
51
92
|
cwd: cwdArg,
|
|
52
93
|
silent: true,
|
|
@@ -56,7 +97,7 @@ export const assertPnpmReleaseCapability = async (smartshellArg, cwdArg) => {
|
|
|
56
97
|
if (packHelp.exitCode !== 0) {
|
|
57
98
|
throw new Error("Unable to inspect pnpm pack capabilities.");
|
|
58
99
|
}
|
|
59
|
-
requireHelpFragments(packHelp.combinedOutput,
|
|
100
|
+
requireHelpFragments(packHelp.combinedOutput, requirements.pack, "pack");
|
|
60
101
|
const publishHelp = await smartshellArg.execSpawn("pnpm", ["publish", "--help"], {
|
|
61
102
|
cwd: cwdArg,
|
|
62
103
|
silent: true,
|
|
@@ -66,15 +107,8 @@ export const assertPnpmReleaseCapability = async (smartshellArg, cwdArg) => {
|
|
|
66
107
|
if (publishHelp.exitCode !== 0) {
|
|
67
108
|
throw new Error("Unable to inspect pnpm publish capabilities.");
|
|
68
109
|
}
|
|
69
|
-
requireHelpFragments(publishHelp.combinedOutput,
|
|
70
|
-
|
|
71
|
-
"--no-git-checks",
|
|
72
|
-
"--ignore-scripts",
|
|
73
|
-
"--json",
|
|
74
|
-
"--tag <tag>",
|
|
75
|
-
"--access <public|restricted>",
|
|
76
|
-
], "publish");
|
|
77
|
-
return { version: supportedPnpmVersion };
|
|
110
|
+
requireHelpFragments(publishHelp.combinedOutput, requirements.publish, "publish");
|
|
111
|
+
return { version: supportedVersion };
|
|
78
112
|
};
|
|
79
113
|
const legacyPublishWorkflowPaths = [
|
|
80
114
|
".gitea/workflows/default_tags.yaml",
|
|
@@ -357,4 +391,4 @@ export const waitForAnonymousNpmArtifact = async (registryArg, artifactArg, tagA
|
|
|
357
391
|
}
|
|
358
392
|
return lastResult;
|
|
359
393
|
};
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5ucG1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL21vZF9yZWxlYXNlL2hlbHBlcnMubnBtYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsdUJBQXVCLEdBRXhCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEYsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUNyRCxNQUFNLDBCQUEwQixHQUFHLE1BQU0sQ0FBQztBQUMxQyxNQUFNLG9CQUFvQixHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUM7QUFDekMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsd0VBQXdFLENBQUM7QUErQmxHLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxFQUMvQixNQUFjLEVBQ3FDLEVBQUU7SUFDckQsSUFBSSxXQUFvQixDQUFDO0lBQ3pCLElBQUksQ0FBQztRQUNILFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN0QixNQUFNLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FDN0UsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsRUFBRTtZQUN4RSxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUNFLE9BQU8sV0FBVyxLQUFLLFFBQVE7UUFD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
|
|
394
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5ucG1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL21vZF9yZWxlYXNlL2hlbHBlcnMubnBtYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsdUJBQXVCLEdBRXhCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEYsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFDdkUsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixTQUFTLEVBQUU7UUFDVCxJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDO1FBQ2hDLE9BQU8sRUFBRTtZQUNQLDJCQUEyQjtZQUMzQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLFFBQVE7WUFDUixhQUFhO1lBQ2IsOEJBQThCO1NBQy9CO0tBQ0Y7SUFDRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDO1FBQzdELE9BQU8sRUFBRTtZQUNQLHlDQUF5QztZQUN6QyxpQ0FBaUM7WUFDakMsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixRQUFRO1lBQ1IsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQix1Q0FBdUM7U0FDeEM7S0FDRjtJQUNELFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRSxDQUFDLDRCQUE0QixFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUM7UUFDN0QsT0FBTyxFQUFFO1lBQ1AseUNBQXlDO1lBQ3pDLGlDQUFpQztZQUNqQyxpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLFFBQVE7WUFDUixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLHVDQUF1QztTQUN4QztLQUNGO0NBQ08s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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/cli",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "6.
|
|
4
|
+
"version": "6.3.0",
|
|
5
5
|
"description": "A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
7
7
|
"typings": "dist_ts/index.d.ts",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@git.zone/tsbuild": "^4.4.2",
|
|
43
43
|
"@git.zone/tsrun": "^2.0.6",
|
|
44
44
|
"@git.zone/tstest": "^4.0.0",
|
|
45
|
-
"@types/node": "
|
|
45
|
+
"@types/node": "26.4.0"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@aws-sdk/client-s3": "3.1095.0",
|
package/readme.hints.md
CHANGED
|
@@ -166,8 +166,9 @@ version, changelog, commit, tag, build, and pack failures before that point, as
|
|
|
166
166
|
well as the pre-release `--merge` integration push, require explicit operator
|
|
167
167
|
reconciliation; they are not represented as publication attempts.
|
|
168
168
|
|
|
169
|
-
Schema 1 supports Git and public npm;
|
|
170
|
-
|
|
169
|
+
Schema 1 supports Git and public npm; npm publication requires resolved pnpm
|
|
170
|
+
11.25.0, 12.1.0, or 12.3.4 and its qualified pack/publish contract, while
|
|
171
|
+
Git-only journals do not. Schema 2 adds Docker qualification,
|
|
171
172
|
ordered promotion, and cleanup. Docker releases
|
|
172
173
|
cannot use `--merge` because its pre-release push would violate qualification
|
|
173
174
|
ordering, and `release.targets.docker.noBuild` must remain false because
|
package/readme.md
CHANGED
|
@@ -206,7 +206,7 @@ Release flags:
|
|
|
206
206
|
|
|
207
207
|
### Exact artifacts and release journals
|
|
208
208
|
|
|
209
|
-
Journal schema 1 supports Git and public npm publication. Schema 2 adds Docker qualification, promotion, and cleanup evidence without changing the storage path or schema-1 parsing and resume behavior. Fresh and resumed npm publication requires
|
|
209
|
+
Journal schema 1 supports Git and public npm publication. Schema 2 adds Docker qualification, promotion, and cleanup evidence without changing the storage path or schema-1 parsing and resume behavior. Fresh and resumed npm publication requires a qualified exact `pnpm` version: `11.25.0`, `12.1.0`, or `12.3.4`. GitZone checks that version's pack/publish command contract; other versions and missing required capabilities fail before publication. Registries must be unique canonical credential-free HTTP(S) URLs, and `release.targets.npm.accessLevel` must be `public` so verification does not depend on publisher credentials.
|
|
210
210
|
|
|
211
211
|
A selected Git target requires a canonical remote name and exactly one resolved push URL. Before any remote contact, including during `--plan`, GitZone rejects HTTP(S) usernames or passwords, embedded passwords, query strings, fragments, and unsupported protocols. Canonical local paths and SSH destinations may retain their required SSH username.
|
|
212
212
|
|
|
@@ -870,7 +870,7 @@ gitzone config show --json
|
|
|
870
870
|
|
|
871
871
|
## License and Legal Information
|
|
872
872
|
|
|
873
|
-
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [license](./license) file.
|
|
873
|
+
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [license](./license.md) file.
|
|
874
874
|
|
|
875
875
|
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
|
|
876
876
|
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/cli',
|
|
6
|
-
version: '6.
|
|
6
|
+
version: '6.3.0',
|
|
7
7
|
description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.'
|
|
8
8
|
}
|
|
@@ -5,7 +5,46 @@ import {
|
|
|
5
5
|
} from "./classes.releasejournal.js";
|
|
6
6
|
import { assertCredentialFreeGitPushDestination } from "./helpers.releasebranch.js";
|
|
7
7
|
|
|
8
|
-
const
|
|
8
|
+
const supportedPnpmVersions = ["11.25.0", "12.1.0", "12.3.4"] as const;
|
|
9
|
+
const pnpmHelpRequirements = {
|
|
10
|
+
"11.25.0": {
|
|
11
|
+
pack: ["--out <path>", "--json"],
|
|
12
|
+
publish: [
|
|
13
|
+
"publish [<tarball>|<dir>]",
|
|
14
|
+
"--no-git-checks",
|
|
15
|
+
"--ignore-scripts",
|
|
16
|
+
"--json",
|
|
17
|
+
"--tag <tag>",
|
|
18
|
+
"--access <public|restricted>",
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
"12.1.0": {
|
|
22
|
+
pack: ["Usage: pnpm pack [OPTIONS]", "--out <OUT>", "--json"],
|
|
23
|
+
publish: [
|
|
24
|
+
"Usage: pnpm publish [OPTIONS] [PACKAGE]",
|
|
25
|
+
"Tarball or directory to publish",
|
|
26
|
+
"--no-git-checks",
|
|
27
|
+
"--ignore-scripts",
|
|
28
|
+
"--json",
|
|
29
|
+
"--tag <TAG>",
|
|
30
|
+
"--access <ACCESS>",
|
|
31
|
+
"[possible values: public, restricted]",
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
"12.3.4": {
|
|
35
|
+
pack: ["Usage: pnpm pack [OPTIONS]", "--out <OUT>", "--json"],
|
|
36
|
+
publish: [
|
|
37
|
+
"Usage: pnpm publish [OPTIONS] [PACKAGE]",
|
|
38
|
+
"Tarball or directory to publish",
|
|
39
|
+
"--no-git-checks",
|
|
40
|
+
"--ignore-scripts",
|
|
41
|
+
"--json",
|
|
42
|
+
"--tag <TAG>",
|
|
43
|
+
"--access <ACCESS>",
|
|
44
|
+
"[possible values: public, restricted]",
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
} as const;
|
|
9
48
|
const maximumMetadataResponseBytes = 8 * 1024 * 1024;
|
|
10
49
|
const capabilityCommandTimeoutMs = 30_000;
|
|
11
50
|
const packCommandTimeoutMs = 10 * 60_000;
|
|
@@ -13,7 +52,7 @@ const publishCommandTimeoutMs = 5 * 60_000;
|
|
|
13
52
|
const packageNameRegex = /^(?:@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*|[a-z0-9][a-z0-9._-]*)$/;
|
|
14
53
|
|
|
15
54
|
export interface IPnpmReleaseCapability {
|
|
16
|
-
version: typeof
|
|
55
|
+
version: (typeof supportedPnpmVersions)[number];
|
|
17
56
|
}
|
|
18
57
|
|
|
19
58
|
export type TNpmArtifactProbeStatus =
|
|
@@ -72,10 +111,12 @@ const readPackageIdentity = async (
|
|
|
72
111
|
|
|
73
112
|
const requireHelpFragments = (
|
|
74
113
|
outputArg: string,
|
|
75
|
-
fragmentsArg: string[],
|
|
114
|
+
fragmentsArg: readonly string[],
|
|
76
115
|
commandArg: string,
|
|
77
116
|
): void => {
|
|
78
|
-
const missing = fragmentsArg.filter(
|
|
117
|
+
const missing = fragmentsArg.filter(
|
|
118
|
+
(fragmentArg) => !outputArg.includes(fragmentArg),
|
|
119
|
+
);
|
|
79
120
|
if (missing.length > 0) {
|
|
80
121
|
throw new Error(
|
|
81
122
|
`pnpm ${commandArg} is missing required exact-release capabilities: ${missing.join(", ")}.`,
|
|
@@ -94,11 +135,15 @@ export const assertPnpmReleaseCapability = async (
|
|
|
94
135
|
timeoutKillGraceMs: 5_000,
|
|
95
136
|
});
|
|
96
137
|
const version = versionResult.stdout.trim();
|
|
97
|
-
|
|
138
|
+
const supportedVersion = supportedPnpmVersions.find(
|
|
139
|
+
(candidateArg) => candidateArg === version,
|
|
140
|
+
);
|
|
141
|
+
if (versionResult.exitCode !== 0 || !supportedVersion) {
|
|
98
142
|
throw new Error(
|
|
99
|
-
`Exact release packaging requires
|
|
143
|
+
`Exact release packaging requires a verified pnpm version (${supportedPnpmVersions.join(", ")}); resolved ${version || "unknown"}.`,
|
|
100
144
|
);
|
|
101
145
|
}
|
|
146
|
+
const requirements = pnpmHelpRequirements[supportedVersion];
|
|
102
147
|
|
|
103
148
|
const packHelp = await smartshellArg.execSpawn("pnpm", ["pack", "--help"], {
|
|
104
149
|
cwd: cwdArg,
|
|
@@ -109,7 +154,7 @@ export const assertPnpmReleaseCapability = async (
|
|
|
109
154
|
if (packHelp.exitCode !== 0) {
|
|
110
155
|
throw new Error("Unable to inspect pnpm pack capabilities.");
|
|
111
156
|
}
|
|
112
|
-
requireHelpFragments(packHelp.combinedOutput,
|
|
157
|
+
requireHelpFragments(packHelp.combinedOutput, requirements.pack, "pack");
|
|
113
158
|
|
|
114
159
|
const publishHelp = await smartshellArg.execSpawn(
|
|
115
160
|
"pnpm",
|
|
@@ -126,17 +171,10 @@ export const assertPnpmReleaseCapability = async (
|
|
|
126
171
|
}
|
|
127
172
|
requireHelpFragments(
|
|
128
173
|
publishHelp.combinedOutput,
|
|
129
|
-
|
|
130
|
-
"publish [<tarball>|<dir>]",
|
|
131
|
-
"--no-git-checks",
|
|
132
|
-
"--ignore-scripts",
|
|
133
|
-
"--json",
|
|
134
|
-
"--tag <tag>",
|
|
135
|
-
"--access <public|restricted>",
|
|
136
|
-
],
|
|
174
|
+
requirements.publish,
|
|
137
175
|
"publish",
|
|
138
176
|
);
|
|
139
|
-
return { version:
|
|
177
|
+
return { version: supportedVersion };
|
|
140
178
|
};
|
|
141
179
|
|
|
142
180
|
const legacyPublishWorkflowPaths = [
|
/package/{license → license.md}
RENAMED
|
File without changes
|