bruce-cli
Version:
A JS/React App automation build scaffolding with zero-configuration and out-of-the-box
1 lines • 1.72 kB
JavaScript
var x=this&&this.__awaiter||function(o,e,n,s){return new(n||(n=Promise))((function(i,l){function t(o){try{d(s.next(o))}catch(o){l(o)}}function r(o){try{d(s.throw(o))}catch(o){l(o)}}function d(o){var e;o.done?i(o.value):(e=o.value,e instanceof n?e:new n((function(o){o(e)}))).then(t,r)}d((s=s.apply(o,e||[])).next())}))};import{exit as s}from"node:process";import{CheckPath as He,ReadJson as p,RemoveDir as eo}from"@yangzw/bruce-us/dist/node.js";import no from"ora";import{CreateWebpack as pe,ParseConfig as W}from"../configs/index.js";import{BuildAnswer as Ce}from"../helpers/index.js";import{BUILD_TEXT as oo}from"../langs/index.js";import{JudgeFile as L,ShowTitle as io}from"../utils/index.js";export default function c(o){return x(this,void 0,void 0,(function*(){var e;io("build");const n=L("","configFile"),i=L("src"),{buildError:l,buildSuccess:t,useTs:r}=yield W();n||(console.log(oo.judgeBrucerc),s(1)),He("node_modules")||(console.log(oo.judgeModules),s(1)),He("package.json")||(console.log(oo.judgePackage),s(1)),r&&!He("tsconfig.json")&&(console.log(oo.judgeTsconfig),s(1)),i||(console.log(oo.judgeIndexes),s(1));const{analyze:d,compress:u,lintcss:c,lintjs:a,mode:m,named:f,polyfill:g,timed:j}=o,y=d||u||c||a||m||f||g||j?{mode:""===m?"prod":m,polyfill:""===g?"es6":g,useAnalyzer:d,useCompressor:u,useCsslint:c,useHash:f,useJslint:a,useTimer:j}:yield Ce(),v=no(oo.doing).start(),{mode:h,useAnalyzer:x,useTimer:w}=y,{name:b="unknown",version:k="1.0.0"}=null!==(e=p("package.json"))&&void 0!==e?e:{};!w&&eo(`dist/${h}`),v.stop();const{dist:z,flag:T}=yield pe(y);T?(console.log(oo.done(b,k,h)),yield null==t?void 0:t({dist:z,mode:h})):(console.log(oo.undone),yield null==l?void 0:l({dist:z,mode:h})),!x&&s(1)}))}