UNPKG

@lunora/cli

Version:

The Lunora CLI: init, dev, deploy, codegen, run, reset, and migrate commands

50 lines (47 loc) 1.77 kB
import { execFile } from 'node:child_process'; import { e as execArgsFor, d as detectPackageManager } from './detect-package-manager-v4hHpQd0.mjs'; const execCode = (error) => { if (!error) { return 0; } return typeof error.code === "number" ? error.code : 1; }; const defaultRunner = (command, args, cwd) => new Promise((resolve) => { execFile(command, [...args], { cwd }, (error, stdout, stderr) => { resolve({ code: execCode(error), stderr, stdout }); }); }); const parseSecretNames = (stdout) => { let parsed; try { parsed = JSON.parse(stdout); } catch { return void 0; } if (!Array.isArray(parsed)) { return void 0; } const names = parsed.map((entry) => entry !== null && typeof entry === "object" ? entry.name : void 0).filter((name) => typeof name === "string" && name.length > 0); return [...names].toSorted((a, b) => a.localeCompare(b)); }; const listRemoteSecrets = async (inputs) => { const wranglerArgs = ["secret", "list", "--format", "json"]; if (inputs.env !== void 0) { wranglerArgs.push("--env", inputs.env); } if (inputs.temporary) { wranglerArgs.push("--temporary"); } const { args, command } = execArgsFor(detectPackageManager(inputs.cwd), "wrangler", wranglerArgs); const runner = inputs.runner ?? defaultRunner; const result = await runner(command, args, inputs.cwd); if (result.code !== 0) { return { error: result.stderr.trim() || `wrangler secret list exited ${String(result.code)}`, names: [], ok: false }; } const names = parseSecretNames(result.stdout); if (names === void 0) { return { error: "could not parse `wrangler secret list --format json` output", names: [], ok: false }; } return { names, ok: true }; }; export { listRemoteSecrets as l };