diff --git a/.github/local-actions/branch-manager/main.js b/.github/local-actions/branch-manager/main.js index 170e609cb..6bc264497 100644 --- a/.github/local-actions/branch-manager/main.js +++ b/.github/local-actions/branch-manager/main.js @@ -59747,7 +59747,25 @@ var PromisePolyfill = class extends Promise { }; // +function getCallSites() { + const _prepareStackTrace = Error.prepareStackTrace; + try { + let result = []; + Error.prepareStackTrace = (_, callSites) => { + const callSitesWithoutCurrent = callSites.slice(1); + result = callSitesWithoutCurrent; + return callSitesWithoutCurrent; + }; + new Error().stack; + return result; + } finally { + Error.prepareStackTrace = _prepareStackTrace; + } +} function createPrompt(view) { + var _a, _b; + const callSites = getCallSites(); + const callerFilename = (_b = (_a = callSites[1]) == null ? void 0 : _a.getFileName) == null ? void 0 : _b.call(_a); const prompt = (config, context2 = {}) => { const { input = process.stdin, signal } = context2; const cleanups = /* @__PURE__ */ new Set(); @@ -59785,6 +59803,10 @@ function createPrompt(view) { const nextView = view(config, (value) => { setImmediate(() => resolve(value)); }); + if (nextView === void 0) { + throw new Error(`Prompt functions must return a string. + at ${callerFilename}`); + } const [content, bottomContent] = typeof nextView === "string" ? [nextView] : nextView; screen.render(content, bottomContent); effectScheduler.run(); @@ -59997,11 +60019,14 @@ ${page}${helpTipBottom}${choiceDescription}${error2}${import_ansi_escapes2.defau // var import_external_editor = __toESM(require_main2(), 1); import { AsyncResource as AsyncResource4 } from "node:async_hooks"; +var editorTheme = { + validationFailureMode: "keep" +}; var esm_default3 = createPrompt((config, done) => { const { waitForUseInput = true, file: { postfix = config.postfix ?? ".txt", ...fileProps } = {}, validate = () => true } = config; - const theme = makeTheme(config.theme); + const theme = makeTheme(editorTheme, config.theme); const [status, setStatus] = useState("idle"); - const [value, setValue] = useState(config.default || ""); + const [value = "", setValue] = useState(config.default); const [errorMsg, setError] = useState(); const prefix = usePrefix({ status, theme }); function startEditor(rl) { @@ -60018,7 +60043,11 @@ var esm_default3 = createPrompt((config, done) => { setStatus("done"); done(answer); } else { - setValue(answer); + if (theme.validationFailureMode === "clear") { + setValue(config.default); + } else { + setValue(answer); + } setError(isValid || "You must provide a valid value"); setStatus("idle"); } @@ -60058,22 +60087,34 @@ var esm_default3 = createPrompt((config, done) => { }); // +function getBooleanValue(value, defaultValue) { + let answer = defaultValue !== false; + if (/^(y|yes)/i.test(value)) + answer = true; + else if (/^(n|no)/i.test(value)) + answer = false; + return answer; +} +function boolToString(value) { + return value ? "Yes" : "No"; +} var esm_default4 = createPrompt((config, done) => { - const { transformer = (answer) => answer ? "yes" : "no" } = config; + const { transformer = boolToString } = config; const [status, setStatus] = useState("idle"); const [value, setValue] = useState(""); const theme = makeTheme(config.theme); const prefix = usePrefix({ status, theme }); useKeypress((key, rl) => { if (isEnterKey(key)) { - let answer = config.default !== false; - if (/^(y|yes)/i.test(value)) - answer = true; - else if (/^(n|no)/i.test(value)) - answer = false; + const answer = getBooleanValue(value, config.default); setValue(transformer(answer)); setStatus("done"); done(answer); + } else if (key.name === "tab") { + const answer = boolToString(!getBooleanValue(value, config.default)); + rl.clearLine(0); + rl.write(answer); + setValue(answer); } else { setValue(rl.line); } @@ -60090,9 +60131,12 @@ var esm_default4 = createPrompt((config, done) => { }); // +var inputTheme = { + validationFailureMode: "keep" +}; var esm_default5 = createPrompt((config, done) => { const { required, validate = () => true } = config; - const theme = makeTheme(config.theme); + const theme = makeTheme(inputTheme, config.theme); const [status, setStatus] = useState("idle"); const [defaultValue = "", setDefaultValue] = useState(config.default); const [errorMsg, setError] = useState(); @@ -60111,7 +60155,11 @@ var esm_default5 = createPrompt((config, done) => { setStatus("done"); done(answer); } else { - rl.write(value); + if (theme.validationFailureMode === "clear") { + setValue(""); + } else { + rl.write(value); + } setError(isValid || "You must provide a valid value"); setStatus("idle"); } diff --git a/yarn.lock b/yarn.lock index 452e46f4b..c72f29410 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2099,15 +2099,15 @@ __metadata: linkType: hard "@google-cloud/firestore@npm:^7.0.0, @google-cloud/firestore@npm:^7.10.0": - version: 7.10.0 - resolution: "@google-cloud/firestore@npm:7.10.0" + version: 7.11.0 + resolution: "@google-cloud/firestore@npm:7.11.0" dependencies: "@opentelemetry/api": "npm:^1.3.0" fast-deep-equal: "npm:^3.1.1" functional-red-black-tree: "npm:^1.0.1" google-gax: "npm:^4.3.3" protobufjs: "npm:^7.2.6" - checksum: 10c0/0b6c11914c7563e073c5c3b1d535ec12e1f7cf9db92cdf68b75fc17604da303f39dfb9372f45185de8f54eb238f556228111590705f15accd3f85c88b1828a49 + checksum: 10c0/c34c0c7802b9744bdd631c4efaec3fb0ea5c5460b74c02c1a9f87007b0da2d80948bbabcb3648a119a65c6e114f96d03cf87d94c338488e0993b1ebf642356ff languageName: node linkType: hard @@ -2299,6 +2299,21 @@ __metadata: languageName: node linkType: hard +"@inquirer/checkbox@npm:^4.0.3": + version: 4.0.3 + resolution: "@inquirer/checkbox@npm:4.0.3" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/figures": "npm:^1.0.8" + "@inquirer/type": "npm:^3.0.1" + ansi-escapes: "npm:^4.3.2" + yoctocolors-cjs: "npm:^2.1.2" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/fe4084e0abac1e7c9efa88cb57e54213d49e4158c72a1c4f3bb45b6ea535d7b1177ae9defc8f62203c53c88a6fe2c30b30a826287f89e59d6e06ef50a2785176 + languageName: node + linkType: hard + "@inquirer/confirm@npm:5.0.2, @inquirer/confirm@npm:^5.0.2": version: 5.0.2 resolution: "@inquirer/confirm@npm:5.0.2" @@ -2311,6 +2326,18 @@ __metadata: languageName: node linkType: hard +"@inquirer/confirm@npm:^5.1.0": + version: 5.1.0 + resolution: "@inquirer/confirm@npm:5.1.0" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/type": "npm:^3.0.1" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/c75e91a84839c800a7176e3c790368656c505f6f8c1f8e7cd022055eb31d75d73ac847224061791f6c35e71be35fac52d2efb976e4709884d00d4968e37630c7 + languageName: node + linkType: hard + "@inquirer/core@npm:^10.1.0": version: 10.1.0 resolution: "@inquirer/core@npm:10.1.0" @@ -2328,6 +2355,23 @@ __metadata: languageName: node linkType: hard +"@inquirer/core@npm:^10.1.1": + version: 10.1.1 + resolution: "@inquirer/core@npm:10.1.1" + dependencies: + "@inquirer/figures": "npm:^1.0.8" + "@inquirer/type": "npm:^3.0.1" + ansi-escapes: "npm:^4.3.2" + cli-width: "npm:^4.1.0" + mute-stream: "npm:^2.0.0" + signal-exit: "npm:^4.1.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^6.2.0" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/7c3b50b5a8c673d2b978684c39b8d65249145cbc859b598d4d0be9af1d2f30731228996ff8143a8fca1b776f76040d83ae241807291144f6205c23b93e33d408 + languageName: node + linkType: hard + "@inquirer/editor@npm:^4.1.0": version: 4.1.0 resolution: "@inquirer/editor@npm:4.1.0" @@ -2341,6 +2385,19 @@ __metadata: languageName: node linkType: hard +"@inquirer/editor@npm:^4.2.0": + version: 4.2.0 + resolution: "@inquirer/editor@npm:4.2.0" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/type": "npm:^3.0.1" + external-editor: "npm:^3.1.0" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/ed56c675b9ffdc4bb62e53ab0c64e435d64fcbfd157b04db0ee5f9f31f88ad9d2ecd6fee45a15c09ab2e794db231607198d4d0772712311392f3e91d4363efa1 + languageName: node + linkType: hard + "@inquirer/expand@npm:^4.0.2": version: 4.0.2 resolution: "@inquirer/expand@npm:4.0.2" @@ -2354,6 +2411,19 @@ __metadata: languageName: node linkType: hard +"@inquirer/expand@npm:^4.0.3": + version: 4.0.3 + resolution: "@inquirer/expand@npm:4.0.3" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/type": "npm:^3.0.1" + yoctocolors-cjs: "npm:^2.1.2" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/37fb3fb2a483ec6873b9dffc36f1a9316d75a490c9c30edfb877e0118316e093289a646686a569b5fc4bab688506c1df418f8ecb5d8fcace127c745c4f9bc945 + languageName: node + linkType: hard + "@inquirer/figures@npm:^1.0.8": version: 1.0.8 resolution: "@inquirer/figures@npm:1.0.8" @@ -2373,6 +2443,18 @@ __metadata: languageName: node linkType: hard +"@inquirer/input@npm:^4.1.0": + version: 4.1.0 + resolution: "@inquirer/input@npm:4.1.0" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/type": "npm:^3.0.1" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/1dbbdb4edc6ed17970c18e049d59c536068ca35de848093230fc547e8202b2fc632fcdcc6f534887e9b4ed114c7b3f4501a05145d2efa694b3a2f31b410ba503 + languageName: node + linkType: hard + "@inquirer/number@npm:^3.0.2": version: 3.0.2 resolution: "@inquirer/number@npm:3.0.2" @@ -2385,6 +2467,18 @@ __metadata: languageName: node linkType: hard +"@inquirer/number@npm:^3.0.3": + version: 3.0.3 + resolution: "@inquirer/number@npm:3.0.3" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/type": "npm:^3.0.1" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/443d6ee1abd9d6970a43e91232c4df1b70f96db5b7f0f8a0594d2af232ad16d17c77c52c74c69c7dbb8af3d64df19462fc9fb1990cacfeae64d9ac4f39a10527 + languageName: node + linkType: hard + "@inquirer/password@npm:^4.0.2": version: 4.0.2 resolution: "@inquirer/password@npm:4.0.2" @@ -2398,7 +2492,20 @@ __metadata: languageName: node linkType: hard -"@inquirer/prompts@npm:7.1.0, @inquirer/prompts@npm:^7.0.0": +"@inquirer/password@npm:^4.0.3": + version: 4.0.3 + resolution: "@inquirer/password@npm:4.0.3" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/type": "npm:^3.0.1" + ansi-escapes: "npm:^4.3.2" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/5ebd6e5d1d5bc5898873111035fee023ee2cdd55c3860526db4c732450c4795ee5b4e2fd9826616391afc9375ecdffcbc1e8054bb61fbe87e94df4849c2e5e6c + languageName: node + linkType: hard + +"@inquirer/prompts@npm:7.1.0": version: 7.1.0 resolution: "@inquirer/prompts@npm:7.1.0" dependencies: @@ -2418,6 +2525,26 @@ __metadata: languageName: node linkType: hard +"@inquirer/prompts@npm:^7.0.0": + version: 7.2.0 + resolution: "@inquirer/prompts@npm:7.2.0" + dependencies: + "@inquirer/checkbox": "npm:^4.0.3" + "@inquirer/confirm": "npm:^5.1.0" + "@inquirer/editor": "npm:^4.2.0" + "@inquirer/expand": "npm:^4.0.3" + "@inquirer/input": "npm:^4.1.0" + "@inquirer/number": "npm:^3.0.3" + "@inquirer/password": "npm:^4.0.3" + "@inquirer/rawlist": "npm:^4.0.3" + "@inquirer/search": "npm:^3.0.3" + "@inquirer/select": "npm:^4.0.3" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/df400acd7a02dabe95702ceb7fbc467dc38550263692e07c6f97ba6b0d0aa89d93c51db69688f5f6775d02c2611e3db1936ab5df103c1082a671398719396347 + languageName: node + linkType: hard + "@inquirer/rawlist@npm:^4.0.2": version: 4.0.2 resolution: "@inquirer/rawlist@npm:4.0.2" @@ -2431,6 +2558,19 @@ __metadata: languageName: node linkType: hard +"@inquirer/rawlist@npm:^4.0.3": + version: 4.0.3 + resolution: "@inquirer/rawlist@npm:4.0.3" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/type": "npm:^3.0.1" + yoctocolors-cjs: "npm:^2.1.2" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/e2cfb79a13132b3480464a5b6c75a9823f8449ca7ecb50a3c5d8ec040bb0c29b3fc23e3ad2a7cf393e00ef9c2f1806b3511d02ba94cfd6586db72962dd8c6739 + languageName: node + linkType: hard + "@inquirer/search@npm:^3.0.2": version: 3.0.2 resolution: "@inquirer/search@npm:3.0.2" @@ -2445,6 +2585,20 @@ __metadata: languageName: node linkType: hard +"@inquirer/search@npm:^3.0.3": + version: 3.0.3 + resolution: "@inquirer/search@npm:3.0.3" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/figures": "npm:^1.0.8" + "@inquirer/type": "npm:^3.0.1" + yoctocolors-cjs: "npm:^2.1.2" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/080a2bf28b4c9fa7f9d07096c70c47868a1b57acfb31bb3eff16335bb2e71eb5b9cd22d091e56292d887a720f3ffa7ce79843298b238db567694b0d120b11706 + languageName: node + linkType: hard + "@inquirer/select@npm:^4.0.2": version: 4.0.2 resolution: "@inquirer/select@npm:4.0.2" @@ -2460,6 +2614,21 @@ __metadata: languageName: node linkType: hard +"@inquirer/select@npm:^4.0.3": + version: 4.0.3 + resolution: "@inquirer/select@npm:4.0.3" + dependencies: + "@inquirer/core": "npm:^10.1.1" + "@inquirer/figures": "npm:^1.0.8" + "@inquirer/type": "npm:^3.0.1" + ansi-escapes: "npm:^4.3.2" + yoctocolors-cjs: "npm:^2.1.2" + peerDependencies: + "@types/node": ">=18" + checksum: 10c0/7c8d7b2e4aed99e2bb826ba11717190b80aaf2c90999203b0b1bae26104cc03613bdd6de58440a6b3a254c93d2882de103be9972bb71b3d85ce9f62da21deac7 + languageName: node + linkType: hard + "@inquirer/type@npm:^1.5.5": version: 1.5.5 resolution: "@inquirer/type@npm:1.5.5" @@ -7830,8 +7999,8 @@ __metadata: linkType: hard "firebase-tools@npm:^13.0.0": - version: 13.27.0 - resolution: "firebase-tools@npm:13.27.0" + version: 13.28.0 + resolution: "firebase-tools@npm:13.28.0" dependencies: "@electric-sql/pglite": "npm:^0.2.0" "@google-cloud/cloud-sql-connector": "npm:^1.3.3" @@ -7864,6 +8033,7 @@ __metadata: google-auth-library: "npm:^9.11.0" inquirer: "npm:^8.2.6" inquirer-autocomplete-prompt: "npm:^2.0.1" + js-yaml: "npm:^3.14.1" jsonwebtoken: "npm:^9.0.0" leven: "npm:^3.1.0" libsodium-wrappers: "npm:^0.7.10" @@ -7887,7 +8057,7 @@ __metadata: sql-formatter: "npm:^15.3.0" stream-chain: "npm:^2.2.4" stream-json: "npm:^1.7.3" - superstatic: "npm:^9.0.3" + superstatic: "npm:^9.1.0" tar: "npm:^6.1.11" tcp-port-used: "npm:^1.0.2" tmp: "npm:^0.2.3" @@ -7901,7 +8071,7 @@ __metadata: yaml: "npm:^2.4.1" bin: firebase: lib/bin/firebase.js - checksum: 10c0/9eaeaf34c8e09c32a3efc6897e761a7dc546aa0310322ed812a389e77823be1f3ea458898ff728a9e296b05f0fcfae7293738a8f07ce1bba0bc5b833dc7996c4 + checksum: 10c0/b2783e7e43a653fa0d1a4cb6a45fd8599716802a0b1c4809b972874270d1e27a2c09a1a59593224c7729677467cb6f6d12923f04b8142c9c67478179a59aa836 languageName: node linkType: hard @@ -9673,7 +9843,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1": +"js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -14066,7 +14236,7 @@ __metadata: languageName: node linkType: hard -"superstatic@npm:^9.0.3": +"superstatic@npm:^9.1.0": version: 9.1.0 resolution: "superstatic@npm:9.1.0" dependencies: