@containerbase/semantic-release-pnpm 1.3.35 → 1.4.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/lib/index.js +95 -35
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -8,7 +8,7 @@ var __export = (target, all) => {
|
|
|
8
8
|
// src/index.ts
|
|
9
9
|
import { execa } from "execa";
|
|
10
10
|
import "semantic-release";
|
|
11
|
-
import
|
|
11
|
+
import AggregateError2 from "aggregate-error";
|
|
12
12
|
|
|
13
13
|
// src/get-error.ts
|
|
14
14
|
import SemanticReleaseError from "@semantic-release/error";
|
|
@@ -16,7 +16,9 @@ import SemanticReleaseError from "@semantic-release/error";
|
|
|
16
16
|
// src/definitions/errors.ts
|
|
17
17
|
var errors_exports = {};
|
|
18
18
|
__export(errors_exports, {
|
|
19
|
-
EINVALIDNPMAUTH: () => EINVALIDNPMAUTH
|
|
19
|
+
EINVALIDNPMAUTH: () => EINVALIDNPMAUTH,
|
|
20
|
+
ENOPKG: () => ENOPKG,
|
|
21
|
+
ENOPKGNAME: () => ENOPKGNAME
|
|
20
22
|
});
|
|
21
23
|
function EINVALIDNPMAUTH(_ctx) {
|
|
22
24
|
return {
|
|
@@ -26,6 +28,22 @@ function EINVALIDNPMAUTH(_ctx) {
|
|
|
26
28
|
Please verify your authentication configuration.`
|
|
27
29
|
};
|
|
28
30
|
}
|
|
31
|
+
function ENOPKGNAME(_ctx) {
|
|
32
|
+
return {
|
|
33
|
+
message: "Missing `name` property in `package.json`.",
|
|
34
|
+
details: `The \`package.json\`'s [name](https://docs.npmjs.com/files/package.json#name) property is required in order to publish a package to the npm registry.
|
|
35
|
+
|
|
36
|
+
Please make sure to add a valid \`name\` for your package in your \`package.json\`.`
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function ENOPKG(_ctx) {
|
|
40
|
+
return {
|
|
41
|
+
message: "Missing `package.json` file.",
|
|
42
|
+
details: `A [package.json file](https://docs.npmjs.com/files/package.json) at the root of your project is required to release on npm.
|
|
43
|
+
|
|
44
|
+
Please follow the [npm guideline](https://docs.npmjs.com/getting-started/creating-node-modules) to create a valid \`package.json\` file.`
|
|
45
|
+
};
|
|
46
|
+
}
|
|
29
47
|
|
|
30
48
|
// src/get-error.ts
|
|
31
49
|
var get_error_default = (code, ctx = {}) => {
|
|
@@ -39,6 +57,27 @@ function getChannel(channel) {
|
|
|
39
57
|
return channel ? validRange(channel) ? `release-${channel}` : channel : "latest";
|
|
40
58
|
}
|
|
41
59
|
|
|
60
|
+
// src/get-pkg.ts
|
|
61
|
+
import path from "path";
|
|
62
|
+
import { readPackage } from "read-pkg";
|
|
63
|
+
import AggregateError from "aggregate-error";
|
|
64
|
+
async function getPkg(cwd, pkgRoot) {
|
|
65
|
+
try {
|
|
66
|
+
const pkg = await readPackage({
|
|
67
|
+
cwd: pkgRoot ? path.resolve(cwd, pkgRoot) : cwd
|
|
68
|
+
});
|
|
69
|
+
if (!pkg.name) {
|
|
70
|
+
throw get_error_default("ENOPKGNAME");
|
|
71
|
+
}
|
|
72
|
+
return pkg;
|
|
73
|
+
} catch (error) {
|
|
74
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
75
|
+
throw new AggregateError([get_error_default("ENOPKG")]);
|
|
76
|
+
}
|
|
77
|
+
throw new AggregateError([error]);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
42
81
|
// src/index.ts
|
|
43
82
|
async function verifyConditions(_pluginConfig, { cwd = ".", env, stderr, stdout, logger }) {
|
|
44
83
|
logger.log(`Verifying registry access`);
|
|
@@ -62,7 +101,7 @@ async function verifyConditions(_pluginConfig, { cwd = ".", env, stderr, stdout,
|
|
|
62
101
|
);
|
|
63
102
|
for (const line of [...res.stdout, ...res.stderr]) {
|
|
64
103
|
if (line.includes("This command requires you to be logged in to ")) {
|
|
65
|
-
throw new
|
|
104
|
+
throw new AggregateError2([get_error_default("EINVALIDNPMAUTH")]);
|
|
66
105
|
}
|
|
67
106
|
}
|
|
68
107
|
}
|
|
@@ -75,40 +114,61 @@ async function prepare(_pluginConfig, {
|
|
|
75
114
|
nextRelease: { version }
|
|
76
115
|
}) {
|
|
77
116
|
logger.log("Write version %s to package.json in %s", version, cwd);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
117
|
+
const errors = [];
|
|
118
|
+
try {
|
|
119
|
+
const pkg = await getPkg(cwd);
|
|
120
|
+
if (pkg.private != true) {
|
|
121
|
+
await execa(
|
|
122
|
+
"pnpm",
|
|
123
|
+
[
|
|
124
|
+
"pnpm",
|
|
125
|
+
"version",
|
|
126
|
+
version,
|
|
127
|
+
"--no-git-tag-version",
|
|
128
|
+
"--allow-same-version"
|
|
129
|
+
],
|
|
130
|
+
{
|
|
131
|
+
cwd,
|
|
132
|
+
env,
|
|
133
|
+
stdout,
|
|
134
|
+
stderr
|
|
135
|
+
}
|
|
136
|
+
);
|
|
92
137
|
}
|
|
93
|
-
)
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
[
|
|
97
|
-
"-r",
|
|
98
|
-
"exec",
|
|
99
|
-
"pnpm",
|
|
100
|
-
"version",
|
|
101
|
-
version,
|
|
102
|
-
"--no-git-tag-version",
|
|
103
|
-
"--allow-same-version"
|
|
104
|
-
],
|
|
105
|
-
{
|
|
106
|
-
cwd,
|
|
107
|
-
env,
|
|
108
|
-
stdout,
|
|
109
|
-
stderr
|
|
138
|
+
} catch (err) {
|
|
139
|
+
if (err instanceof AggregateError2) {
|
|
140
|
+
errors.push(...err.errors);
|
|
110
141
|
}
|
|
111
|
-
|
|
142
|
+
errors.push(err);
|
|
143
|
+
}
|
|
144
|
+
if (errors.length > 0) {
|
|
145
|
+
throw new AggregateError2(errors);
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
await execa(
|
|
149
|
+
"pnpm",
|
|
150
|
+
[
|
|
151
|
+
"-r",
|
|
152
|
+
"exec",
|
|
153
|
+
"pnpm",
|
|
154
|
+
"version",
|
|
155
|
+
version,
|
|
156
|
+
"--no-git-tag-version",
|
|
157
|
+
"--allow-same-version"
|
|
158
|
+
],
|
|
159
|
+
{
|
|
160
|
+
cwd,
|
|
161
|
+
env,
|
|
162
|
+
stdout,
|
|
163
|
+
stderr
|
|
164
|
+
}
|
|
165
|
+
);
|
|
166
|
+
} catch (err) {
|
|
167
|
+
errors.push(err);
|
|
168
|
+
}
|
|
169
|
+
if (errors.length > 0) {
|
|
170
|
+
throw new AggregateError2(errors);
|
|
171
|
+
}
|
|
112
172
|
}
|
|
113
173
|
async function publish(_pluginConfig, {
|
|
114
174
|
cwd = ".",
|