@bensandee/tooling 0.84.1 → 0.84.2
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/bin.mjs +17 -15
- package/package.json +1 -1
package/dist/bin.mjs
CHANGED
|
@@ -269,7 +269,7 @@ function loadEnvFileForBin(rawArgs, bin, io = processIo) {
|
|
|
269
269
|
*/
|
|
270
270
|
const envFileLoad = loadEnvFileForBin(process.argv.slice(2), {
|
|
271
271
|
name: "bst",
|
|
272
|
-
version: "0.84.
|
|
272
|
+
version: "0.84.2"
|
|
273
273
|
});
|
|
274
274
|
//#endregion
|
|
275
275
|
//#region ../cli-kit/src/logger.ts
|
|
@@ -5777,8 +5777,8 @@ function declaredPublishRegistries(targetDir, structure, rootPackageJson) {
|
|
|
5777
5777
|
* shape of custom regex manager in the root `renovate.json` can rewrite both this version and this
|
|
5778
5778
|
* digest (`customManagers` entries scoped to this file).
|
|
5779
5779
|
*/
|
|
5780
|
-
const MISE_VERSION = "2026.
|
|
5781
|
-
const MISE_LINUX_X64_SHA256 = "
|
|
5780
|
+
const MISE_VERSION = "2026.10.0";
|
|
5781
|
+
const MISE_LINUX_X64_SHA256 = "57ced973f968b8fbab07aa8e32bd7077d4a357e200a22356d98963c723c6de0a";
|
|
5782
5782
|
/** Where generated Forgejo workflows fetch the shared mise setup action: a composite action in
|
|
5783
5783
|
* `bensandee/common`, on the forge every fleet repo lives on. GitHub cannot reach it; the
|
|
5784
5784
|
* generators keep inline steps there. */
|
|
@@ -7163,7 +7163,7 @@ function buildManagedDevDeps(ctx) {
|
|
|
7163
7163
|
const devDeps = { ...rootDevDeps(ctx.config) };
|
|
7164
7164
|
if (!isMonorepo) Object.assign(devDeps, perPackageDevDeps(ctx.config));
|
|
7165
7165
|
if (ctx.config.stack !== "none" || ctx.config.ci === "forgejo") devDeps["@bensandee/config"] = isWorkspacePackage(ctx, "@bensandee/config") ? "workspace:*" : "0.14.5";
|
|
7166
|
-
if (!isWorkspacePackage(ctx, "@bensandee/tooling")) devDeps["@bensandee/tooling"] = "0.84.
|
|
7166
|
+
if (!isWorkspacePackage(ctx, "@bensandee/tooling")) devDeps["@bensandee/tooling"] = "0.84.2";
|
|
7167
7167
|
if (ctx.config.useEslintPlugin && ctx.config.stack !== "none") devDeps["@bensandee/eslint-plugin"] = isWorkspacePackage(ctx, "@bensandee/eslint-plugin") ? "workspace:*" : "0.15.2";
|
|
7168
7168
|
if (ctx.config.formatter === "oxfmt") devDeps["oxfmt"] = {
|
|
7169
7169
|
"@changesets/cli": "3.0.3",
|
|
@@ -12696,7 +12696,7 @@ function reportFailures(failed, command) {
|
|
|
12696
12696
|
function generateMigratePrompt(results, config, detected) {
|
|
12697
12697
|
const sections = [];
|
|
12698
12698
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
12699
|
-
sections.push(`# Migration Prompt\n\n_Generated by \`@bensandee/tooling@0.84.
|
|
12699
|
+
sections.push(`# Migration Prompt\n\n_Generated by \`@bensandee/tooling@0.84.2 repo:sync\` on ${timestamp}_\n`);
|
|
12700
12700
|
const changed = results.filter((r) => r.action === "created" || r.action === "updated" || r.action === "archived");
|
|
12701
12701
|
if (changed.length > 0) {
|
|
12702
12702
|
const items = changed.map((r) => {
|
|
@@ -25939,7 +25939,7 @@ async function refusalMessage(res) {
|
|
|
25939
25939
|
try {
|
|
25940
25940
|
const parsed = ErrorBodySchema.safeParse(JSON.parse(text));
|
|
25941
25941
|
if (parsed.success) return parsed.data.message;
|
|
25942
|
-
} catch {}
|
|
25942
|
+
} catch (_error) {}
|
|
25943
25943
|
return text;
|
|
25944
25944
|
}
|
|
25945
25945
|
/** Delete one branch. The name is encoded per segment so `feat/a/b` keeps its slashes. */
|
|
@@ -26183,12 +26183,15 @@ function conventionalActiveDirs(exec) {
|
|
|
26183
26183
|
* prefix replaced by the terminal verb (`docs/plan-foo.md` ->
|
|
26184
26184
|
* `docs/retired/completed-foo.md`); anything else (a `plans`/`specs` dir doc,
|
|
26185
26185
|
* date-prefixed superpowers plan or not) keeps its basename and moves to the
|
|
26186
|
-
* sibling `retired/` directory.
|
|
26187
|
-
*
|
|
26186
|
+
* sibling `retired/` directory. A doc already in a retired directory stays
|
|
26187
|
+
* where it is -- re-retiring one to add its retire paragraph once moved it a
|
|
26188
|
+
* level deeper, into `retired/retired/`. The single place `docs:retire` reads
|
|
26189
|
+
* this convention from, so it can never drift from what `discoverPairs` expects.
|
|
26188
26190
|
*/
|
|
26189
26191
|
function retireDestination(src, verb) {
|
|
26190
26192
|
const dir = path.posix.dirname(src);
|
|
26191
26193
|
const base = path.posix.basename(src);
|
|
26194
|
+
if (RETIRED_DIR_NAMES$1.includes(path.posix.basename(dir))) return src;
|
|
26192
26195
|
if (dir === DOCS_ROOT && LEGACY_ACTIVE_PATTERN.test(base)) return `${DOCS_ROOT}/${RETIRED_DIR}/${verb}-${base.slice(5)}`;
|
|
26193
26196
|
return `${dir}/${RETIRED_DIR}/${base}`;
|
|
26194
26197
|
}
|
|
@@ -27111,7 +27114,7 @@ function buildRelocatePlan(exec, moves) {
|
|
|
27111
27114
|
for (const { from, to } of moves) {
|
|
27112
27115
|
if (moveMap.has(from)) throw new FatalError(`docs:relocate: duplicate source ${from}`);
|
|
27113
27116
|
moveMap.set(from, to);
|
|
27114
|
-
if (exec.exists(from)) plannedMoves.push({
|
|
27117
|
+
if (exec.exists(from) && from !== to) plannedMoves.push({
|
|
27115
27118
|
from,
|
|
27116
27119
|
to,
|
|
27117
27120
|
status: "pending"
|
|
@@ -27315,14 +27318,12 @@ const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
|
|
|
27315
27318
|
function validateRetireArgs(exec, src, opts) {
|
|
27316
27319
|
if (!isRetireVerb(opts.status)) throw new FatalError(`docs:retire: unrecognized --status "${opts.status}" (expected one of: ${RETIRE_VERBS.join(", ")})`);
|
|
27317
27320
|
const verb = opts.status;
|
|
27318
|
-
|
|
27319
|
-
if (!DATE_RE.test(date)) throw new FatalError(`docs:retire: --date must be YYYY-MM-DD, got: ${date}`);
|
|
27321
|
+
if (opts.date !== void 0 && !DATE_RE.test(opts.date)) throw new FatalError(`docs:retire: --date must be YYYY-MM-DD, got: ${opts.date}`);
|
|
27320
27322
|
if (!src.endsWith(".md")) throw new FatalError(`docs:retire: source must be a .md file: ${src}`);
|
|
27321
27323
|
const dest = opts.dest !== void 0 ? path.posix.normalize(opts.dest) : retireDestination(src, verb);
|
|
27322
27324
|
if (src !== dest && exec.exists(src) && exec.exists(dest)) throw new FatalError(`docs:retire: refusing to overwrite existing destination: ${dest}`);
|
|
27323
27325
|
return {
|
|
27324
27326
|
verb,
|
|
27325
|
-
date,
|
|
27326
27327
|
dest
|
|
27327
27328
|
};
|
|
27328
27329
|
}
|
|
@@ -27486,7 +27487,7 @@ function formatRetireLines(src, dest, relocatePlan, lifecycleSummary) {
|
|
|
27486
27487
|
*/
|
|
27487
27488
|
function runDocsRetire(exec, src, opts) {
|
|
27488
27489
|
const vc = { verbose: opts.verbose ?? false };
|
|
27489
|
-
const { verb,
|
|
27490
|
+
const { verb, dest } = validateRetireArgs(exec, src, opts);
|
|
27490
27491
|
const relocatePlan = buildRelocatePlan(exec, [{
|
|
27491
27492
|
from: src,
|
|
27492
27493
|
to: dest
|
|
@@ -27496,6 +27497,7 @@ function runDocsRetire(exec, src, opts) {
|
|
|
27496
27497
|
const relinkRewrite = relocatePlan.rewrites.find((r) => r.file === dest);
|
|
27497
27498
|
const baseContent = relinkRewrite?.content ?? exec.readFile(move.status === "pending" ? src : dest);
|
|
27498
27499
|
if (baseContent === void 0) throw new FatalError(`docs:retire: cannot read ${move.status === "pending" ? src : dest}`);
|
|
27500
|
+
const date = opts.date ?? datedStatusValue(baseContent) ?? localToday(/* @__PURE__ */ new Date());
|
|
27499
27501
|
const { content: lifecycleContent, summary, edits: lifecycle } = applyLifecycleEdits(baseContent, dest, verb, date, opts.shipped);
|
|
27500
27502
|
const delinked = delinkDocument(lifecycleContent, path.posix.dirname(dest));
|
|
27501
27503
|
const finalContent = delinked.content;
|
|
@@ -27565,7 +27567,7 @@ const docsRetireCommand = defineCommand({
|
|
|
27565
27567
|
},
|
|
27566
27568
|
date: {
|
|
27567
27569
|
type: "string",
|
|
27568
|
-
description: "Retirement date, YYYY-MM-DD (defaults to today, local time)"
|
|
27570
|
+
description: "Retirement date, YYYY-MM-DD (defaults to the date of an existing terminal Status: line, else today, local time)"
|
|
27569
27571
|
},
|
|
27570
27572
|
shipped: {
|
|
27571
27573
|
type: "string",
|
|
@@ -31255,7 +31257,7 @@ setForgejoLogger(log$1);
|
|
|
31255
31257
|
* `local <sha>[-dirty]` otherwise -- so an artifact built from the working tree
|
|
31256
31258
|
* can't pass itself off as the published release whose version it carries.
|
|
31257
31259
|
*/
|
|
31258
|
-
const displayVersion = "0.84.
|
|
31260
|
+
const displayVersion = "0.84.2";
|
|
31259
31261
|
/**
|
|
31260
31262
|
* The registered `bst` subcommand map, exported so both the JSON entry path below (resolving a
|
|
31261
31263
|
* command name before citty parses anything) and the coverage test (enumerating every
|