@lunora/cli
Version:
The Lunora CLI: init, dev, deploy, codegen, run, reset, and migrate commands
5 lines (4 loc) • 1.57 kB
JavaScript
import{runCodegen as l}from"@lunora/codegen";import{collectWranglerSecretVariables as m}from"@lunora/config";import{r as p}from"../packem_shared/api-spec-BENwiyUa.mjs";import{i as u}from"../packem_shared/command-Bjv4VmYA.mjs";import{i as v,d as f,s as $,r as w}from"../packem_shared/output-format-D7cKB-O5.mjs";const d=3,h=r=>{const i=r.cwd??process.cwd(),t=w(r.format),a=$(r.format,r.logger),n=v("codegen",r.format);if(n!==void 0)return r.logger.error(n),{advisories:[],cronTriggers:[],error:n,outputDirectory:""};const e=l({apiSpec:r.apiSpec,projectRoot:i,wranglerVariables:m(i)}),c={advisories:e.advisories.map(o=>({detail:o.detail,level:o.level,name:o.name,remediation:o.remediation})),cronTriggers:e.cronTriggers,outputDirectory:e.outputDirectory};if(a.success(`codegen wrote dataModel.ts, api.ts, server.ts to ${e.outputDirectory}`),e.advisories.length>0){const o=e.advisories.length,g=e.advisories.map(s=>` [${s.level}] ${s.name} — ${s.detail}
↳ ${s.remediation}`);a.warn(`${o.toString()} schema ${o===1?"advisory":"advisories"}:
${g.join(`
`)}`)}return e.cronTriggers.length>d&&a.warn(`${e.cronTriggers.length.toString()} distinct cron expressions declared — Cloudflare allows at most ${d.toString()} Cron Triggers per Worker. Consolidate schedules (jobs can share one expression) or move finer-grained work to Durable Object alarms via @lunora/scheduler (runAfter/runAt).`),t&&f(c),c},D=u(({cwd:r,logger:i,options:t})=>({code:h({apiSpec:p(t.apiSpec),cwd:r,format:t.format,logger:i}).error===void 0?0:1}));export{D as execute,h as runCodegenCommand};