From 9cd6188d45622fab0fb67cb188358146f2fb0710 Mon Sep 17 00:00:00 2001 From: lvbt-bot Date: Tue, 29 Sep 2026 19:27:21 +0000 Subject: [PATCH] chore: update LVBT repository standard to v0.5.4 Apply the reviewed v0.5.4 release with its own updater. --- .claude/settings.json | 2 +- .lvbt/web-platform.json | 6 +++--- .../examples/with-astro/.claude/settings.json | 2 +- .../examples/with-astro/apps/site/package.json | 8 ++++---- .../web-platform/examples/with-astro/package.json | 4 ++-- .../examples/with-vite-react/.claude/settings.json | 2 +- .../examples/with-vite-react/apps/app/package.json | 8 ++++---- .../examples/with-vite-react/package.json | 4 ++-- .lvbt/web-platform/packages/cli/package.json | 2 +- .../lvbt-contributions/.claude-plugin/plugin.json | 2 +- .../lvbt-contributions/.codex-plugin/plugin.json | 2 +- .../packages/eslint-config/package.json | 2 +- .../packages/playwright-config/package.json | 2 +- .../packages/prettier-config/package.json | 2 +- .../packages/typescript-config/package.json | 2 +- .../packages/vitest-config/package.json | 2 +- .../packages/web-platform/package.json | 2 +- .lvbt/web-platform/standards/propose.ts | 14 +++++++++++++- 18 files changed, 40 insertions(+), 28 deletions(-) diff --git a/.claude/settings.json b/.claude/settings.json index ef6bb4e..6b98fe8 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -4,7 +4,7 @@ "source": { "source": "github", "repo": "LasVegasForTransit/repository-tooling", - "ref": "v0.5.3" + "ref": "v0.5.4" } } }, diff --git a/.lvbt/web-platform.json b/.lvbt/web-platform.json index 0fdbbb4..6a635d4 100644 --- a/.lvbt/web-platform.json +++ b/.lvbt/web-platform.json @@ -1,9 +1,9 @@ { "formatVersion": 1, "preset": "lvbt-web", - "release": "v0.5.3", - "commit": "f9f1bdffd9a77e5560470c6735275f319ff0594e", - "contentHash": "3399d99216e793bbf1b3ed43e478b3cd54e0670d02d9abe6bff2f8e44f7c82eb", + "release": "v0.5.4", + "commit": "323d5f5f968ed69ebcc29252b183fd65d13dc49a", + "contentHash": "25da315541c7a6f94f1ed1712e7b41c7512318af88033a1b3d485515d350ab83", "executables": [ "examples/with-astro/.githooks/commit-msg", "examples/with-astro/.githooks/pre-commit", diff --git a/.lvbt/web-platform/examples/with-astro/.claude/settings.json b/.lvbt/web-platform/examples/with-astro/.claude/settings.json index ef6bb4e..6b98fe8 100644 --- a/.lvbt/web-platform/examples/with-astro/.claude/settings.json +++ b/.lvbt/web-platform/examples/with-astro/.claude/settings.json @@ -4,7 +4,7 @@ "source": { "source": "github", "repo": "LasVegasForTransit/repository-tooling", - "ref": "v0.5.3" + "ref": "v0.5.4" } } }, diff --git a/.lvbt/web-platform/examples/with-astro/apps/site/package.json b/.lvbt/web-platform/examples/with-astro/apps/site/package.json index 1738170..8398cd7 100644 --- a/.lvbt/web-platform/examples/with-astro/apps/site/package.json +++ b/.lvbt/web-platform/examples/with-astro/apps/site/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@astrojs/check": "catalog:", - "@lasvegasfortransit/eslint-config": "0.5.3", - "@lasvegasfortransit/playwright-config": "0.5.3", - "@lasvegasfortransit/typescript-config": "0.5.3", - "@lasvegasfortransit/vitest-config": "0.5.3", + "@lasvegasfortransit/eslint-config": "0.5.4", + "@lasvegasfortransit/playwright-config": "0.5.4", + "@lasvegasfortransit/typescript-config": "0.5.4", + "@lasvegasfortransit/vitest-config": "0.5.4", "@playwright/test": "catalog:", "@types/node": "catalog:", "eslint": "catalog:", diff --git a/.lvbt/web-platform/examples/with-astro/package.json b/.lvbt/web-platform/examples/with-astro/package.json index f49a276..0dbfd39 100644 --- a/.lvbt/web-platform/examples/with-astro/package.json +++ b/.lvbt/web-platform/examples/with-astro/package.json @@ -23,8 +23,8 @@ "*": "prettier --write --ignore-unknown" }, "devDependencies": { - "@lasvegasfortransit/cli": "0.5.3", - "@lasvegasfortransit/prettier-config": "0.5.3", + "@lasvegasfortransit/cli": "0.5.4", + "@lasvegasfortransit/prettier-config": "0.5.4", "lint-staged": "catalog:", "markdownlint-cli2": "catalog:", "markdownlint-rule-relative-links": "catalog:", diff --git a/.lvbt/web-platform/examples/with-vite-react/.claude/settings.json b/.lvbt/web-platform/examples/with-vite-react/.claude/settings.json index ef6bb4e..6b98fe8 100644 --- a/.lvbt/web-platform/examples/with-vite-react/.claude/settings.json +++ b/.lvbt/web-platform/examples/with-vite-react/.claude/settings.json @@ -4,7 +4,7 @@ "source": { "source": "github", "repo": "LasVegasForTransit/repository-tooling", - "ref": "v0.5.3" + "ref": "v0.5.4" } } }, diff --git a/.lvbt/web-platform/examples/with-vite-react/apps/app/package.json b/.lvbt/web-platform/examples/with-vite-react/apps/app/package.json index 680e16e..1acf948 100644 --- a/.lvbt/web-platform/examples/with-vite-react/apps/app/package.json +++ b/.lvbt/web-platform/examples/with-vite-react/apps/app/package.json @@ -17,10 +17,10 @@ "react-dom": "catalog:" }, "devDependencies": { - "@lasvegasfortransit/eslint-config": "0.5.3", - "@lasvegasfortransit/playwright-config": "0.5.3", - "@lasvegasfortransit/typescript-config": "0.5.3", - "@lasvegasfortransit/vitest-config": "0.5.3", + "@lasvegasfortransit/eslint-config": "0.5.4", + "@lasvegasfortransit/playwright-config": "0.5.4", + "@lasvegasfortransit/typescript-config": "0.5.4", + "@lasvegasfortransit/vitest-config": "0.5.4", "@playwright/test": "catalog:", "@tailwindcss/vite": "catalog:", "@types/node": "catalog:", diff --git a/.lvbt/web-platform/examples/with-vite-react/package.json b/.lvbt/web-platform/examples/with-vite-react/package.json index efece57..a9a48da 100644 --- a/.lvbt/web-platform/examples/with-vite-react/package.json +++ b/.lvbt/web-platform/examples/with-vite-react/package.json @@ -23,8 +23,8 @@ "*": "prettier --write --ignore-unknown" }, "devDependencies": { - "@lasvegasfortransit/cli": "0.5.3", - "@lasvegasfortransit/prettier-config": "0.5.3", + "@lasvegasfortransit/cli": "0.5.4", + "@lasvegasfortransit/prettier-config": "0.5.4", "lint-staged": "catalog:", "markdownlint-cli2": "catalog:", "markdownlint-rule-relative-links": "catalog:", diff --git a/.lvbt/web-platform/packages/cli/package.json b/.lvbt/web-platform/packages/cli/package.json index 37e3ad8..447dc57 100644 --- a/.lvbt/web-platform/packages/cli/package.json +++ b/.lvbt/web-platform/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@lasvegasfortransit/cli", - "version": "0.5.3", + "version": "0.5.4", "description": "The lvbt command every LVBT repository runs for bootstrap, preflight, and deploy, plus the production platform setup, the shared git hooks, and the lvbt-contributions agent plugin.", "license": "MIT", "type": "module", diff --git a/.lvbt/web-platform/packages/cli/plugins/lvbt-contributions/.claude-plugin/plugin.json b/.lvbt/web-platform/packages/cli/plugins/lvbt-contributions/.claude-plugin/plugin.json index bede3d2..981b151 100644 --- a/.lvbt/web-platform/packages/cli/plugins/lvbt-contributions/.claude-plugin/plugin.json +++ b/.lvbt/web-platform/packages/cli/plugins/lvbt-contributions/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "lvbt-contributions", - "version": "0.5.3", + "version": "0.5.4", "description": "Create readable LVBT GitHub issues and pull requests through the organization workflow.", "author": { "name": "Las Vegans for Better Transit", diff --git a/.lvbt/web-platform/packages/cli/plugins/lvbt-contributions/.codex-plugin/plugin.json b/.lvbt/web-platform/packages/cli/plugins/lvbt-contributions/.codex-plugin/plugin.json index e837208..34a7e6f 100644 --- a/.lvbt/web-platform/packages/cli/plugins/lvbt-contributions/.codex-plugin/plugin.json +++ b/.lvbt/web-platform/packages/cli/plugins/lvbt-contributions/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "lvbt-contributions", - "version": "0.5.3", + "version": "0.5.4", "description": "Create readable LVBT GitHub issues and pull requests through the organization workflow.", "author": { "name": "Las Vegans for Better Transit", diff --git a/.lvbt/web-platform/packages/eslint-config/package.json b/.lvbt/web-platform/packages/eslint-config/package.json index b6b4edf..74559be 100644 --- a/.lvbt/web-platform/packages/eslint-config/package.json +++ b/.lvbt/web-platform/packages/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@lasvegasfortransit/eslint-config", - "version": "0.5.3", + "version": "0.5.4", "description": "The ESLint configurations every LVBT repository uses.", "license": "MIT", "type": "module", diff --git a/.lvbt/web-platform/packages/playwright-config/package.json b/.lvbt/web-platform/packages/playwright-config/package.json index 151991d..716ab21 100644 --- a/.lvbt/web-platform/packages/playwright-config/package.json +++ b/.lvbt/web-platform/packages/playwright-config/package.json @@ -1,6 +1,6 @@ { "name": "@lasvegasfortransit/playwright-config", - "version": "0.5.3", + "version": "0.5.4", "description": "The Playwright configuration every LVBT repository spreads into its own: end-to-end tests under tests/e2e, desktop and mobile projects, traces on failure.", "license": "MIT", "type": "module", diff --git a/.lvbt/web-platform/packages/prettier-config/package.json b/.lvbt/web-platform/packages/prettier-config/package.json index d9c38a3..7448441 100644 --- a/.lvbt/web-platform/packages/prettier-config/package.json +++ b/.lvbt/web-platform/packages/prettier-config/package.json @@ -1,6 +1,6 @@ { "name": "@lasvegasfortransit/prettier-config", - "version": "0.5.3", + "version": "0.5.4", "description": "The Prettier configuration every LVBT repository uses.", "license": "MIT", "type": "module", diff --git a/.lvbt/web-platform/packages/typescript-config/package.json b/.lvbt/web-platform/packages/typescript-config/package.json index 4e431c0..68dccd6 100644 --- a/.lvbt/web-platform/packages/typescript-config/package.json +++ b/.lvbt/web-platform/packages/typescript-config/package.json @@ -1,6 +1,6 @@ { "name": "@lasvegasfortransit/typescript-config", - "version": "0.5.3", + "version": "0.5.4", "description": "TypeScript configurations every LVBT repository extends.", "license": "MIT", "repository": { diff --git a/.lvbt/web-platform/packages/vitest-config/package.json b/.lvbt/web-platform/packages/vitest-config/package.json index 3aeb4d0..f5f2e01 100644 --- a/.lvbt/web-platform/packages/vitest-config/package.json +++ b/.lvbt/web-platform/packages/vitest-config/package.json @@ -1,6 +1,6 @@ { "name": "@lasvegasfortransit/vitest-config", - "version": "0.5.3", + "version": "0.5.4", "description": "The Vitest configuration every LVBT repository spreads into its own.", "license": "MIT", "type": "module", diff --git a/.lvbt/web-platform/packages/web-platform/package.json b/.lvbt/web-platform/packages/web-platform/package.json index de966a8..d08cd48 100644 --- a/.lvbt/web-platform/packages/web-platform/package.json +++ b/.lvbt/web-platform/packages/web-platform/package.json @@ -1,6 +1,6 @@ { "name": "@lasvegasfortransit/web-platform", - "version": "0.5.3", + "version": "0.5.4", "description": "Provider-neutral deployment, provisioning, and validation primitives for LVBT web repositories.", "license": "MIT", "type": "module", diff --git a/.lvbt/web-platform/standards/propose.ts b/.lvbt/web-platform/standards/propose.ts index d5acfd1..262a89e 100644 --- a/.lvbt/web-platform/standards/propose.ts +++ b/.lvbt/web-platform/standards/propose.ts @@ -168,6 +168,18 @@ function defaultBranchRelease(target: string, runner: Runner): string | null { return (JSON.parse(manifest) as { release: string | null }).release; } +/** + * Turns on auto-merge. A repository with a merge queue picks the merge method itself, and naming one + * there records an auto-merge request that never enters the queue. + */ +function enableAutoMerge(target: string, number: number, runner: Runner): void { + const rules = JSON.parse( + runner('gh', ['api', 'repos/{owner}/{repo}/rules/branches/main'], target), + ) as { type: string }[]; + const queued = rules.some(({ type }) => type === 'merge_queue'); + runner('gh', ['pr', 'merge', String(number), '--auto', ...(queued ? [] : ['--rebase'])], target); +} + /** * GitHub holds the workflow runs of a pull request that a workflow's own token opened until someone * with write access approves them. Approve the ones this update started so `Validate` runs on it. @@ -237,7 +249,7 @@ export async function proposeRelease(options: { if (changed) { const pushed = pushUpdateBranch(target, entry.name, updateBranch(tag), runner); number = await openPullRequest({ ...options, automerge, runner }); - if (automerge) runner('gh', ['pr', 'merge', String(number), '--auto', '--rebase'], target); + if (automerge) enableAutoMerge(target, number, runner); if (pushed) approveHeldRuns(target, updateBranch(tag), runner); } else if (defaultBranchRelease(target, runner) === tag) { // Only a default branch that already carries the release makes its update pull request moot;