@vitejs/release-scripts 1.5.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 CHANGED
@@ -1,3 +1,10 @@
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
9
  defaultPackage?: string;
3
10
  getPkgDir?: (pkg: string) => string;
package/dist/index.js CHANGED
@@ -172,7 +172,7 @@ var release = async ({
172
172
  repo,
173
173
  packages,
174
174
  logChangelog,
175
- generateChangelog,
175
+ generateChangelog: generateChangelog2,
176
176
  toTag,
177
177
  getPkgDir
178
178
  }) => {
@@ -233,7 +233,7 @@ var release = async ({
233
233
  if (!yes) return;
234
234
  step("\nUpdating package version...");
235
235
  updateVersion(pkgPath, targetVersion);
236
- await generateChangelog(selectedPkg, targetVersion);
236
+ await generateChangelog2(selectedPkg, targetVersion);
237
237
  const { stdout } = await run("git", ["diff"], { stdio: "pipe" });
238
238
  if (stdout) {
239
239
  step("\nCommitting changes...");
@@ -261,7 +261,61 @@ https://github.com/vitejs/${repo}/actions/workflows/publish.yml`
261
261
  }
262
262
  console.log();
263
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
+ };
264
317
  export {
318
+ generateChangelog,
265
319
  publish,
266
320
  release
267
321
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitejs/release-scripts",
3
- "version": "1.5.0",
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.2",
34
- "semver": "^7.6.3"
35
+ "publint": "^0.3.12",
36
+ "semver": "^7.7.2"
35
37
  },
36
38
  "devDependencies": {
37
- "@arnaud-barre/tnode": "^0.24.0",
38
- "@types/node": "^22.10.9",
39
+ "@arnaud-barre/tnode": "^0.25.0",
40
+ "@types/node": "^22.15.33",
39
41
  "@types/prompts": "^2.4.9",
40
- "@types/semver": "^7.5.8",
41
- "esbuild": "^0.24.2",
42
- "prettier": "^3.4.2",
43
- "typescript": "^5.7.3"
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@9.15.4"
47
+ "packageManager": "pnpm@10.12.4"
46
48
  }