@vc-shell/release-config 1.2.4-beta.6 → 1.2.4-beta.8

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.
@@ -1,21 +1,21 @@
1
- import { parse as b, valid as N } from "semver";
2
- import { readFileSync as V, writeFileSync as x } from "node:fs";
1
+ import { parse as P, valid as N } from "semver";
2
+ import { readFileSync as b, writeFileSync as T } from "node:fs";
3
3
  import R from "node:path";
4
4
  import $ from "mri";
5
- import { argv as D } from "node:process";
5
+ import { argv as E } from "node:process";
6
6
  import n from "chalk";
7
- import { sync as f } from "cross-spawn";
8
- import d from "prompts";
9
- import { f as T, e as I, b as E, d as L, g as S, a as j, s as U, r as J, p as O } from "./generate-changelogs-ujWf_gXz.js";
10
- import { c as le } from "./generate-changelogs-ujWf_gXz.js";
11
- const l = $(D.slice(2));
12
- l.dry;
13
- function v(t) {
7
+ import { sync as h } from "cross-spawn";
8
+ import y from "prompts";
9
+ import { f as O, e as D, a as S, s as H, g as I, b as L, c as j, d as U, r as _, p as F } from "./generate-changelogs-Dx-dDlOU.js";
10
+ import { h as ge } from "./generate-changelogs-Dx-dDlOU.js";
11
+ const c = $(E.slice(2));
12
+ c.dry;
13
+ function w(t) {
14
14
  const o = R.resolve(t), e = R.resolve(o, "package.json");
15
- return { pkg: JSON.parse(V(e, "utf-8")), pkgDir: o, pkgPath: e };
15
+ return { pkg: JSON.parse(b(e, "utf-8")), pkgDir: o, pkgPath: e };
16
16
  }
17
- async function F() {
18
- const { releaseType: t } = await d({
17
+ async function J() {
18
+ const { releaseType: t } = await y({
19
19
  type: "select",
20
20
  name: "releaseType",
21
21
  message: "Select release type",
@@ -28,8 +28,8 @@ async function F() {
28
28
  });
29
29
  return t;
30
30
  }
31
- async function G(t) {
32
- const o = b(t), e = o && o.prerelease.length > 0, s = e ? o.prerelease[0] : null, { preid: i } = await d({
31
+ async function M(t) {
32
+ const o = P(t), e = o && o.prerelease.length > 0, s = e ? o.prerelease[0] : null, { preid: a } = await y({
33
33
  type: "select",
34
34
  name: "preid",
35
35
  message: "Select prerelease identifier",
@@ -48,11 +48,11 @@ async function G(t) {
48
48
  }
49
49
  ]
50
50
  });
51
- if (i)
52
- return e && s === i ? { preid: i, lernaVersionArg: "prerelease", lernaPreidArgs: [] } : { preid: i, lernaVersionArg: "prerelease", lernaPreidArgs: ["--preid", i] };
51
+ if (a)
52
+ return e && s === a ? { preid: a, lernaVersionArg: "prerelease", lernaPreidArgs: [] } : { preid: a, lernaVersionArg: "prerelease", lernaPreidArgs: ["--preid", a] };
53
53
  }
54
- async function H(t) {
55
- const { customVersion: o } = await d({
54
+ async function G(t) {
55
+ const { customVersion: o } = await y({
56
56
  type: "text",
57
57
  name: "customVersion",
58
58
  message: "Enter custom version",
@@ -62,62 +62,71 @@ async function H(t) {
62
62
  return o;
63
63
  }
64
64
  async function B() {
65
- const { yes: t } = await d({
65
+ const { yes: t } = await y({
66
66
  type: "confirm",
67
67
  name: "yes",
68
68
  message: "Ready to release. Continue?"
69
69
  });
70
70
  return !!t;
71
71
  }
72
- function u() {
72
+ function m() {
73
73
  console.log(n.yellow(`
74
74
  Release cancelled
75
75
  `));
76
76
  }
77
- function M(t, o) {
77
+ function W(t, o) {
78
78
  const e = ["lerna", "version", ...t];
79
79
  return e.push("--conventional-commits"), e.push("--tag-version-prefix", o.tagVersionPrefix), e.push("--no-push"), o.isDryRun && e.push("--no-git-tag-version"), o.forcePublish && (e.push("--force-publish"), console.log(n.yellow(`
80
80
  Force publish mode - all packages will be versioned
81
81
  `))), e;
82
82
  }
83
- function Y(t) {
83
+ function K(t) {
84
84
  console.log(n.cyan(`
85
85
  Running: npx ${t.join(" ")}
86
86
  `));
87
- const o = f("npx", t, { stdio: "inherit" });
87
+ const o = h("npx", t, {
88
+ stdio: "inherit",
89
+ env: {
90
+ ...process.env,
91
+ // Lerna v8+ resolves projects through Nx and can accidentally bind to a parent workspace
92
+ // when the releasable app lives inside a larger monorepo. Pin the workspace root to the
93
+ // current project so changed packages are detected correctly.
94
+ NX_WORKSPACE_ROOT_PATH: process.env.NX_WORKSPACE_ROOT_PATH || process.cwd()
95
+ }
96
+ });
88
97
  o.status !== 0 && (console.error(n.red(`
89
98
  Release process failed
90
99
  `)), process.exit(o.status || 1));
91
100
  }
92
- function q(t) {
101
+ function X(t) {
93
102
  const o = {};
94
103
  for (const e of t) {
95
- const { pkg: s } = v(e.path);
104
+ const { pkg: s } = w(e.path);
96
105
  o[e.path] = s.version;
97
106
  }
98
107
  return o;
99
108
  }
100
- function z(t, o) {
109
+ function Y(t, o) {
101
110
  for (const e of t) {
102
- const { pkg: s } = v(e.path);
111
+ const { pkg: s } = w(e.path);
103
112
  if (s.version !== o[e.path])
104
113
  return s.version;
105
114
  }
106
115
  return null;
107
116
  }
108
- function K(t, o, e) {
117
+ function q(t, o, e) {
109
118
  if (console.log(n.gray(`
110
119
  --- Release diagnostics ---`)), console.log(n.gray(` tagVersionPrefix: "${t}"`)), console.log(n.gray(` looking for tags: ${t}${o}.*`)), e) {
111
- const s = f("git", ["rev-list", "--count", `${e}..HEAD`], {
120
+ const s = h("git", ["rev-list", "--count", `${e}..HEAD`], {
112
121
  stdio: "pipe",
113
122
  encoding: "utf-8"
114
- }), i = s.status === 0 ? s.stdout.trim() : "?", a = f(
123
+ }), a = s.status === 0 ? s.stdout.trim() : "?", f = h(
115
124
  "git",
116
125
  ["log", `${e}..HEAD`, "--oneline", "--grep", "^feat\\|^fix\\|^perf\\|^revert"],
117
126
  { stdio: "pipe", encoding: "utf-8" }
118
- ), g = a.status === 0 ? a.stdout.trim().split(`
127
+ ), i = f.status === 0 ? f.stdout.trim().split(`
119
128
  `).filter(Boolean).length : 0;
120
- console.log(n.gray(` last matching tag: ${e}`)), console.log(n.gray(` commits since tag: ${i}`)), console.log(n.gray(` conventional commits: ${g}`)), g === 0 && parseInt(i) > 0 && console.log(
129
+ console.log(n.gray(` last matching tag: ${e}`)), console.log(n.gray(` commits since tag: ${a}`)), console.log(n.gray(` conventional commits: ${i}`)), i === 0 && parseInt(a) > 0 && console.log(
121
130
  n.yellow(
122
131
  " No conventional commits found. Use --force to publish anyway."
123
132
  )
@@ -127,68 +136,69 @@ function K(t, o, e) {
127
136
  console.log(n.gray(`---------------------------
128
137
  `));
129
138
  }
130
- async function re(t) {
139
+ async function ie(t) {
131
140
  const {
132
141
  packages: o,
133
142
  tagVersionPrefix: e = "v",
134
143
  customHooks: s,
135
- updateRootVersion: i = !0
144
+ updateRootVersion: a = !0,
145
+ forcePublish: f = !1
136
146
  } = t;
137
147
  if (o.length === 0)
138
148
  throw new Error("No packages to release");
139
- const a = !!l.dry;
140
- a && console.log(n.yellow(`
149
+ const i = !!c.dry;
150
+ i && console.log(n.yellow(`
141
151
  DRY RUN MODE - No git operations will be performed
142
152
  `));
143
- const { pkg: g } = v(o[0].path), m = g.version, k = m.split(".").slice(0, 2).join("."), P = T(k, e);
144
- K(e, k, P);
145
- const c = await F();
146
- if (!c) return u();
147
- const p = [];
148
- if (c !== "auto") {
149
- if (c === "prerelease") {
150
- const r = await G(m);
151
- if (!r) return u();
152
- p.push(r.lernaVersionArg, ...r.lernaPreidArgs), l.tag || (l.tag = r.preid);
153
- } else if (c === "graduate")
154
- p.push("--conventional-graduate");
155
- else if (c === "custom") {
156
- const r = await H(m);
157
- if (!r) return u();
158
- p.push(r);
159
- const h = b(r);
160
- if (h && h.prerelease.length > 0 && !l.tag) {
161
- const w = h.prerelease[0];
162
- typeof w == "string" && (l.tag = w);
153
+ const { pkg: A } = w(o[0].path), v = A.version, k = v.split(".").slice(0, 2).join("."), C = O(k, e);
154
+ q(e, k, C);
155
+ const g = await J();
156
+ if (!g) return m();
157
+ const d = [];
158
+ if (g !== "auto") {
159
+ if (g === "prerelease") {
160
+ const r = await M(v);
161
+ if (!r) return m();
162
+ d.push(r.lernaVersionArg, ...r.lernaPreidArgs), c.tag || (c.tag = r.preid);
163
+ } else if (g === "graduate")
164
+ d.push("--conventional-graduate");
165
+ else if (g === "custom") {
166
+ const r = await G(v);
167
+ if (!r) return m();
168
+ d.push(r);
169
+ const l = P(r);
170
+ if (l && l.prerelease.length > 0 && !c.tag) {
171
+ const u = l.prerelease[0];
172
+ typeof u == "string" && (c.tag = u);
163
173
  }
164
174
  }
165
175
  }
166
- if (!await B()) return u();
167
- const A = M(p, {
176
+ if (!await B()) return m();
177
+ const V = W(d, {
168
178
  tagVersionPrefix: e,
169
- isDryRun: a,
170
- forcePublish: !!l.force
171
- }), C = q(o);
172
- Y(A);
173
- const y = z(o, C);
174
- if (!y) {
179
+ isDryRun: i,
180
+ forcePublish: f || !!c.force
181
+ }), x = X(o);
182
+ K(V);
183
+ const p = Y(o, x);
184
+ if (!p) {
175
185
  console.log(n.yellow(`
176
186
  No packages were versioned. Nothing to release.
177
187
  `));
178
188
  return;
179
189
  }
180
- if (i && Q(y, a), s && (console.log(n.cyan(`
190
+ if (a && z(p), s && (console.log(n.cyan(`
181
191
  Running post-version hooks...
182
- `)), await s(y)), !a) {
192
+ `)), await s(p)), !i) {
183
193
  console.log(n.cyan(`
184
194
  Updating yarn.lock with new package versions...
185
195
  `));
186
- const r = f("yarn", ["install"], { stdio: "inherit" });
196
+ const r = h("yarn", ["install"], { stdio: "inherit" });
187
197
  r.status !== 0 && (console.error(n.red(`
188
198
  Failed to update yarn.lock
189
199
  `)), process.exit(r.status || 1));
190
200
  }
191
- if (I(o, a), E(o, e, a), L(o, a), S({ packages: o }, a), a)
201
+ if (D(o, !1), S(o, p, !1), H(o, p, e, !1), I({ packages: o }, !1), i)
192
202
  console.log(n.yellow(`
193
203
  Dry run completed successfully!
194
204
  `)), console.log(n.cyan("Changes made:")), console.log(n.cyan(" - Updated package versions")), console.log(n.cyan(` - Generated/updated CHANGELOG.md files
@@ -196,22 +206,32 @@ Dry run completed successfully!
196
206
  `)), console.log(n.yellow("To revert all changes:")), console.log(n.cyan(` git checkout -- .
197
207
  `));
198
208
  else {
199
- const r = j();
209
+ const r = L();
200
210
  r || (console.error(n.red(`
201
211
  Could not determine the git tag created by Lerna
202
- `)), process.exit(1)), U(), J(r), O(r), console.log(n.green(`
212
+ `)), process.exit(1));
213
+ const l = j(), u = `release: ${e}`;
214
+ (!l || !l.startsWith(u)) && (console.error(
215
+ n.red(
216
+ `
217
+ Tag validation failed: HEAD commit message "${l}" does not match expected pattern "${u}*".
218
+ This may indicate extra commits were made after Lerna's release commit.
219
+ Aborting to prevent amending/tagging the wrong commit.
220
+ `
221
+ )
222
+ ), process.exit(1)), U(), _(r), F(r), console.log(n.green(`
203
223
  Release completed successfully!
204
224
  `)), console.log(n.cyan(`npmTag will be automatically determined from git tag in CI
205
225
  `));
206
226
  }
207
227
  }
208
- function Q(t, o) {
209
- const e = "package.json", s = JSON.parse(V(e, "utf-8"));
210
- s.version !== t && (s.version = t, o || x(e, JSON.stringify(s, null, 2) + `
228
+ function z(t, o) {
229
+ const e = "package.json", s = JSON.parse(b(e, "utf-8"));
230
+ s.version !== t && (s.version = t, T(e, JSON.stringify(s, null, 2) + `
211
231
  `, "utf-8"), console.log(n.gray(` Updated root package.json version: ${t}`)));
212
232
  }
213
233
  export {
214
- le as generateInitialChangelogs,
215
- S as generateRootChangelog,
216
- re as release
234
+ ge as generateInitialChangelogs,
235
+ I as generateRootChangelog,
236
+ ie as release
217
237
  };
@@ -13,10 +13,22 @@ export declare function addVersionBumpNotes(content: string): string;
13
13
  */
14
14
  export declare function enhancePackageChangelogs(packages: PackageConfig[], dryRun?: boolean): void;
15
15
  /**
16
- * Sorts version strings in descending order using semver.rcompare.
17
- * Falls back to string comparison for non-semver strings.
16
+ * Ensures each package has an entry for the current release version.
17
+ * If Lerna skipped a package because it had no direct changes, we still add
18
+ * a placeholder section for the version so lockstep releases stay aligned.
18
19
  */
19
- export declare function sortVersionsDescending(versions: string[]): string[];
20
+ export declare function ensureCurrentVersionEntries(packages: PackageConfig[], version: string, dryRun?: boolean): void;
21
+ /**
22
+ * Replaces "Version bump only" current sections with git-derived changelog
23
+ * entries when a package had only non-default conventional commit types
24
+ * (e.g. refactor/docs/build) that Lerna omitted from the package changelog.
25
+ */
26
+ export declare function supplementCurrentVersionEntries(packages: PackageConfig[], version: string, tagVersionPrefix?: string, dryRun?: boolean): void;
27
+ /**
28
+ * Sorts version strings in descending order by release date when available.
29
+ * Falls back to semver.rcompare, then string comparison.
30
+ */
31
+ export declare function sortVersionsDescending(versions: string[], versionHeaders?: Record<string, string>): string[];
20
32
  /**
21
33
  * Generates a consolidated root CHANGELOG.md from package changelogs,
22
34
  * grouped by version with sub-headings per package.
@@ -37,4 +49,27 @@ export declare function backfillEmptyVersions(packages: PackageConfig[], tagPref
37
49
  * that were already recorded in backfilled older versions.
38
50
  */
39
51
  export declare function deduplicateChangelog(packages: PackageConfig[], dryRun?: boolean): void;
52
+ /**
53
+ * Inserts missing version entries into package CHANGELOGs.
54
+ *
55
+ * In Lerna fixed-mode, packages with no changes sometimes don't get
56
+ * a CHANGELOG entry even though a version tag exists. This function
57
+ * compares git tags with CHANGELOG headers and inserts missing entries
58
+ * with a "Version bump only" placeholder, so that `backfillEmptyVersions`
59
+ * can then attempt to fill them with actual commits.
60
+ */
61
+ export declare function insertMissingVersionEntries(packages: PackageConfig[], tagPrefix: string, dryRun?: boolean): void;
62
+ /**
63
+ * Supplements version sections that have SOME content but are missing commits
64
+ * present in the git tag range.
65
+ *
66
+ * For each version section with content, compares commit short hashes in the
67
+ * CHANGELOG against commits in the actual git range (previous_tag..version_tag).
68
+ * Appends any missing commits to the existing section.
69
+ *
70
+ * This handles the case where Lerna recorded some commits but the tag includes
71
+ * additional commits made after the CHANGELOG was generated (e.g. post-release
72
+ * fixes amended into the release commit).
73
+ */
74
+ export declare function supplementIncompleteVersions(packages: PackageConfig[], tagPrefix: string, dryRun?: boolean): void;
40
75
  //# sourceMappingURL=changelog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/changelog.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAYjF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAc7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3D;AAID;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,UAAQ,GAAG,IAAI,CAgBxF;AA6DD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAOnE;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAQ,GAAG,IAAI,CAqFzF;AA2DD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,MAAM,UAAQ,GACb,IAAI,CAkEN;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,UAAQ,GAAG,IAAI,CA6EpF"}
1
+ {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/changelog.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAiBjF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAc7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3D;AAID;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,UAAQ,GAAG,IAAI,CAiBxF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,MAAM,EACf,MAAM,UAAQ,GACb,IAAI,CAyCN;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,MAAM,EACf,gBAAgB,SAAM,EACtB,MAAM,UAAQ,GACb,IAAI,CAoCN;AAqJD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAAE,EAClB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,MAAM,EAAE,CAcV;AAcD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAQ,GAAG,IAAI,CAkFzF;AA4ED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,MAAM,UAAQ,GACb,IAAI,CAqDN;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,UAAQ,GAAG,IAAI,CA6EpF;AAID;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,MAAM,UAAQ,GACb,IAAI,CAsEN;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,aAAa,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,MAAM,UAAQ,GACb,IAAI,CAmFN"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-changelogs.d.ts","sourceRoot":"","sources":["../../src/generate-changelogs.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGtF,YAAY,EAAE,aAAa,EAAE,yBAAyB,EAAE,CAAC;AAEzD;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DjG;AAGD,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"generate-changelogs.d.ts","sourceRoot":"","sources":["../../src/generate-changelogs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGtF,YAAY,EAAE,aAAa,EAAE,yBAAyB,EAAE,CAAC;AAqPzD;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCjG;AAGD,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
package/dist/src/git.d.ts CHANGED
@@ -51,4 +51,20 @@ export declare function recreateAnnotatedTag(tag: string): void;
51
51
  * Uses --force-with-lease for the commit (safe force) and --force for the tag.
52
52
  */
53
53
  export declare function pushToRemote(tag: string): void;
54
+ /**
55
+ * Returns all version tags matching the given prefix, sorted by semver descending.
56
+ * Example: getAllVersionTags("v") → ["v1.2.4-beta.6", "v1.2.4-beta.5", ...]
57
+ */
58
+ export declare function getAllVersionTags(prefix: string): string[];
59
+ /**
60
+ * Given a version string, finds the immediately preceding version TAG.
61
+ * Uses semver sorting on all tags matching the prefix.
62
+ * Works even when the target tag does not exist yet (e.g. during dry-run).
63
+ * Example: getPreviousVersionTag("1.2.4-beta.5", "v") → "v1.2.4-beta.4"
64
+ */
65
+ export declare function getPreviousVersionTag(version: string, prefix: string): string | null;
66
+ /**
67
+ * Gets the commit message of HEAD.
68
+ */
69
+ export declare function getHeadCommitMessage(): string | null;
54
70
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/git.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUxF;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAa1C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAStE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,UAAU,CAAC,EAAE,MAAM,GAClB,kBAAkB,EAAE,CAsCtB;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAU5C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAY1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMtD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAc9C"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/git.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBxF;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAa1C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAStE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,UAAU,CAAC,EAAE,MAAM,GAClB,kBAAkB,EAAE,CAsCtB;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAU5C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAY1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMtD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAc9C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAqB1D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAUpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"lerna.d.ts","sourceRoot":"","sources":["../../src/lerna.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,EAAE,mBAAmB,GAC3B,MAAM,EAAE,CAsBV;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAQpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOvF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EAAE,EACzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,GAAG,IAAI,CAQf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAqClG"}
1
+ {"version":3,"file":"lerna.d.ts","sourceRoot":"","sources":["../../src/lerna.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,EAAE,mBAAmB,GAC3B,MAAM,EAAE,CAsBV;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAiBpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOvF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EAAE,EACzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,GAAG,IAAI,CAQf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAqClG"}
@@ -1 +1 @@
1
- {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/release.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA6B3D;;;GAGG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuIlE"}
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/release.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA8B3D;;;GAGG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwJlE"}
@@ -18,12 +18,16 @@ export interface ReleaseConfig {
18
18
  customHooks?: (version: string) => void | Promise<void>;
19
19
  /** Whether to sync root package.json version with packages (default true). */
20
20
  updateRootVersion?: boolean;
21
+ /** Whether to version every package on each release (default false). */
22
+ forcePublish?: boolean;
21
23
  }
22
24
  export interface ChangelogGeneratorOptions {
23
25
  packages: PackageConfig[];
24
26
  rootDir?: string;
25
27
  generateRoot?: boolean;
26
28
  includeRootHeader?: boolean;
29
+ /** Git tag prefix used to identify release tags (default "v"). */
30
+ tagVersionPrefix?: string;
27
31
  }
28
32
  export interface RootChangelogOptions {
29
33
  packages: PackageConfig[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/release-config",
3
- "version": "1.2.4-beta.6",
3
+ "version": "1.2.4-beta.8",
4
4
  "type": "module",
5
5
  "main": "dist/release-config.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -34,5 +34,5 @@
34
34
  "access": "public",
35
35
  "registry": "https://registry.npmjs.org/"
36
36
  },
37
- "gitHead": "86734c47306da89feb6b16685287744bb2855cc8"
37
+ "gitHead": "25aa3246d45b375af4fffcc256a447d05dfda64c"
38
38
  }