@minionorg/cli
Version:
脚手架工具
2 lines • 25.1 kB
JavaScript
(()=>{var e={733:(e,t,n)=>{const i=n(390),s="Coding Style",o="Code Detection",c="Code Formatter",r="Commit Message Style",a="Git Hooks",l="Release",p={options:{version:"Output current version",help:"Display command help"},command:{config:{desc:"Management project",options:{type:"Select the framework for the front end",lang:"Select language: js | ts (default: js)"},select:{message:"Select a configuration item to add?",choices:[{name:s,finish:`🎊 ${i.success(s)} option configuration complete.\n`},{name:o,finish:`🎊 ${i.success(o)} option configuration complete: run ${i.info("'npm run lint'")} to see the effect.\n`},{name:c,finish:`🎊 ${i.success(c)} option configuration complete.\n`},{name:r,finish:`🎊 ${i.success(r)} option configuration complete: run ${i.info("'git cz'")} to see the effect.\n`},{name:a,before:"Whether to configure code verification before submission",reject:`eslint is not installed. Run ${i.info("ESLINT")} and try again`,finish:`🎊 ${i.success(a)} option configuration complete: You can change some test files and push them to see the effect.\n`},{name:l,finish:`🎊 ${i.success(l)} option configuration complete: run ${i.info("'npm run release'")} to see the effect.\n`,changelog:`${i.info("CHANGELOG.md")} is automatically created?`}]}}},common:{exist:function(e){return`${e} is not exist`},parse:function(e){return`${e} unable to parse`},start:function(e){return`Start execution ${i.info(e)} \n`},replace:function(e,t){return"package.json"===e?`The rule already exists in ${i.info(e)}. Delete the rule and replace it with ${i.warning(t)}?`:t&&e!==t?`${i.info(e)} already exists. Use ${i.warning(t)} instead?`:`${i.info(e)} already exists. Replace or not?`},check:function(e){return`Check in ${i.info(e)}...\n`},version:function(e,t,n){return`${i.info(e)} is ${i.info(t)}, whether to install ${i.warning(n)} instead?`},render:{start:function(e){return`✨ ${i.info(e)} is being created...\n`},finish:function(e){return`Success: ${i.success(e)} created successfully\n`}},install:{start:function(e){return`✨ ${i.info(e)} is being installed...\n`},finish:function(e){return`Success: ${i.success(e)} installation completed\n`}},scripts:{replace:function(e){return`The command line ${i.info(e)} already exists. Replace or not?`},start:function(e){return`✨ The command line ${i.info(e)} is being written...\n`},finish:function(e){return`Success: The ${i.success(e)} command line is complete\n`}}},nodeVersion:function(e,t,n){return`The current Node version is ${i.info(e)}, but ${i.info(t)} requires Node version ${i.warning(n)}.\n Please update the Node version.`},git:{installed:`${i.warning("git")} is not installed. Please download and install it from the official website ${i.info("https://git-scm.com")}`,init:{check:`Check the project ${i.info("git")} repository\n`,message:`Not ${i.info("git repository")}, git initialization now?`,reject:`${i.warning("git initialize and retry the command yourself")}`,start:`Start ${i.info("git init")}\n`}},prompts:{checkbox:{tip:`(${i.bold("<space>")} select,${i.bold("<a>")} select all,${i.bold("<i>")} reverse selection,${i.bold("<enter>")} continue)`}}};e.exports=p},289:(e,t,n)=>{const i=n(697),s=n(733),o=n(491);e.exports=function(e="zh"){const t={zh:{...i},en:{...s}}[e="zh"!==e?"en"!==e?e:"en":"zh"],n={zh:{exists:function(e){return`${e} 不存在`}},en:{exists:function(e){return`${e} is not exists`}}}[e];return function(e){const i=o(t,e);if(!i)throw new SyntaxError(n.exists(e));return i}}},697:(e,t,n)=>{const i=n(390),s="编码风格",o="代码检测",c="代码格式化",r="提交规范",a="Git钩子",l="版本管理",p={options:{version:"输出当前版本",help:"显示命令帮助"},command:{config:{desc:"管理项目",options:{type:"选择前端的框架",lang:"选择语言: js 或 ts (默认: js)"},select:{message:"选择一个配置项进行添加?",choices:[{name:s,finish:`🎊 ${i.success(s)} 选项配置完成.\n`},{name:o,finish:`🎊 ${i.success(o)} 选项配置完成: 运行 ${i.info("'npm run lint'")} 查看效果.\n`},{name:c,finish:`🎊 ${i.success(c)} 选项配置完成\n`},{name:r,finish:`🎊 ${i.success(r)} 选项配置完成: 运行 ${i.info("'git cz'")} 查看效果.\n`},{name:a,before:"是否配置提交前的代码校验",reject:`eslint 没有安装. 请执行 ${i.info("ESLINT")} 并重试命令`,finish:`🎊 ${i.success(a)} 选项配置完成: 可以更改一些测试文件并将它们推送来查看效果.\n`},{name:l,finish:`🎊 ${i.success(l)} 选项配置完成: 运行 ${i.info("'npm run release'")} 查看效果.\n`,changelog:`${i.info("CHANGELOG.md")} 自动创建?`}]}}},common:{exist:function(e){return`${e} 不存在`},parse:function(e){return`${e} 无法解析`},start:function(e){return`开始执行 ${i.info(e)} \n`},replace:function(e,t){return"package.json"===e?`规则已经在 ${i.info(e)} 中,请自行删除该规则,使用 ${i.warning(t)} 替换?`:t&&e!==t?`${i.info(e)} 已存在. 使用 ${i.warning(t)} 替换?`:`${i.info(e)} 已存在. 是否替换?`},check:function(e){return`检测 ${i.info(e)} 中...\n`},version:function(e,t,n){return`${i.info(e)} 是 ${i.info(t)} ,是否安装 ${i.warning(n)} 来替换?`},render:{start:function(e){return`✨ ${i.info(e)} 正在创建...\n`},finish:function(e){return`成功: ${i.success(e)} 创建完成\n`}},install:{start:function(e){return`✨ ${i.info(e)} 正在安装...\n`},finish:function(e){return`成功: ${i.success(e)} 安装完成\n`}},scripts:{replace:function(e){return`命令行 ${i.info(e)} 已存在. 是否替换?`},start:function(e){return`✨ 命令行 ${i.info(e)} 正在编写...\n`},finish:function(e){return`成功: 命令行 ${i.success(e)} 编写完成\n`}}},nodeVersion:function(e,t,n){return`当前 Node 版本是 ${i.info(e)}, 但 ${i.info(t)} 需要Node版本 ${i.warning(n)} 来支持.\n请更新 Node 版本.`},git:{installed:`没有安装 ${i.warning("git")} ,请到官网下载安装 ${i.info("https://git-scm.com")}`,init:{check:`检测项目 ${i.info("git")} 仓库\n`,message:`不是 ${i.info("git")} 仓库,现在进行 ${i.warning("git 初始化")}?`,reject:`${i.warning("请自行 git 初始化并重试命令")}`,start:`开始 ${i.info("git 初始化")}\n`}},prompts:{checkbox:{tip:`(${i.bold("<空格>")} 选择,${i.bold("<a>")} 全选,${i.bold("<i>")} 反选,${i.bold("<回车>")} 继续)`}}};e.exports=p},572:(e,t,n)=>{const i=n(290),s=n(765);e.exports=function(e){return i.registerPrompt("checkbox",function(e,t){return new Proxy(e,{construct(e,n){const i=new e(...n);return new Proxy(i,{get:(e,n)=>"i18n"===n?t:e[n]})}})}(s,e)),i}},765:(e,t,n)=>{const i=n(423),s=n(22),o=n(16);e.exports=class extends i{constructor(e,t,n){super(e,t,n)}render(e){let t=this.getQuestion(),n="";if(this.dontShowHints||(t+=this.i18n("prompts.checkbox.tip")),"answered"===this.status)t+=s.cyan(this.selection.join(", "));else{const e=function(e,t){let n="",i=0;return e.forEach(((e,c)=>{if("separator"===e.type)return i++,void(n+=" "+e+"\n");if(e.disabled)i++,n+=" - "+e.name,n+=` (${"string"==typeof e.disabled?e.disabled:"Disabled"})`;else{const r=(e.checked?s.green(o.radioOn):o.radioOff)+" "+e.name;n+=c-i===t?s.cyan(o.pointer+r):" "+r}n+="\n"})),n.replace(/\n$/,"")}(this.opt.choices,this.pointer),n=this.opt.choices.indexOf(this.opt.choices.getChoice(this.pointer)),i=this.opt.choices.reduce(((e,t,i)=>{if(i>n)return e;if("separator"===t.type)return e+1;let s=t.name;return"string"!=typeof s?e+1:(s=s.split("\n"),e+s.length)}),0)-1;t+="\n"+this.paginator.paginate(e,i,this.opt.pageSize)}e&&(n=s.red(">> ")+e),this.screen.render(t,n)}}},495:(e,t,n)=>{const i=n(303),s=n(414),o=n(508),c=n(383),r=n(921),a=n(583),l=n(973),p=n(591);e.exports=(...e)=>async function(e){const[t,n,i,m]=e,{inquirer:u}=i,f=u.prompt,g="command.config.select.choices",{select:d}=await f({type:"checkbox",name:"select",message:n("command.config.select.message"),choices:[{name:n(`${g}.0.name`),value:"editor"},{name:n(`${g}.1.name`),value:"eslint"},{name:n(`${g}.2.name`),value:"prettier"},{name:n(`${g}.3.name`),value:"commit"},{name:n(`${g}.4.name`),value:"hooks"},{name:n(`${g}.5.name`),value:"release"}]});if(!d||0===d.length)return;const h={editor:s,eslint:o,prettier:c,commit:r,hooks:a,release:l};for(let t=0;t<d.length;t++){const i=h[d[t]];if(i&&"function"==typeof i){const s=p();s.start(n("common.start")(n(`${g}.${t}.name`))),await i(e,s)}}}(e).catch((e=>{i.error(e),process.exit(1)}))},623:e=>{e.exports={"eslint-config-prettier":"@8.4.0","eslint-define-config":"@1.2.5","eslint-plugin-import":"@2.25.4","eslint-plugin-prettier":"@4.0.0","eslint-plugin-vue":"@8.4.1","@babel/eslint-parser":"@7.17.0","@typescript-eslint/parser":"@5.14.0","@typescript-eslint/eslint-plugin":"@5.14.0",eslint:"@8.10.0",prettier:"@2.5.1","release-it":"@14.12.4","@release-it/bumper":"@3.0.1","conventional-changelog-cli":"@2.2.2","conventional-changelog-chestnut":"@1.1.2",commitizen:"@4.2.4","cz-conventional-changelog":"@3.3.0",husky:"@7.0.4","@commitlint/cli":"@16.2.1","@commitlint/config-conventional":"@16.2.1","lint-staged":"@12.3.4"}},921:(e,t,n)=>{const i=n(228),s=n(796),o=n(190),c=n(595),r=n(325),a=n(17),l=n(470),p=n(623),m=n(491);e.exports=async function(e,t){const[n,u,f,g]=e;await i(e,t);const d=s(e,t);t.start(u("common.check")("commitizen"));const{stdout:h}=await r("npm",["root","-g"]),w=a.resolve(h,"commitizen/package.json");const y=!!l.existsSync(w)&&await async function(){try{let e=await l.readFile(w,"utf-8");return e=JSON.parse(e),{name:"commitizen",version:m(e,"version")}}catch(e){return!1}}();t.stop(),await c.verify(e,y,"commitizen",p.commitizen,"global"),await d("cz-conventional-changelog"),await o(e,t,".czrc",[".czrc","package.json"],"config.commitizen"),t.succeed(u("command.config.select.choices.3.finish"))}},414:(e,t,n)=>{const i=n(190);e.exports=async function(e,t){const[n,s,o,c]=e;await i(e,t,".editorconfig",[".editorconfig"],"editor"),t.succeed(s("command.config.select.choices.0.finish"))}},508:(e,t,n)=>{const i=n(623),s=n(491),o=n(937),c=n(136),r=n(796),a=n(190),l=n(205),p=n(279),m=n(17);n(147);e.exports=async function(e,t){const[n,u,f,g]=e,d=n||process.cwd(),{inquirer:h}=f,w=h.prompt,{type:y,lang:v}=g;let $={"eslint-config-prettier":i["eslint-config-prettier"],"eslint-define-config":i["eslint-define-config"],"eslint-plugin-import":i["eslint-plugin-import"],"eslint-plugin-prettier":i["eslint-plugin-prettier"]};"vue"===y&&Object.assign($,{"eslint-plugin-vue":i["eslint-plugin-vue"]}),v&&"js"!==v?"ts"===v&&Object.assign($,{"@typescript-eslint/parser":i["@typescript-eslint/parser"],"@typescript-eslint/eslint-plugin":i["@typescript-eslint/eslint-plugin"]}):Object.assign($,{"@babel/eslint-parser":i["@babel/eslint-parser"]});const x=r(e,t),j=c(e,t);await x("eslint");for(let e in $)await x(e);const k=await p.configFile(e,[".eslintrc.js",".eslintrc.cjs",".eslintrc.yaml",".eslintrc.yml",".eslintrc.json"],"eslint");let b=!1;if(t.stop(),k.exists){const{overwrite:e}=await w({type:"confirm",name:"overwrite",message:u("common.replace")(k.fileName,".eslintrc.js")});b=e}if(!k.exists||b){t.start(u("common.render.start")(".eslintrc.js"));const e=await l.getTmpFilePath("project/.eslintrc.js"),n=m.resolve(d,".eslintrc.js");await l.parseTmpFile(e,n,{lang:v||"js",type:y}),t.succeed(u("common.render.finish")(".eslintrc.js"))}await a(e,t,".eslintignore",[".eslintignore"],"eslint"),t.start(u("common.check")("lint"));const S=await o(e),N=s(S,"scripts.lint");t.stop();let q=!1;if(N){const{overwrite:e}=await w({type:"confirm",name:"overwrite",message:u("common.scripts.replace")("lint")});q=e}N&&!q||await j("lint","eslint --quiet --ext .vue,.js,.ts,.jsx,.tsx src/",S),t.succeed(u("command.config.select.choices.1.finish"))}},583:(e,t,n)=>{const i=n(228),s=n(595),o=n(17),c=n(470),r=n(796),a=n(205),l=n(190);e.exports=async function(e,t){const[n,p,m,u]=e,f=n||process.cwd(),{inquirer:g}=m,d=g.prompt;await i(e,t);const h=r(e,t);function w(){t.succeed(p("command.config.select.choices.4.finish"))}await h("husky"),await h("@commitlint/cli"),await h("@commitlint/config-conventional"),await l(e,t,"commitlint.config.js",[".commitlintrc",".commitlintrc.json",".commitlintrc.yaml",".commitlintrc.yml",".commitlintrc.js",".commitlintrc.cjs",".commitlintrc.ts",".commitlintrc.cts","commitlint.config.js","commitlint.config.cjs","commitlint.config.ts","commitlint.config.cts","package.json"],"commitlint");const y=o.resolve(f,".husky/commit-msg"),v=c.existsSync(y);let $=!1;if(v){const{overwrite:e}=await d({type:"confirm",name:"overwrite",message:p("common.replace")(".husky/commit-msg")});$=e}v&&!$||await a.render(e,"commit-msg",".husky");let{preCommitToCheck:x}=await d({type:"confirm",name:"preCommitToCheck",message:p("command.config.select.choices.4.before")});if(!x)return w();t.start(p("common.check")("eslint"));const j=await s.check(e,"eslint");t.stop(),j||(console.log(p("command.config.select.choices.4.reject")),process.exit(1)),await h("lint-staged"),await l(e,t,".lintstagedrc",[".lintstagedrc",".lintstagedrc.json",".lintstagedrc.yaml",".lintstagedrc.yml",".lintstagedrc.mjs","lint-staged.config.mjs",".lintstagedrc.cjs","lint-staged.config.cjs","lint-staged.config.js",".lintstagedrc.js"],"lint-staged");const k=o.resolve(f,".husky/pre-commit"),b=c.existsSync(k);let S=!1;if(b){const{overwrite:e}=await d({type:"confirm",name:"overwrite",message:p("common.replace")(".husky/pre-commit")});S=e}b&&!S||await a.render(e,"pre-commit",".husky"),w()}},383:(e,t,n)=>{const i=n(796),s=n(190);e.exports=async function(e,t){const[n,o,c,r]=e,a=i(e,t);await a("prettier"),await s(e,t,".prettierrc",["package.json",".prettierrc",".prettierrc.json",".prettierrc.yml",".prettierrc.yaml",".prettierrc.json5",".prettierrc.js",".prettierrc.cjs","prettier.config.js","prettier.config.cjs",".prettierrc.toml"],"prettier"),await s(e,t,".prettierignore",[".prettierignore"],"prettier"),t.succeed(o("command.config.select.choices.2.finish"))}},973:(e,t,n)=>{const i=n(17),s=n(491),o=n(937),c=n(136),r=n(228),a=n(796),l=n(279),p=n(205),m=n(190);e.exports=async function(e,t){const[n,u,f,g]=e,d=n||process.cwd(),{inquirer:h}=f,w=h.prompt,y=c(e,t),v=a(e,t);async function $(n,i){t.start(u("common.check")(n));const c=await o(e),r=s(c,`scripts.${n}`);t.stop();let a=!1;if(r){const{overwrite:e}=await w({type:"confirm",name:"overwrite",message:u("common.scripts.replace")(n)});a=e}r&&!a||await y(n,i,c)}await r(e,t),await v("release-it"),await v("@release-it/bumper"),await v("conventional-changelog-cli"),await v("conventional-changelog-chestnut");const x=await l.configFile(e,[".release-it.json",".release-it.js",".release-it.cjs",".release-it.yaml",".release-it.yml"],"release-it");let j=!1;if(t.stop(),x.exists){const{overwrite:e}=await w({type:"confirm",name:"overwrite",message:u("common.replace")(x.fileName,".release-it.json")});j=e}let k=!1;if(!x.exists||j){const{changelog:e}=await w({type:"confirm",name:"changelog",message:u("command.config.select.choices.5.changelog")});k=e,t.start(u("common.render.start")(".release-it.json"));const n=await p.getTmpFilePath("project/.release-it.json"),s=i.resolve(d,".release-it.json");await p.parseTmpFile(n,s,{hasChangelog:k}),t.succeed(u("common.render.finish")(".release-it.json"))}k&&await m(e,t,".chestnutlogrc",[".chestnutlogrc"],"chestnutlog"),await $("release","release-it"),await $("changelog","conventional-changelog -p chestnut -i CHANGELOG.md -s -r 0"),t.succeed(u("command.config.select.choices.5.finish"))}},279:(e,t,n)=>{const i=n(470),s=n(17),o=n(912),c=n(325),r=n(491),a=n(937);e.exports=class{static async hasGit(){try{const{stdout:e}=await c("git",["--version"]);return e}catch(e){return!1}}static async hasGitInited(){try{const{stdout:e}=await c("git",["rev-parse","--is-inside-work-tree"]);return e}catch(e){return!1}}static nodeVersion(e){return o.satisfies(process.version,e,{includePrerelease:!0})}static async hasGlobalPackage(e){try{const{stdout:t}=await c("npm",["list","-g","--depth=0","--json",e]),n=JSON.parse(t);return!!n.dependencies&&{name:e,version:r(n,`dependencies.${e}.version`)}}catch(e){return!1}}static async hasPackage(e,t){const n=e||process.cwd();if(!i.existsSync(s.join(n,"node_modules")))return!1;const o=s.join(n,"node_modules",t);if(!i.existsSync(o))return!1;const c=s.join(o,"package.json");if(!i.existsSync(c))return!1;const r=JSON.parse(i.readFileSync(c));return!(!r.name||r.name!==t)&&{name:r.name,version:r.version}}static packageVersion(e,t){return o.satisfies(e,t.split("@").pop())}static async configFile(e,t=[],n){const[o]=e,c=o||process.cwd(),l={exists:!1,fileName:""};if(!Array.isArray(t))throw new TypeError(`${t} is not array`);if(0===t.length)throw new RangeError(`${t} length is 0`);for(let o=0;o<t.length;o++){const p=t[o];if("package.json"===p){if(!n)throw new SyntaxError("package.json need module name");const t=await a(e);if(r(t,n)){Object.assign(l,{exists:!0,fileName:p});break}}else{const e=i.existsSync(s.resolve(c,p));if(e){Object.assign(l,{exists:e,fileName:p});break}}}return l}}},595:(e,t,n)=>{const i=n(279),s=n(591),o=n(303),c=n(325);e.exports=class e{static async check(e,t){const[n]=e,s=await i.hasGlobalPackage(t);return s||await i.hasPackage(n,t)}static async verify(t,n,s,o,c="dev"){const[r,a,l]=t,{inquirer:p}=l,m=p.prompt;if(n){if(!i.packageVersion(n.version,o)){const{overwrite:t}=await m({type:"confirm",name:"overwrite",message:a("common.version")(s,n.version,o)});t&&await e.install(a,r,s,o,c)}}else await e.install(a,r,s,o,c)}static async install(e,t,n,i,r="dev"){const a=s();a.start(e("common.install.start")(n)),r="global"===r?"-g":"dev"===r?"--save-dev":"--save";try{const{stdout:s}=await c("npm",["install",`${n}${i}`,r],{cwd:t});return a.succeed(e("common.install.finish")(n)),s}catch(e){a.stop(),o.error(e)}}}},205:(e,t,n)=>{const i=n(470),s=n(97),o=n(325),c=n(17),r=n(591),a=n(147);e.exports=class{static async getTmpFilePath(e,t=a.name){const{stdout:n}=await o("npm",["root","-g"]);return c.resolve(n,`./${t}/template/${e}`)}static async copyTmpFile(e,t){try{return await i.copy(e,t),!0}catch(e){return!1}}static async parseTmpFile(e,t,n={}){s.registerHelper("equals",(function(e,t,n){return e===t?n.fn(this):n.inverse(this)}));try{const o=(await i.readFile(e)).toString(),c=s.compile(o)(n);return await i.writeFile(t,c),!0}catch(e){return!1}}static async render(e,t,n,i){const[s,o]=e,a=s||process.cwd(),l=r();l.start(o("common.render.start")(t));const p=await this.getTmpFilePath(i?`${i}/${t}`:`project/${t}`),m=c.resolve(a,n?`${n}/${t}`:t);await this.copyTmpFile(p,m),l.succeed(o("common.render.finish")(t))}}},136:(e,t,n)=>{const i=n(17),s=n(937),o=n(491),c=n(470);e.exports=function(e,t){const[n,r]=e;return async function(a,l,p){const m=n||process.cwd();p=p||await s(e);if(!o(p,"scripts"))throw new Error(r("common.exist")("package.json scripts"));t.start(r("common.scripts.start")(a)),p.scripts[a]=l;const u=i.join(m,"package.json");await c.writeFile(u,JSON.stringify(p,null,"\t")),t.succeed(r("common.scripts.finish")(a))}}},190:(e,t,n)=>{const i=n(279),s=n(205);e.exports=async function(e,t,n,o,c){const[r,a,l]=e,{inquirer:p}=l,m=p.prompt,u=await i.configFile(e,o,c);t.stop();let f=!1;if(u.exists){const{overwrite:e}=await m({type:"confirm",name:"overwrite",message:a("common.replace")(u.fileName,n)});f=e}u.exists&&!f||await s.render(e,n)}},228:(e,t,n)=>{const i=n(279),s=n(325);e.exports=async function(e,t){const[n,o,c,r]=e,a=n||process.cwd(),{inquirer:l}=c,p=l.prompt;t.start(o("common.check")("git"));const m=await i.hasGit();t.stop(),m||(console.log(),console.log(o("git.installed")),console.log(),process.exit(1)),t.start(o("git.init.check"));const u=await i.hasGitInited();if(t.stop(),!u){const{init:e}=await p({type:"confirm",name:"init",message:o("git.init.message")});e||(console.log(),console.log(o("git.init.reject")),console.log(),process.exit(1)),t.start(o("git.init.start")),await s("git",["init"],{cwd:a}),t.stop()}}},937:(e,t,n)=>{const i=n(17),s=n(470);e.exports=async function(e){const[t,n]=e,o=t||process.cwd(),c=i.join(o,"package.json");let r;try{r=await s.readFile(c,"utf-8")}catch(e){throw new Error(n("common.exist")("package.json"))}try{r=JSON.parse(r)}catch(e){throw new Error(n("common.parse")("package.json"))}return r}},491:e=>{e.exports=function(e,t,n=void 0,i="."){if(!function(e,t="."){if(!e)return!1;const n=e.trim().split(t);for(const e of n)if(!e||/\s/.test(e))return!1;return!0}(t,i))throw new Error(`Invalid: ${t}`);const s=t.trim().split(i);let o=e;for(const e of s)if(Array.isArray(o)&&/^\d+$/.test(e)){const t=parseInt(e,10);if(!(t<o.length))return n;o=o[t]}else{if("object"!=typeof o||!(e in o))return n;o=o[e]}return o}},796:(e,t,n)=>{const i=n(279),s=n(595),o=n(623);e.exports=function(e,t){const[n,c]=e;return async function(n,r=!1){t.start(c("common.check")(n));let a=!1;a=r?await i.hasGlobalPackage(n):await s.check(e,n),t.stop(),await s.verify(e,a,n,o[n],r?"global":"dev")}}},84:(e,t,n)=>{const{cosmiconfigSync:i,defaultLoaders:s}=n(799);e.exports=function(e,t){return i(e,{searchPlaces:t,loaders:{".ts":s[".js"],".cts":s[".js"],".mjs":s[".js"]}}).search()}},390:(e,t,n)=>{const i=n(22);e.exports={info:e=>i.hex("#00afef")(e),success:e=>i.hex("#00c48f")(e),warning:e=>i.hex("#ff9800")(e),error:e=>i.hex("#f44336")(e),bold:e=>i.cyan.bold(e)}},303:(e,t,n)=>{const i=n(22);e.exports={info(e){console.log(i.hex("#00afef")(e))},success(e){console.log(i.hex("#00c48f")(e))},warning(e){console.log(i.hex("#ff9800")(e))},error(e){console.log(i.hex("#f44336")(e))}}},22:e=>{"use strict";e.exports=require("chalk")},304:e=>{"use strict";e.exports=require("commander")},799:e=>{"use strict";e.exports=require("cosmiconfig")},325:e=>{"use strict";e.exports=require("execa")},16:e=>{"use strict";e.exports=require("figures")},470:e=>{"use strict";e.exports=require("fs-extra")},97:e=>{"use strict";e.exports=require("handlebars")},290:e=>{"use strict";e.exports=require("inquirer")},423:e=>{"use strict";e.exports=require("inquirer/lib/prompts/checkbox")},591:e=>{"use strict";e.exports=require("ora")},912:e=>{"use strict";e.exports=require("semver")},17:e=>{"use strict";e.exports=require("path")},147:e=>{"use strict";e.exports=JSON.parse('{"name":"@minionorg/cli","version":"1.0.0","description":"脚手架工具","keywords":["@minionorg","cli","CLI","project","脚手架"],"author":"Evan","main":"index.js","bin":{"@minionorg/cli":"./bin/index.js"},"scripts":{"dev":"cross-env NODE_ENV=development webpack --watch --config config/webpack.config.dev.js --progress","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.prod.js","release":"release-it","changelog":"conventional-changelog -p chestnut -i CHANGELOG.md -s -r 0","lint":"eslint --quiet --ext .js,.ts src/","docs:dev":"vitepress dev docs --port 8080","docs:build":"vitepress build docs","docs:serve":"vitepress serve docs --port 8090"},"repository":{"type":"git","url":"https://gitee.com/chestnut-china/webpack-chestnut-cli.git"},"license":"ISC","engines":{"node":"^14.17.0 || >=16.0.0"},"devDependencies":{"@babel/eslint-parser":"^7.17.0","@commitlint/cli":"^16.2.1","@commitlint/config-conventional":"^16.2.1","@release-it/bumper":"^3.0.1","clean-webpack-plugin":"^4.0.0","conventional-changelog-chestnut":"^1.1.2","conventional-changelog-cli":"^2.2.2","cross-env":"^7.0.3","cz-conventional-changelog":"^3.3.0","escape-html":"^1.0.3","eslint":"^8.10.0","eslint-config-prettier":"^8.4.0","eslint-define-config":"^1.2.5","eslint-plugin-import":"^2.25.4","eslint-plugin-prettier":"^4.0.0","husky":"^7.0.4","less":"^4.1.3","lint-staged":"^12.3.4","markdown-it":"^13.0.1","markdown-it-container":"^3.0.0","nodemon":"^2.0.22","prismjs":"^1.29.0","release-it":"^14.12.4","terser-webpack-plugin":"^5.3.1","uglify-js":"^3.15.1","webpack":"^5.80.0","webpack-cli":"^4.10.0","webpack-merge":"^5.8.0","webpack-node-externals":"^3.0.0","vitepress":"^0.22.4"},"dependencies":{"chalk":"^4.1.2","commander":"^9.0.0","cosmiconfig":"^8.1.3","execa":"^5.1.1","fs-extra":"^10.0.0","handlebars":"^4.7.7","inquirer":"^8.2.0","ora":"^5.4.1","semver":"^7.3.5"}}')}},t={};function n(i){var s=t[i];if(void 0!==s)return s.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}(()=>{const e=n(147),t=e.engines.node,i=e.name,s=process.cwd(),o=n(279),c=n(84),r=n(390),a=n(289),l=n(572);o.nodeVersion(t)||(console.log(r.error(p("nodeVersion")(process.version,i,t))),process.exit(1));let p=a();const m=c("minionorg",[".minionorgrc.json"]);if(m){const{config:e}=m;p=a(e.lang||"zh")}const{Command:u}=n(304),f=new u;f.name(i).usage("<command> [options]"),f.version(`${i} ${e.version}`,"-v, --version",p("options.version")),f.helpOption("-h, --help",p("options.help")),f.addHelpCommand("help [command]",p("options.help"));const g={inquirer:l(p)};f.command("project").description(p("command.config.desc")).option("--type <type>",p("command.config.options.type")).option("--lang <string>",p("command.config.options.lang")).action((e=>{const{type:t,lang:i}=e;return i&&!["js","ts"].includes(i)?console.log(r.error("lang value only 'js' or 'ts'")):t&&!["vue"].includes(t)?console.log(r.error("type value only 'vue'")):void n(495)(s,p,g,e)})),f.parse(process.argv)})()})();