@wrongstack/plugins 0.293.0 → 0.295.1

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.
Files changed (211) hide show
  1. package/README.md +7 -71
  2. package/dist/accessibility-auditor/index.d.ts +1 -1
  3. package/dist/accessibility-auditor/index.d.ts.map +1 -1
  4. package/dist/accessibility-auditor.js +50 -33
  5. package/dist/agent-handoff/index.d.ts +1 -1
  6. package/dist/agent-handoff/index.d.ts.map +1 -1
  7. package/dist/agent-handoff.js +30 -1
  8. package/dist/api-compatibility-gate/index.d.ts +1 -1
  9. package/dist/api-compatibility-gate/index.d.ts.map +1 -1
  10. package/dist/api-compatibility-gate.js +21 -16
  11. package/dist/audit/index.d.ts +386 -0
  12. package/dist/audit/index.d.ts.map +1 -0
  13. package/dist/audit.d.ts +1 -0
  14. package/dist/audit.js +454 -0
  15. package/dist/auto-doc/index.d.ts +1 -1
  16. package/dist/auto-doc/index.d.ts.map +1 -1
  17. package/dist/auto-doc.js +3 -1
  18. package/dist/auto-escalate/index.d.ts +1 -1
  19. package/dist/auto-escalate/index.d.ts.map +1 -1
  20. package/dist/auto-i18n-extractor/index.d.ts +1 -1
  21. package/dist/auto-i18n-extractor/index.d.ts.map +1 -1
  22. package/dist/auto-i18n-extractor.js +7 -1
  23. package/dist/branch-guard/index.d.ts +1 -1
  24. package/dist/branch-guard/index.d.ts.map +1 -1
  25. package/dist/branch-guard.js +111 -1
  26. package/dist/catalog.d.ts +5 -30
  27. package/dist/catalog.d.ts.map +1 -1
  28. package/dist/changelog-writer/index.d.ts +1 -1
  29. package/dist/changelog-writer/index.d.ts.map +1 -1
  30. package/dist/changelog-writer.js +137 -3
  31. package/dist/checkpoint/index.d.ts +3 -1
  32. package/dist/checkpoint/index.d.ts.map +1 -1
  33. package/dist/checkpoint.js +41 -16
  34. package/dist/code-metrics/index.d.ts +1 -1
  35. package/dist/code-metrics/index.d.ts.map +1 -1
  36. package/dist/code-metrics.js +34 -29
  37. package/dist/commit-validator/index.d.ts +1 -1
  38. package/dist/commit-validator/index.d.ts.map +1 -1
  39. package/dist/commit-validator.js +17 -7
  40. package/dist/config-validator/index.d.ts +1 -1
  41. package/dist/config-validator/index.d.ts.map +1 -1
  42. package/dist/context-pins/index.d.ts +1 -1
  43. package/dist/context-pins/index.d.ts.map +1 -1
  44. package/dist/context-pins.js +6 -5
  45. package/dist/cost-tracker/index.d.ts +1 -1
  46. package/dist/cost-tracker/index.d.ts.map +1 -1
  47. package/dist/cost-tracker.js +109 -2
  48. package/dist/cron/index.d.ts +1 -1
  49. package/dist/cron/index.d.ts.map +1 -1
  50. package/dist/cron.js +1 -0
  51. package/dist/dead-code-detector/index.d.ts +1 -1
  52. package/dist/dead-code-detector/index.d.ts.map +1 -1
  53. package/dist/dead-code-detector.js +31 -18
  54. package/dist/dep-guard/index.d.ts +1 -1
  55. package/dist/dep-guard/index.d.ts.map +1 -1
  56. package/dist/dependency-vulnerability-gate/index.d.ts +1 -1
  57. package/dist/dependency-vulnerability-gate/index.d.ts.map +1 -1
  58. package/dist/dependency-vulnerability-gate.js +67 -20
  59. package/dist/diff-summary/index.d.ts +1 -1
  60. package/dist/diff-summary/index.d.ts.map +1 -1
  61. package/dist/diff-summary.js +128 -30
  62. package/dist/doc-sync-guard/index.d.ts +1 -1
  63. package/dist/doc-sync-guard/index.d.ts.map +1 -1
  64. package/dist/doc-sync-guard.js +7 -1
  65. package/dist/duplicate-code-detector/index.d.ts +26 -1
  66. package/dist/duplicate-code-detector/index.d.ts.map +1 -1
  67. package/dist/duplicate-code-detector.js +280 -69
  68. package/dist/error-lens/index.d.ts +1 -1
  69. package/dist/error-lens/index.d.ts.map +1 -1
  70. package/dist/factories/index.d.ts +4 -0
  71. package/dist/factories/index.d.ts.map +1 -0
  72. package/dist/factories.d.ts +1 -0
  73. package/dist/factories.js +74 -0
  74. package/dist/feature-flag-tracker/index.d.ts +1 -1
  75. package/dist/feature-flag-tracker/index.d.ts.map +1 -1
  76. package/dist/feature-flag-tracker.js +59 -33
  77. package/dist/file-watcher/index.d.ts +1 -1
  78. package/dist/file-watcher/index.d.ts.map +1 -1
  79. package/dist/file-watcher.js +6 -7
  80. package/dist/format-on-save/index.d.ts +3 -1
  81. package/dist/format-on-save/index.d.ts.map +1 -1
  82. package/dist/format-on-save.js +289 -59
  83. package/dist/generated-plugin-exports.d.ts +65 -0
  84. package/dist/generated-plugin-exports.d.ts.map +1 -0
  85. package/dist/git-autocommit/index.d.ts +1 -1
  86. package/dist/git-autocommit/index.d.ts.map +1 -1
  87. package/dist/import-organizer/index.d.ts +1 -1
  88. package/dist/import-organizer/index.d.ts.map +1 -1
  89. package/dist/import-organizer.js +141 -20
  90. package/dist/index.d.ts +4 -183
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +18298 -17279
  93. package/dist/injection-shield/index.d.ts +1 -1
  94. package/dist/injection-shield/index.d.ts.map +1 -1
  95. package/dist/interface-contract-guard/index.d.ts +1 -1
  96. package/dist/interface-contract-guard/index.d.ts.map +1 -1
  97. package/dist/interface-contract-guard.js +87 -53
  98. package/dist/knowledge-graph/index.d.ts +1 -1
  99. package/dist/knowledge-graph/index.d.ts.map +1 -1
  100. package/dist/knowledge-graph.js +7 -6
  101. package/dist/license-audit-gate/index.d.ts +1 -1
  102. package/dist/license-audit-gate/index.d.ts.map +1 -1
  103. package/dist/lint-gate/index.d.ts +1 -1
  104. package/dist/lint-gate/index.d.ts.map +1 -1
  105. package/dist/lint-gate.js +112 -1
  106. package/dist/llm-cache/index.d.ts +5 -1
  107. package/dist/llm-cache/index.d.ts.map +1 -1
  108. package/dist/llm-cache.js +16 -8
  109. package/dist/loop-breaker/index.d.ts +1 -1
  110. package/dist/loop-breaker/index.d.ts.map +1 -1
  111. package/dist/loop-breaker.js +25 -9
  112. package/dist/manifest/index.d.ts +16 -0
  113. package/dist/manifest/index.d.ts.map +1 -0
  114. package/dist/manifest.d.ts +1 -0
  115. package/dist/manifest.js +152 -0
  116. package/dist/migration-planner/index.d.ts +1 -1
  117. package/dist/migration-planner/index.d.ts.map +1 -1
  118. package/dist/migration-planner.js +5 -1
  119. package/dist/model-router/index.d.ts +1 -1
  120. package/dist/model-router/index.d.ts.map +1 -1
  121. package/dist/notify-hub/index.d.ts +1 -1
  122. package/dist/notify-hub/index.d.ts.map +1 -1
  123. package/dist/notify-hub/webhook-channel.d.ts +1 -1
  124. package/dist/notify-hub/webhook-channel.d.ts.map +1 -1
  125. package/dist/notify-hub.js +41 -4
  126. package/dist/path-guard/index.d.ts +1 -1
  127. package/dist/path-guard/index.d.ts.map +1 -1
  128. package/dist/performance-regression-gate/index.d.ts +1 -1
  129. package/dist/performance-regression-gate/index.d.ts.map +1 -1
  130. package/dist/plugin-stack-observer/index.d.ts +1 -1
  131. package/dist/plugin-stack-observer/index.d.ts.map +1 -1
  132. package/dist/pr-drafter/index.d.ts +1 -1
  133. package/dist/pr-drafter/index.d.ts.map +1 -1
  134. package/dist/pr-drafter.js +28 -29
  135. package/dist/process-guard/index.d.ts +1 -1
  136. package/dist/process-guard/index.d.ts.map +1 -1
  137. package/dist/prompt-firewall/index.d.ts +1 -1
  138. package/dist/prompt-firewall/index.d.ts.map +1 -1
  139. package/dist/prompt-firewall.js +140 -11
  140. package/dist/refactor-suggester/index.d.ts +1 -1
  141. package/dist/refactor-suggester/index.d.ts.map +1 -1
  142. package/dist/refactor-suggester.js +148 -33
  143. package/dist/release-notes-generator/index.d.ts +1 -1
  144. package/dist/release-notes-generator/index.d.ts.map +1 -1
  145. package/dist/release-notes-generator.js +29 -22
  146. package/dist/runtime/bounded-map.d.ts +86 -0
  147. package/dist/runtime/bounded-map.d.ts.map +1 -0
  148. package/dist/runtime/credential-patterns.d.ts +42 -0
  149. package/dist/runtime/credential-patterns.d.ts.map +1 -0
  150. package/dist/runtime/index.d.ts +18 -0
  151. package/dist/runtime/index.d.ts.map +1 -1
  152. package/dist/runtime/llm.d.ts +1 -1
  153. package/dist/runtime/llm.d.ts.map +1 -1
  154. package/dist/runtime/local-bin.d.ts +120 -0
  155. package/dist/runtime/local-bin.d.ts.map +1 -0
  156. package/dist/runtime/safe-json.d.ts +25 -0
  157. package/dist/runtime/safe-json.d.ts.map +1 -0
  158. package/dist/runtime.js +332 -22
  159. package/dist/schema-evolution-guard/index.d.ts +1 -1
  160. package/dist/schema-evolution-guard/index.d.ts.map +1 -1
  161. package/dist/schema-evolution-guard.js +7 -1
  162. package/dist/secret-scanner/index.d.ts +1 -1
  163. package/dist/secret-scanner/index.d.ts.map +1 -1
  164. package/dist/secret-scanner.js +181 -48
  165. package/dist/security-hotspot-scanner/index.d.ts +1 -1
  166. package/dist/security-hotspot-scanner/index.d.ts.map +1 -1
  167. package/dist/security-hotspot-scanner.js +158 -20
  168. package/dist/semantic-search-indexer/index.d.ts +1 -1
  169. package/dist/semantic-search-indexer/index.d.ts.map +1 -1
  170. package/dist/semantic-search-indexer.js +7 -1
  171. package/dist/semver-bump/index.d.ts +1 -1
  172. package/dist/semver-bump/index.d.ts.map +1 -1
  173. package/dist/semver-bump.js +97 -43
  174. package/dist/session-recap/index.d.ts +1 -1
  175. package/dist/session-recap/index.d.ts.map +1 -1
  176. package/dist/shell-check/index.d.ts +1 -1
  177. package/dist/shell-check/index.d.ts.map +1 -1
  178. package/dist/smart-rename/index.d.ts +1 -1
  179. package/dist/smart-rename/index.d.ts.map +1 -1
  180. package/dist/spec-linker/index.d.ts +1 -1
  181. package/dist/spec-linker/index.d.ts.map +1 -1
  182. package/dist/spec-linker.js +222 -20772
  183. package/dist/template-engine/index.d.ts +1 -1
  184. package/dist/template-engine/index.d.ts.map +1 -1
  185. package/dist/template-engine.js +34 -8
  186. package/dist/test-coverage-gate/index.d.ts +1 -1
  187. package/dist/test-coverage-gate/index.d.ts.map +1 -1
  188. package/dist/test-coverage-gate.js +34 -14
  189. package/dist/test-flake-detector/index.d.ts +1 -1
  190. package/dist/test-flake-detector/index.d.ts.map +1 -1
  191. package/dist/test-flake-detector.js +31 -20
  192. package/dist/test-generator/index.d.ts +1 -1
  193. package/dist/test-generator/index.d.ts.map +1 -1
  194. package/dist/test-runner-gate/index.d.ts +1 -1
  195. package/dist/test-runner-gate/index.d.ts.map +1 -1
  196. package/dist/test-runner-gate.js +132 -9
  197. package/dist/todo-listener/index.d.ts +1 -32
  198. package/dist/todo-listener/index.d.ts.map +1 -1
  199. package/dist/todo-listener.js +30 -1
  200. package/dist/todo-tracker/index.d.ts +1 -1
  201. package/dist/todo-tracker/index.d.ts.map +1 -1
  202. package/dist/todo-tracker.js +3 -4
  203. package/dist/token-budget/index.d.ts +1 -1
  204. package/dist/token-budget/index.d.ts.map +1 -1
  205. package/dist/token-throttle/index.d.ts +1 -1
  206. package/dist/token-throttle/index.d.ts.map +1 -1
  207. package/dist/token-throttle.js +17 -2
  208. package/dist/type-gate/index.d.ts +1 -1
  209. package/dist/type-gate/index.d.ts.map +1 -1
  210. package/dist/type-gate.js +106 -19
  211. package/package.json +80 -68
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/semver-bump/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAuC/C,KAAK,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAErD,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAoFD;+DAC+D;AAC/D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAQnF;AAmBD,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,QAAQ,CAIrE;AAmED,QAAA,MAAM,MAAM,EAAE,MA6bb,CAAC;eAEa,MAAM"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/semver-bump/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAuCrD,KAAK,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAErD,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAqGD;+DAC+D;AAC/D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAQnF;AAmBD,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,QAAQ,CAIrE;AAmED,QAAA,MAAM,MAAM,EAAE,MA0db,CAAC;eAEa,MAAM"}
@@ -1,8 +1,8 @@
1
1
  // src/semver-bump/index.ts
2
- import { expectDefined } from "@wrongstack/core";
2
+ import { expectDefined } from "@wrongstack/core/utils";
3
3
  import { toErrorMessage } from "@wrongstack/core/utils";
4
- import { execFileSync } from "node:child_process";
5
- import { existsSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
4
+ import { execFile } from "node:child_process";
5
+ import { access, readFile, readdir, writeFile } from "node:fs/promises";
6
6
  import { isAbsolute, join, relative, resolve } from "node:path";
7
7
  var API_VERSION = "^0.1.10";
8
8
  function resolveProjectRoot(rawCwd, root = process.cwd()) {
@@ -21,41 +21,65 @@ var state = {
21
21
  /** Most recent bump result, surfaced by health() (null until first call). */
22
22
  lastBump: null
23
23
  };
24
- function runGit(args, cwd) {
25
- try {
26
- return execFileSync("git", args, {
24
+ function runCommand(command, args, cwd) {
25
+ return new Promise((resolve2, reject) => {
26
+ execFile(command, args, {
27
27
  encoding: "utf-8",
28
28
  cwd,
29
- stdio: ["pipe", "pipe", "pipe"],
30
29
  timeout: 3e4,
31
30
  windowsHide: true
32
- }).trim();
31
+ }, (err, stdout, stderr) => {
32
+ if (!err) {
33
+ resolve2(stdout.trim());
34
+ return;
35
+ }
36
+ const failure = err;
37
+ reject(Object.assign(failure, { stderr: stderr || void 0 }));
38
+ });
39
+ });
40
+ }
41
+ async function runGit(args, cwd) {
42
+ try {
43
+ return await runCommand("git", args, cwd);
33
44
  } catch (err) {
34
45
  const e = err;
35
- if (e.status === 128) throw new Error("Not a git repository");
46
+ if (e.status === 128 || e.code === 128) throw new Error("Not a git repository");
36
47
  throw new Error(`git failed: ${e.message ?? e.stderr ?? String(err)}`);
37
48
  }
38
49
  }
39
- function getPackageJson(cwd) {
50
+ async function getPackageJson(cwd) {
40
51
  const path = cwd ? `${cwd}/package.json` : "package.json";
41
- if (!existsSync(path)) return null;
42
52
  try {
43
- return JSON.parse(readFileSync(path, "utf-8"));
53
+ await access(path);
54
+ return JSON.parse(await readFile(path, "utf-8"));
44
55
  } catch {
45
56
  return null;
46
57
  }
47
58
  }
48
- function collectManifests(root) {
59
+ async function collectManifests(root) {
49
60
  const paths = [];
50
61
  const rootPkg = join(root, "package.json");
51
- if (existsSync(rootPkg)) paths.push(rootPkg);
62
+ try {
63
+ await access(rootPkg);
64
+ paths.push(rootPkg);
65
+ } catch {
66
+ }
52
67
  for (const group of ["packages", "apps"]) {
53
68
  const groupDir = join(root, group);
54
- if (!existsSync(groupDir)) continue;
55
- for (const entry of readdirSync(groupDir, { withFileTypes: true })) {
69
+ let entries;
70
+ try {
71
+ entries = await readdir(groupDir, { withFileTypes: true });
72
+ } catch {
73
+ continue;
74
+ }
75
+ for (const entry of entries) {
56
76
  if (!entry.isDirectory()) continue;
57
77
  const candidate = join(groupDir, entry.name, "package.json");
58
- if (existsSync(candidate)) paths.push(candidate);
78
+ try {
79
+ await access(candidate);
80
+ paths.push(candidate);
81
+ } catch {
82
+ }
59
83
  }
60
84
  }
61
85
  return paths;
@@ -94,9 +118,9 @@ function parseConventional(subject) {
94
118
  message: m?.[5] ?? subject
95
119
  };
96
120
  }
97
- function getRecentCommits(sinceTag, cwd) {
121
+ async function getRecentCommits(sinceTag, cwd) {
98
122
  const range = sinceTag ? `${sinceTag}..HEAD` : "-30";
99
- const output = runGit(["log", range, "--format=%H %s"], cwd);
123
+ const output = await runGit(["log", range, "--format=%H %s"], cwd);
100
124
  if (!output) return [];
101
125
  return output.split("\n").filter(Boolean).map((line) => {
102
126
  const spaceIdx = line.indexOf(" ");
@@ -208,7 +232,7 @@ var plugin = {
208
232
  return { ok: false, error: "cwd must stay within the current project directory" };
209
233
  }
210
234
  cwd = safeCwd;
211
- const pkg = getPackageJson(cwd);
235
+ const pkg = await getPackageJson(cwd);
212
236
  if (!pkg) {
213
237
  return { ok: false, error: "No package.json found" };
214
238
  }
@@ -218,12 +242,12 @@ var plugin = {
218
242
  if (part === "auto") {
219
243
  let lastTag;
220
244
  try {
221
- const tagsOutput = runGit(["describe", "--tags", "--abbrev=0"], cwd);
245
+ const tagsOutput = await runGit(["describe", "--tags", "--abbrev=0"], cwd);
222
246
  lastTag = tagsOutput || void 0;
223
247
  } catch {
224
248
  }
225
249
  try {
226
- commits = getRecentCommits(lastTag, cwd);
250
+ commits = await getRecentCommits(lastTag, cwd);
227
251
  } catch (err) {
228
252
  const msg = toErrorMessage(err);
229
253
  return { ok: false, error: `Git error: ${msg}`, bumpPart: "patch" };
@@ -246,38 +270,62 @@ var plugin = {
246
270
  }
247
271
  const root = cwd ?? process.cwd();
248
272
  const bumpScript = join(root, "scripts", "bump-version.mjs");
249
- const changed = collectManifests(root);
250
- if (existsSync(bumpScript)) {
273
+ const changed = await collectManifests(root);
274
+ let hasBumpScript = true;
275
+ try {
276
+ await access(bumpScript);
277
+ } catch {
278
+ hasBumpScript = false;
279
+ }
280
+ if (hasBumpScript) {
251
281
  try {
252
- execFileSync(process.execPath, [bumpScript, "set", newVersion], {
253
- cwd: root,
254
- stdio: ["pipe", "pipe", "pipe"],
255
- timeout: 3e4,
256
- windowsHide: true
257
- });
282
+ await runCommand(process.execPath, [bumpScript, "set", newVersion], root);
258
283
  } catch (err) {
259
284
  const msg = toErrorMessage(err);
260
285
  return { ok: false, error: `bump script failed: ${msg}` };
261
286
  }
262
287
  for (const rel of ["package.json", "package-lock.json", "src/lib/utils.ts", "index.html"]) {
263
288
  const p = join(root, "website", rel);
264
- if (existsSync(p)) changed.push(p);
289
+ try {
290
+ await access(p);
291
+ changed.push(p);
292
+ } catch {
293
+ }
265
294
  }
266
295
  } else {
296
+ const pending = [];
267
297
  for (const manifest of changed) {
268
- const pkgData = JSON.parse(readFileSync(manifest, "utf-8"));
298
+ let pkgData;
299
+ try {
300
+ pkgData = JSON.parse(await readFile(manifest, "utf-8"));
301
+ } catch (err) {
302
+ return {
303
+ ok: false,
304
+ error: `cannot bump: ${manifest} is not readable as JSON (${toErrorMessage(err)}). No manifests were modified.`
305
+ };
306
+ }
307
+ if (!pkgData || typeof pkgData !== "object") {
308
+ return {
309
+ ok: false,
310
+ error: `cannot bump: ${manifest} does not contain a JSON object. No manifests were modified.`
311
+ };
312
+ }
269
313
  pkgData.version = newVersion;
270
- writeFileSync(manifest, JSON.stringify(pkgData, null, 2) + "\n", "utf-8");
314
+ pending.push({ path: manifest, contents: `${JSON.stringify(pkgData, null, 2)}
315
+ ` });
316
+ }
317
+ for (const { path, contents } of pending) {
318
+ await writeFile(path, contents, "utf-8");
271
319
  }
272
320
  }
273
321
  try {
274
- runGit(["add", "--", ...changed], cwd);
275
- runGit(["commit", "-m", `chore: bump version to ${newVersion}`], cwd);
322
+ await runGit(["add", "--", ...changed], cwd);
323
+ await runGit(["commit", "-m", `chore: bump version to ${newVersion}`], cwd);
276
324
  } catch {
277
325
  }
278
326
  if (autoTag) {
279
327
  try {
280
- runGit(["tag", "-a", `${tagPrefix}${newVersion}`, "-m", `Release ${newVersion}`], cwd);
328
+ await runGit(["tag", "-a", `${tagPrefix}${newVersion}`, "-m", `Release ${newVersion}`], cwd);
281
329
  } catch {
282
330
  }
283
331
  }
@@ -354,17 +402,17 @@ var plugin = {
354
402
  const mode = tokens.find((t) => !t.startsWith("--")) ?? "status";
355
403
  const cwd = ctx?.cwd;
356
404
  if (mode === "status") {
357
- const pkg = getPackageJson(cwd);
405
+ const pkg = await getPackageJson(cwd);
358
406
  if (!pkg) return { message: "No package.json found" };
359
407
  let lastTag;
360
408
  try {
361
- lastTag = runGit(["describe", "--tags", "--abbrev=0"], cwd) || void 0;
409
+ lastTag = await runGit(["describe", "--tags", "--abbrev=0"], cwd) || void 0;
362
410
  } catch {
363
411
  }
364
412
  let suggestion = "patch";
365
413
  let commitCount = 0;
366
414
  try {
367
- const commits = getRecentCommits(lastTag, cwd);
415
+ const commits = await getRecentCommits(lastTag, cwd);
368
416
  commitCount = commits.length;
369
417
  suggestion = determineBump(commits);
370
418
  } catch {
@@ -411,15 +459,18 @@ var plugin = {
411
459
  if (!safeCwd) {
412
460
  return { ok: false, error: "cwd must stay within the current project directory" };
413
461
  }
414
- const pkg = getPackageJson(safeCwd);
462
+ const pkg = await getPackageJson(safeCwd);
415
463
  const currentVersion = pkg?.version ?? "unknown";
416
464
  let latestTag = null;
417
465
  let commitsSinceTag = 0;
418
466
  try {
419
- const tagsOutput = runGit(["describe", "--tags", "--abbrev=0"], safeCwd);
467
+ const tagsOutput = await runGit(["describe", "--tags", "--abbrev=0"], safeCwd);
420
468
  latestTag = tagsOutput || null;
421
469
  if (latestTag) {
422
- const countOutput = runGit(["rev-list", "--count", `${latestTag}..HEAD`], safeCwd);
470
+ const countOutput = await runGit(
471
+ ["rev-list", "--count", `${latestTag}..HEAD`],
472
+ safeCwd
473
+ );
423
474
  commitsSinceTag = Number.parseInt(countOutput, 10) || 0;
424
475
  }
425
476
  } catch {
@@ -462,7 +513,10 @@ var plugin = {
462
513
  const range = from ? `${from}..${to}` : to;
463
514
  let commits;
464
515
  try {
465
- const output = runGit(["log", range === to ? "-30" : range, "--format=%H %s"], safeCwd);
516
+ const output = await runGit(
517
+ ["log", range === to ? "-30" : range, "--format=%H %s"],
518
+ safeCwd
519
+ );
466
520
  commits = output.split("\n").filter(Boolean).map((line) => {
467
521
  const spaceIdx = line.indexOf(" ");
468
522
  const hash = line.slice(0, spaceIdx);
@@ -42,7 +42,7 @@
42
42
  *
43
43
  * @public
44
44
  */
45
- import type { Plugin } from '@wrongstack/core';
45
+ import type { Plugin } from '@wrongstack/core/types';
46
46
  declare const plugin: Plugin;
47
47
  export default plugin;
48
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session-recap/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA4M/C,QAAA,MAAM,MAAM,EAAE,MA4Yb,CAAC;eAEa,MAAM"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session-recap/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA4MrD,QAAA,MAAM,MAAM,EAAE,MA4Yb,CAAC;eAEa,MAAM"}
@@ -8,7 +8,7 @@
8
8
  * via the `directory` + `pattern` parameters. Pass `files` for specific
9
9
  * files, or `directory` (optionally with `pattern`) for recursive scanning.
10
10
  */
11
- import type { Plugin } from '@wrongstack/core';
11
+ import type { Plugin } from '@wrongstack/core/types';
12
12
  declare const plugin: Plugin;
13
13
  export default plugin;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shell-check/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA0M/C,QAAA,MAAM,MAAM,EAAE,MAgPb,CAAC;eAEa,MAAM"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shell-check/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA0MrD,QAAA,MAAM,MAAM,EAAE,MAgPb,CAAC;eAEa,MAAM"}
@@ -18,7 +18,7 @@
18
18
  *
19
19
  * @public
20
20
  */
21
- import type { Plugin } from '@wrongstack/core';
21
+ import type { Plugin } from '@wrongstack/core/types';
22
22
  declare const plugin: Plugin;
23
23
  export default plugin;
24
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/smart-rename/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA0F/C,QAAA,MAAM,MAAM,EAAE,MAqIb,CAAC;eAEa,MAAM"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/smart-rename/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA0FrD,QAAA,MAAM,MAAM,EAAE,MAqIb,CAAC;eAEa,MAAM"}
@@ -43,7 +43,7 @@
43
43
  *
44
44
  * @public
45
45
  */
46
- import type { Plugin } from '@wrongstack/core';
46
+ import type { Plugin } from '@wrongstack/core/types';
47
47
  declare const plugin: Plugin;
48
48
  export default plugin;
49
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spec-linker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAwP/C,QAAA,MAAM,MAAM,EAAE,MAuOb,CAAC;eAEa,MAAM"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spec-linker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAwPrD,QAAA,MAAM,MAAM,EAAE,MAuOb,CAAC;eAEa,MAAM"}