1import { decomposeQsFromSec } from '../../serverF/secretsF/decomposeQsFromSecF.mts'2import { tsSec } from '../../serverF/secretsF/tsSecF.mts'3import { cliActionArg } from '../../serverF/cliArgAI.mts'4import { execFileThrow } from '../../serverF/childProcF/spawnF.mts'5import { assertDefined } from '../../sharedF/assertsF/assertDefinedF.mts'7export const regenkyselyToFile = async ({qsName, outFile}: {qsName: string, outFile: string}) => {8 assertDefined(outFile, {qsName})9 const {extQs} = await decomposeQsFromSec(tsSec(qsName))10 assertDefined(extQs, {qsName})12 await execFileThrow({13 cmdA: ['corepack', 'pnpm', 'exec', 'kysely-codegen', '--out-file', outFile, '--url', extQs],14 })15 console.log(`regenerated ${outFile} from ${qsName}`)16}18export const regenkysely = async ({qsName}: {qsName: string}) => {19 const outFile = cliActionArg()20 assertDefined(outFile, {qsName})21 await regenkyselyToFile({qsName, outFile})22}23regenkysely.noWrapDbConn = true24regenkysely.cliAcceptsPositional = true25regenkysely.cliDescript = 'regenerate Kysely types via kysely-codegen; arg = out-file path'