bruce-cli
Version:
A JS/React App automation build scaffolding with zero-configuration and out-of-the-box
2 lines • 2.54 kB
JavaScript
var e;import{dirname as o}from"node:path";import{argv as t,exit as s,version as i}from"node:process";import{fileURLToPath as n}from"node:url";import{ReadJson as p}from"@yangzw/bruce-us/dist/node.js";import{Command as a}from"commander";import l from"semver";import{ACTION_TEXT as m,ACTION_OPTS_TEXT as r,CMD_TEXT as d}from"./langs/index.js";import{Build as c,Create as u,Dev as v,Init as O,Locale as f,Remove as b}from"./libs/index.js";import{BUILD_TEST as y,CREATE_TEXT as h,DEV_TEST as j,INIT_TEST as C}from"./utils/index.js";l.lt(i,"v18.18.0")&&(console.log(d.judgeNode),s(1));const g=new a,N=o(n(import.meta.url)),{version:z="1.0.0"}=null!==(e=p("../package.json",N))&&void 0!==e?e:{};g.name(d.cmd).usage("<command> [option]").description(d.desc).version(d.version(z),"-v, --version",m.version).helpOption("-h, --help",m.help).helpCommand("help [command]",m.helpCmd),g.command("build").alias("b").option("-a, --analyze [val]",r.buildOpts.useAnalyzer,y.useAnalyzer,!1).option("-s, --compress [val]",r.buildOpts.useCompressor,y.useCompressor,!1).option("-c, --lintcss [val]",r.buildOpts.useCsslint,y.useCsslint,!1).option("-j, --lintjs [val]",r.buildOpts.useJslint,y.useJslint,!1).option("-m, --mode [val]",r.buildOpts.mode,y.mode,"").option("-n, --named [val]",r.buildOpts.useHash,y.useHash,!1).option("-p, --polyfill [val]",r.buildOpts.polyfill,y.polyfill,"").option("-t, --timed [val]",r.buildOpts.useTimer,y.useTimer,!1).description(m.build).action(c),g.command("create").alias("c").option("-f, --frame [val]",r.createOpts.frame,h.frame,"").option("-i, --install [val]",r.createOpts.useInstaller,h.useInstaller,!1).option("-n, --name [val]",r.createOpts.appName,h.appName,"").option("-s, --style [val]",r.createOpts.style,h.style,"").option("-t, --typescript [val]",r.createOpts.useTs,h.useTs,!1).description(m.create).action(u),g.command("dev").alias("d").option("-e, --encrypt [val]",r.devOpts.useHttps,j.useHttps,!1).option("-c, --lintcss [val]",r.devOpts.useCsslint,j.useCsslint,!1).option("-j, --lintjs [val]",r.devOpts.useJslint,j.useJslint,!1).option("-o, --open [val]",r.devOpts.useOpener,j.useOpener,!1).option("-p, --port [val]",r.devOpts.port,j.port,0).description(m.dev).action(v),g.command("init").alias("i").option("-n, --name [val]",r.initOpts.mateName,C.mateName,"").option("-t, --template [val]",r.initOpts.template,C.template,"").description(m.init).action(O),g.command("locale").alias("l").description(m.locale).action(f),g.command("remove").alias("r").description(m.remove).action(b),g.parse(t);