@h3ravel/console
Version:
CLI utilities for scaffolding, running migrations, tasks and for H3ravel.
1 lines • 911 B
JavaScript
import{FileSystem as e,mainTsconfig as t}from"@h3ravel/shared";import{execa as n}from"execa";import r from"preferred-pm";import{mkdir as i,writeFile as a}from"node:fs/promises";import o,{join as s}from"node:path";import{existsSync as c}from"node:fs";var l=class{async prepare(l=`.h3ravel/serve`){let u=(await r(process.cwd()))?.name??`npm`,d=s(process.env.DIST_DIR??l);c(o.join(d.replace(`/serve`,``)))||await i(o.join(d.replace(`/serve`,``)),{recursive:!0}),await e.fileExists(o.join(d,`tsconfig.json`))||await a(o.join(d.replace(`/serve`,``),`tsconfig.json`),JSON.stringify(t,null,2));let f={EXTENDED_DEBUG:`false`,CLI_BUILD:`true`,NODE_ENV:`production`,DIST_DIR:d,LOG_LEVEL:`silent`};await n(u,[`tsdown`,`--silent`,`--config-loader`,`unconfig`,`-c`,`tsdown.default.config.ts`].filter(e=>e!==null),{stdout:`inherit`,stderr:`inherit`,cwd:s(process.cwd()),env:Object.assign({},process.env,f)})}};export{l as t};