9const confirmGenSecret = ({secPath, autoYes}: {secPath: string, autoYes?: boolean}) => { 10 if (autoYes) return true 11 return 'y' === promptSync(`${secPath} does not exist. generate w/ random value y/n?`) 14export const genPlainSecretIfMissing = async ({secretName, genValue, autoYes=false}: {secretName: string, genValue?: () => string, autoYes?: boolean}) => { 16 if (fs.existsSync(secPath)) { 17 return await fs1Promises.readFile(secPath, 'utf8') 20 if (!confirmGenSecret({secPath, autoYes})) return 23 betLog('genPlainSecretIfMissing', secPath) 24 await fs1Promises.writeFile(secPath, genVal) 28export const genJsonSecretIfMissing = async ({secretName, genValue, autoYes}: {secretName: string, genValue: () => unknown, autoYes?: boolean}) => { 30 if (fs.existsSync(secPath)) return 32 if (!confirmGenSecret({secPath, autoYes})) return 34 const genVal = genValue() 35 betLog('genJsonSecretIfMissing', secPath, genVal) 36 await fs1Promises.writeFile(secPath, JSON.stringify(genVal))