@lunora/cli
Version:
The Lunora CLI: init, dev, deploy, codegen, migrate, seed, doctor, insights, logs, registry, and the rest of the project commands
2 lines (1 loc) • 909 B
JavaScript
import{existsSync as c,readFileSync as i}from"node:fs";import{join as u}from"@visulima/path";import{r as d,d as f}from"./detect-package-manager-DSaAqRof.mjs";import{defaultSpawner as g}from"./createRecordingSpawner-DJlNacZ6.mjs";const t="postcodegen",m=o=>{const e=u(o,"package.json");if(!c(e))return!1;try{const n=JSON.parse(i(e,"utf8"))?.scripts;return typeof n?.[t]=="string"&&n[t]!==""}catch{return!1}},$=async o=>{const{cwd:e,logger:s}=o;if(!m(e))return{ran:!1};let n;try{n=d(f(e),t)}catch(r){return{error:`cannot run \`${t}\`: ${r instanceof Error?r.message:String(r)}`,ran:!0}}s.info(`running \`${t}\``);let a;try{a=await(o.spawner??g)({args:n.args,command:n.command,cwd:e,stdoutToStderr:o.stdoutToStderr})}catch(r){return{error:`\`${t}\` failed to start: ${r instanceof Error?r.message:String(r)}`,ran:!0}}return a.code!==0?{error:`\`${t}\` exited ${String(a.code)}`,ran:!0}:{ran:!0}};export{$ as r};