Files
fusion/scripts/lib/release-prompt-gate.mjs
gsxdsm 19e9f5bc88 chore(release): require interactive confirm; drop authorized/--yes skips
Remove the typed authorization phrase and the --yes/-y auto-confirm path so
every real release must confirm y/N in an interactive terminal. Reject --yes
with a clear error so old muscle memory cannot skip the proceed prompt.
2026-08-02 19:58:37 -07:00

16 lines
800 B
JavaScript

/**
* FNXC:ReleaseScript 2026-06-14-23:08:
* Dry-run releases must be non-interactive by default because FN-6469 showed non-TTY agent shells can hang on unsettled top-level await and exit 13 when the version prompt reads stdin.
* `--interactive` is the explicit dry-run opt-in for maintainers who intentionally want to exercise the version prompt.
*
* FNXC:ReleaseScript 2026-08-03-02:57:
* `--yes` / autoYes is removed. Real releases always prompt for version/channel overrides and for the final proceed confirmation.
*
* @param {{ dryRun: boolean, interactive: boolean }} options
* @returns {boolean} true when the release script should prompt for a version override.
*/
export function shouldPromptForVersion({ dryRun, interactive }) {
if (dryRun) return interactive;
return true;
}