@vitejs/release-scripts 1.4.0 → 1.6.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/dist/index.d.ts +8 -1
- package/dist/index.js +72 -4
- package/package.json +12 -10
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
export declare function generateChangelog(options: {
|
|
2
|
+
/** @example () => `packages/${pkgName}` */
|
|
3
|
+
getPkgDir: () => string;
|
|
4
|
+
/** @example `${pkgName}@` */
|
|
5
|
+
tagPrefix?: string;
|
|
6
|
+
}): Promise<void>;
|
|
7
|
+
|
|
1
8
|
export declare function publish(options: {
|
|
2
|
-
defaultPackage
|
|
9
|
+
defaultPackage?: string;
|
|
3
10
|
getPkgDir?: (pkg: string) => string;
|
|
4
11
|
/**
|
|
5
12
|
* Enables npm package provenance https://docs.npmjs.com/generating-provenance-statements
|
package/dist/index.js
CHANGED
|
@@ -116,9 +116,19 @@ async function publishPackage(pkgDir, tag, provenance, packageManager = "npm") {
|
|
|
116
116
|
}
|
|
117
117
|
async function getActiveVersion(npmName) {
|
|
118
118
|
try {
|
|
119
|
-
|
|
119
|
+
const { stdout } = await run(
|
|
120
|
+
"npm",
|
|
121
|
+
["info", npmName, "version", "--json"],
|
|
122
|
+
{ stdio: "pipe" }
|
|
123
|
+
);
|
|
124
|
+
return JSON.parse(stdout);
|
|
120
125
|
} catch (e) {
|
|
121
|
-
if (e.
|
|
126
|
+
if (e.stdout) {
|
|
127
|
+
const stdout = JSON.parse(e.stdout);
|
|
128
|
+
if (stdout.error.code === "E404") {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
122
132
|
throw e;
|
|
123
133
|
}
|
|
124
134
|
}
|
|
@@ -137,6 +147,10 @@ var publish = async ({
|
|
|
137
147
|
if (tag.includes("@")) [pkgName, version] = tag.split("@");
|
|
138
148
|
else version = tag;
|
|
139
149
|
if (version.startsWith("v")) version = version.slice(1);
|
|
150
|
+
if (pkgName === void 0)
|
|
151
|
+
throw new Error(
|
|
152
|
+
`Package name should be specified in tag "${tag}" when defaultPackage is not set`
|
|
153
|
+
);
|
|
140
154
|
const { pkg, pkgDir } = getPackageInfo(pkgName, getPkgDir);
|
|
141
155
|
if (pkg.version !== version)
|
|
142
156
|
throw new Error(
|
|
@@ -158,7 +172,7 @@ var release = async ({
|
|
|
158
172
|
repo,
|
|
159
173
|
packages,
|
|
160
174
|
logChangelog,
|
|
161
|
-
generateChangelog,
|
|
175
|
+
generateChangelog: generateChangelog2,
|
|
162
176
|
toTag,
|
|
163
177
|
getPkgDir
|
|
164
178
|
}) => {
|
|
@@ -219,7 +233,7 @@ var release = async ({
|
|
|
219
233
|
if (!yes) return;
|
|
220
234
|
step("\nUpdating package version...");
|
|
221
235
|
updateVersion(pkgPath, targetVersion);
|
|
222
|
-
await
|
|
236
|
+
await generateChangelog2(selectedPkg, targetVersion);
|
|
223
237
|
const { stdout } = await run("git", ["diff"], { stdio: "pipe" });
|
|
224
238
|
if (stdout) {
|
|
225
239
|
step("\nCommitting changes...");
|
|
@@ -247,7 +261,61 @@ https://github.com/vitejs/${repo}/actions/workflows/publish.yml`
|
|
|
247
261
|
}
|
|
248
262
|
console.log();
|
|
249
263
|
};
|
|
264
|
+
|
|
265
|
+
// src/changelog.ts
|
|
266
|
+
import fs from "node:fs";
|
|
267
|
+
import { ConventionalChangelog } from "conventional-changelog";
|
|
268
|
+
import createPreset, {
|
|
269
|
+
DEFAULT_COMMIT_TYPES
|
|
270
|
+
} from "conventional-changelog-conventionalcommits";
|
|
271
|
+
var generateChangelog = async ({
|
|
272
|
+
getPkgDir,
|
|
273
|
+
tagPrefix
|
|
274
|
+
}) => {
|
|
275
|
+
const preset = await createPreset({
|
|
276
|
+
types: DEFAULT_COMMIT_TYPES.map((t) => ({ ...t, hidden: false }))
|
|
277
|
+
});
|
|
278
|
+
preset.writer ??= {};
|
|
279
|
+
preset.writer.headerPartial = `
|
|
280
|
+
## {{#if isPatch~}} <small> {{~/if~}}
|
|
281
|
+
{{#if @root.linkCompare~}}
|
|
282
|
+
[{{version}}](
|
|
283
|
+
{{~#if @root.repository~}}
|
|
284
|
+
{{~#if @root.host}}
|
|
285
|
+
{{~@root.host}}/
|
|
286
|
+
{{~/if}}
|
|
287
|
+
{{~#if @root.owner}}
|
|
288
|
+
{{~@root.owner}}/
|
|
289
|
+
{{~/if}}
|
|
290
|
+
{{~@root.repository}}
|
|
291
|
+
{{~else}}
|
|
292
|
+
{{~@root.repoUrl}}
|
|
293
|
+
{{~/if~}}
|
|
294
|
+
/compare/{{previousTag}}...{{currentTag}})
|
|
295
|
+
{{~else}}
|
|
296
|
+
{{~version}}
|
|
297
|
+
{{~/if}}
|
|
298
|
+
{{~#if title}} "{{title}}"
|
|
299
|
+
{{~/if}}
|
|
300
|
+
{{~#if date}} ({{date}})
|
|
301
|
+
{{~/if}}
|
|
302
|
+
{{~#if isPatch~}} </small> {{~/if}}
|
|
303
|
+
`.trim();
|
|
304
|
+
preset.writer.mainTemplate += "\n";
|
|
305
|
+
const pkgDir = getPkgDir();
|
|
306
|
+
const generator = new ConventionalChangelog().readPackage(`${pkgDir}/package.json`).config(preset).options({ releaseCount: 1 }).commits({ path: pkgDir });
|
|
307
|
+
if (tagPrefix) {
|
|
308
|
+
generator.tags({ prefix: tagPrefix });
|
|
309
|
+
}
|
|
310
|
+
const originalChangelog = fs.readFileSync(`${pkgDir}/CHANGELOG.md`, "utf-8");
|
|
311
|
+
const writeStream = fs.createWriteStream(`${pkgDir}/CHANGELOG.md`);
|
|
312
|
+
for await (const chunk of generator.write()) {
|
|
313
|
+
writeStream.write(chunk);
|
|
314
|
+
}
|
|
315
|
+
writeStream.write(originalChangelog);
|
|
316
|
+
};
|
|
250
317
|
export {
|
|
318
|
+
generateChangelog,
|
|
251
319
|
publish,
|
|
252
320
|
release
|
|
253
321
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitejs/release-scripts",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "@vitejs release scripts",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -26,21 +26,23 @@
|
|
|
26
26
|
"release": "tnode scripts/release.ts"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
+
"conventional-changelog": "^7.1.0",
|
|
30
|
+
"conventional-changelog-conventionalcommits": "^9.0.0",
|
|
29
31
|
"execa": "^8.0.1",
|
|
30
32
|
"mri": "^1.2.0",
|
|
31
33
|
"picocolors": "^1.1.1",
|
|
32
34
|
"prompts": "^2.4.2",
|
|
33
|
-
"publint": "^0.3.
|
|
34
|
-
"semver": "^7.
|
|
35
|
+
"publint": "^0.3.12",
|
|
36
|
+
"semver": "^7.7.2"
|
|
35
37
|
},
|
|
36
38
|
"devDependencies": {
|
|
37
|
-
"@arnaud-barre/tnode": "^0.
|
|
38
|
-
"@types/node": "^22.
|
|
39
|
+
"@arnaud-barre/tnode": "^0.25.0",
|
|
40
|
+
"@types/node": "^22.15.33",
|
|
39
41
|
"@types/prompts": "^2.4.9",
|
|
40
|
-
"@types/semver": "^7.
|
|
41
|
-
"esbuild": "^0.
|
|
42
|
-
"prettier": "^3.
|
|
43
|
-
"typescript": "^5.
|
|
42
|
+
"@types/semver": "^7.7.0",
|
|
43
|
+
"esbuild": "^0.25.0",
|
|
44
|
+
"prettier": "^3.6.2",
|
|
45
|
+
"typescript": "^5.8.3"
|
|
44
46
|
},
|
|
45
|
-
"packageManager": "pnpm@
|
|
47
|
+
"packageManager": "pnpm@10.12.4"
|
|
46
48
|
}
|