@baic/yolk-cli 2.1.0-alpha.96 → 2.1.0-alpha.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/yolk.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #! /usr/bin/env node
2
- import e from"@babel/runtime/helpers/esm/toArray";import t from"@babel/runtime/helpers/esm/toConsumableArray";import n from"@babel/runtime/helpers/esm/defineProperty";import r from"lodash/isString";import o from"lodash/pick";import c from"lodash/floor";import i from"lodash/chunk";function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}import{execSync as m,spawn as l}from"child_process";import p from"fs";import u from"os";import f from"path";import d from"inquirer";import*as y from"miniprogram-ci";import g from"ora";import h from"../compiled/commander";import v from"../compiled/glob";import b from"../compiled/minimatch";import j from"../compiled/mkdirp";import S from"../compiled/mustache";import{format as x}from"../compiled/prettier";import k from"../compiled/rimraf";import w from"../package.json";var P=require("../compiled/staged-git-files"),O=process.cwd(),F="##### CREATED BY YOLK #####",E={ts:"typescript",tsx:"typescript",less:"less",sass:"scss",scss:"scss",css:"css"},B="utf-8",D=20,I=["**/node_modules/**","**/.umi/**","**/.umi-production/**","**/build/**","**/dist/**","**/lib/**","**/es/**","**/public/**","**/assets/**","**/h5+app/**","**/android/**","**/ios/**","**/mock/**","**/yolk*/**"],q=g(),$=function(e){return e&&q.warn(Buffer.from(e,B).toString())},N=function(e){return e&&q.fail(Buffer.from(e,B).toString())},Q=function(e){return e&&q.succeed(Buffer.from(e,B).toString())},R=function(e){return e&&q.info(Buffer.from(e,B).toString())},T=function(e){return"win32"===process.platform?"".concat(e,".cmd"):e},_=function(){Q("yolk complete!"),process.exit(0)},A=function(){$("yolk break!"),process.exit(0)},K=function(e){var t=e.command,n=e.args,r=e.complete,o=e.close,c=e.exit,i=void 0===c||c,s=l(T(t),n||[],{stdio:"inherit"}).on("close",(function(e){e?(o&&o(),N("yolk close!"),process.exit(e)):(r&&r(),i&&_())}));process.on("SIGINT",(function(){h.runningCommand&&h.runningCommand.kill("SIGKILL"),s.kill(),A()}))},L=function(e,t,n){d.prompt([{type:"list",name:"type",message:"\u9009\u62e9\u6a21\u7248",default:"web",choices:[{name:"web template(umi framework)",value:"umi-web"},{name:"web big screen template(umi framework)",value:"umi-web-screen"},{name:"mobile template(umi framework)",value:"umi-mobile"},{name:"mobile HBuilderX h5+app template(umi framework)",value:"umi-mobile-h5+app"},{name:"mobile native template(umi framework)",value:"umi-mobile-native"},{name:"miniprogram template",value:"miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:f.basename(f.basename(process.cwd()))},{type:"list",name:"dependenciesInstallType",message:"\u9009\u62e9\u4f9d\u8d56\u5b89\u88c5\u65b9\u5f0f",default:"default",choices:[{name:"\u9ed8\u8ba4\u5b89\u88c5",value:"default"},{name:"\u8df3\u8fc7\u5b89\u88c5",value:!1},{name:"pnpm install",value:"pnpm"},{name:"yarn install",value:"yarn"},{name:"npm install",value:"npm"}]}]).then((function(r){var o={projectName:r.projectName,dependenciesInstallType:r.dependenciesInstallType,yolkVersion:w.version},c=t||f.join(__dirname,"../templates/".concat(r.type));Q("\u590d\u5236\u6a21\u7248 ".concat(f.basename(c)));var i=v.sync("**/*",{cwd:c,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(i.forEach((function(t){if(c){var n=f.join(c,t);if(!p.statSync(n).isDirectory())if(t.endsWith(".tpl")){var r=p.readFileSync(n,B),i=f.join(e,t.replace(/\.tpl$/,"")),s=S.render(r,o);j.sync(f.dirname(i)),Q("\u521b\u5efa ".concat(f.relative(e,i))),p.writeFileSync(i,s,B)}else{Q("\u521b\u5efa ".concat(t));var a=f.join(e,t);j.sync(f.dirname(a)),p.copyFileSync(n,a)}}})),Q("\u590d\u5236\u6a21\u7248 success!"),n&&p.existsSync(c)&&k(c,(function(){Q("\u7f13\u5b58\u5220\u9664 success! ".concat(f.basename(c||"")))})),r.dependenciesInstallType)switch(Q("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),r.dependenciesInstallType){case"default":case"pnpm":K({command:"pnpm",args:["install"]});break;case"yarn":K({command:"yarn",args:["install"]});break;case"npm":K({command:"npm",args:["install"]});break;default:}Q("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")}))},C=function(e,t){return L(e,t,!0)},J=function(){var e=v.sync("*.yolkrc*",{cwd:O,dot:!0});if(!e.length)return{};var t=f.join(O,e[0]);if(!p.existsSync(t))return{};try{return JSON.parse(p.readFileSync(t,B))||{}}catch(n){return N(n.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}},U=function(){var e=f.join(O,".prettierrc");if(p.existsSync(e))try{return JSON.parse(p.readFileSync(e,B))||{}}catch(t){return N(t.message||".prettierrc\u8f6c\u6362\u9519\u8bef"),{}}return require("./.prettierrc")},H=function(){var e=f.join(O,"project.config.json");if(!p.existsSync(e))return{};try{return JSON.parse(p.readFileSync(e,B))||{}}catch(t){return N(t.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}},V=function(){var e=f.join(O,"package.json");if(!p.existsSync(e))return{};try{return JSON.parse(p.readFileSync(e,B))||{}}catch(t){return N(t.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}},G=function(){return p.existsSync(f.join(O,"project.config.json"))},M=function(){var e=p.existsSync(f.join(O,"node_modules/.bin/max"));if(!e)try{e=p.existsSync(require.resolve("@umijs/max"))}catch(r){}if(!e)try{e=/umi@4\.(\d+)\.(\d+)/.test(m("umi -v").toString())}catch(r){}if(!e){var t=f.join(O,"node_modules","umi","package.json");if(p.existsSync(t))try{var n=JSON.parse(p.readFileSync(t,B))||{};e=n.version&&+n.version.split(".")[0]>3}catch(r){}}return e},Y=function(){var e=f.join(O,"project.config.json");if(p.existsSync(e)){var t=require(e);return t.appid}return""},W=function(){return p.existsSync(f.join(O,"project.tt.json"))&&0===Y().indexOf("tt")},X=function(){return 0===Y().indexOf("20")},z=function(){var e=J(),t="";try{t=require.resolve("@baic/eslint-config-yolk")}catch(o){}var n=v.sync("*.eslintrc*",{cwd:O,dot:!0}),r=n[0];return!1===e.strict&&r&&p.existsSync(r)?r:p.existsSync(t)?t:r},Z=function(){var e=J(),t="";try{t=require.resolve("@baic/stylelint-config-yolk")}catch(o){}var n=v.sync("*.stylelintrc*",{cwd:O,dot:!0}),r=n[0];return!1===e.strict&&r&&p.existsSync(r)?r:p.existsSync(t)?t:r},ee=function(){var e=f.join(O,".git/"),t=f.join(O,".git/hooks"),n=f.join(t,"pre-commit"),r=p.existsSync(e),o=p.existsSync(n),c=o&&p.readFileSync(n,B).includes(F);if(r&&(!o||!c)){j.sync(t),p.writeFileSync(n,["#!/usr/bin/env bash","npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",F].join(u.EOL),B);try{p.chmodSync(n,"777")}catch(i){N("chmod ".concat(n," failed: ").concat(i.message))}Q("Create pre-commit hook")}},te=function(){var e=J(),n=!1!==e.strict,r=e.eslintIgnore,o=e.stylelintIgnore;P().then((function(e){var c=function(r){return new Promise((function(c,s){var m=Z();if(m){var l=e.map((function(e){return e.filename})).filter((function(e){return/^(src|tests)/i.test(e)})).filter((function(e){return{css:/\.cs{2}$/i,less:/\.les{2}$/i,sass:/\.sas{2}$/i,scss:/\.scs{2}$/i}[r].test(e)})).filter((function(e){var t=f.join(O,e);return p.existsSync(t)})).filter((function(e){return I.every((function(t){return!b(e,t,{matchBase:!0})}))})).filter((function(e){return"string"===typeof o?!b(e,o,{matchBase:!0}):o instanceof RegExp?!o.test(e):!Array.isArray(o)||o.every((function(t){return"string"===typeof t?!b(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)}))}));if(l.length)if(l.forEach((function(e){if(e&&p.existsSync(e)){var t=f.extname(e).replace(/^\./,""),n=p.readFileSync(e,B),r=x(n,a({parser:E[t]},U()));p.writeFileSync(e,r,B)}})),Q("".concat(r," - ").concat(l.length," files prettier success!")),l.length>=D){var u=[];i(l,D).forEach((function(e){u.push(new Promise((function(o,c){K({command:"stylelint",args:[n?"--ignore-disables":"","--allow-empty-input","--custom-syntax","postcss-".concat(r),"--config",m].concat(t(e)),complete:o,close:c,exit:!1})})))}));var d=0,y=function e(){d<u.length?u[d].then((function(){d++,e()})).catch(s):(Q("".concat(r," - ").concat(l.length," files stylelint success!")),c())};y()}else l.length&&K({command:"stylelint",args:[n?"--ignore-disables":"","--allow-empty-input","--custom-syntax","postcss-".concat(r),"--config",m].concat(t(l)),complete:function(){Q("".concat(r," - ").concat(l.length," files stylelint success!")),c()},close:s,exit:!1});else c()}else N("\u6ca1\u6709 stylelintrc \u6587\u4ef6\uff0c".concat(r," files prettier fail!")),c()}))},s=function(o){return new Promise((function(c,s){var m=z();if(m){var l=e.map((function(e){return e.filename})).filter((function(e){return/^(src|tests)/i.test(e)})).filter((function(e){return{js:/\.js$/i,jsx:/\.jsx$/i,ts:/\.ts$/i,tsx:/\.tsx$/i}[o].test(e)})).filter((function(e){var t=f.join(O,e);return p.existsSync(t)})).filter((function(e){return I.every((function(t){return!b(e,t,{matchBase:!0})}))})).filter((function(e){return"string"===typeof r?!b(e,r,{matchBase:!0}):r instanceof RegExp?!r.test(e):!Array.isArray(r)||r.every((function(t){return"string"===typeof t?!b(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)}))}));if(l.length)if(l.forEach((function(e){if(e&&p.existsSync(e)){var t=f.extname(e).replace(/^\./,""),n=p.readFileSync(e,B),r=x(n,a({parser:E[t]},U()));p.writeFileSync(e,r,B)}})),Q("".concat(o," - ").concat(l.length," files prettier success!")),l.length>=D){var u=[];i(l,D).forEach((function(e){u.push(new Promise((function(r,o){K({command:"eslint",args:[n?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",m].concat(t(e)),complete:r,close:o,exit:!1})})))}));var d=0,y=function e(){d<u.length?u[d].then((function(){d++,e()})).catch(s):(Q("".concat(o," - ").concat(l.length," files eslint success!")),c())};y()}else l.length&&K({command:"eslint",args:[n?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",m].concat(t(l)),complete:function(){Q("".concat(o," - ").concat(l.length," files eslint success!")),c()},close:s,exit:!1});else c()}else N("\u6ca1\u6709 eslintrc \u6587\u4ef6\uff0c".concat(o," files eslint fail!")),c()}))};$("\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),n&&($("git commit \u7981\u6b62 lint \u7684 ignore \u884c\u4e3a"),o&&$("\u901a\u8fc7 .yolkrc \u914d\u7f6e stylelintIgnore: ".concat(o,"\u3002")),r&&$("\u901a\u8fc7 .yolkrc \u914d\u7f6e eslintIgnore: ".concat(r,"\u3002"))),c("css").then((function(){return c("less")})).then((function(){return c("sass")})).then((function(){return c("scss")})).then((function(){return s("js")})).then((function(){return s("jsx")})).then((function(){return s("ts")})).then((function(){return s("tsx")})).then(_).catch(_)}))},ne=function(e){var t=e.mProject,n=e.mPrivateKeyPath,r=e.mVersion,o=e.mDesc,c=e.mRobot,i=e.mQrcodeFormat,s=e.mQrcodeOutputDest,a=e.mPagePath,l=e.mSearchQuery,u=p.existsSync(f.join(O,".git"))?m("git log -1 --pretty=format:%H").toString():"",d=H(),g=d.appid,h=t||f.join(O,"dist"),v=n||f.join(O,"private.".concat(g,".key"));if(p.existsSync(h)){if(p.existsSync(v)){var b=V(),j=r||b.version||d.version||"1.0.0",S=o||b.description||d.description,x="version: ".concat(j,";").concat(u?" commit: ".concat(u,";"):"").concat(S?" description: ".concat(S,";"):"");u&&R("commit: ".concat(u)),R("dist: ".concat(h)),R("key: ".concat(v)),R("appid: ".concat(g)),R("version: ".concat(j)),R("desc: ".concat(x));var k=new y.Project({appid:g,type:"miniProgram",projectPath:h,privateKeyPath:v,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:g,options:{project:k,version:j,desc:x,setting:d.setting,robot:c,qrcodeFormat:i,qrcodeOutputDest:s,pagePath:a,searchQuery:l}}}throw Error("\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(".concat(v,")"))}throw Error("\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(".concat(h,")"))},re=function(){ee(),process.argv.length>2?h.version(w.version,"-v,--version","\u8f93\u51fa\u7248\u672c\u53f7").usage("[command] [options]").option("--clone","\u901a\u8fc7git clone\u62c9\u53d6\u6a21\u7248").option("--template <template>","\u6a21\u7248\u540d\u79f0\u6216\u8005clone\u6a21\u5f0f\u7684git\u5730\u5740").option("--docs","\u542f\u52a8\u6587\u6863\u6a21\u5f0f").option("--mProject <project>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u5de5\u7a0b\u76ee\u5f55").option("--mPrivateKeyPath <privateKeyPath>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20key\u6587\u4ef6").option("--mVersion <version>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u7248\u672c\u53f7").option("--mDesc <desc>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u63cf\u8ff0").option("--mRobot <robot>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20ci\u673a\u5668\u4eba1~30").option("--mQrcodeFormat <qrcodeFormat>",'\u5c0f\u7a0b\u5e8f\u9884\u89c8\u8fd4\u56de\u4e8c\u7ef4\u7801\u6587\u4ef6\u7684\u683c\u5f0f "image" \u6216 "base64"\uff0c \u9ed8\u8ba4\u503c "terminal" \u4f9b\u8c03\u8bd5\u7528').option("--mQrcodeOutputDest <qrcodeOutputDest>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u4e8c\u7ef4\u7801\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84").option("--mPagePath <pagePath>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84").option("--mSearchQuery <searchQuery>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84\u542f\u52a8\u53c2\u6570").action((function(t,n){var i=e(n),s=i[0],m=i.slice(1),l=t.clone,d=t.template,g=t.docs;if(s)switch(R("yolk version: ".concat(w.version)),R("node version: ".concat(process.version)),R("platform: ".concat(u.platform())),R("memory: ".concat(c(u.freemem()/1024/1024)," MB(").concat(c(u.totalmem()/1024/1024)," MB)")),s){case"init":if(Q("yolk ".concat(s," \u5f00\u59cb")),l)if(d){var h=".yolk",v=f.join(O,h);p.existsSync(v)&&k(v,(function(){Q("\u7f13\u5b58\u5220\u9664 success! ".concat(v))})),K({command:"git",args:["clone","-b","master","--depth","1",d,h].concat(m)}),C(O,v)}else N("--clone \u6a21\u5f0f\u5fc5\u987b\u6709--template");else L(O);break;case"start":G()?W()?K({command:"taro",args:["build","--type","tt","--watch"].concat(m)}):X()?K({command:"taro",args:["build","--type","alipay","--watch"].concat(m)}):K({command:"taro",args:["build","--type","weapp","--watch"].concat(m)}):g?K({command:"dumi",args:["dev"].concat(m)}):M()?K({command:"max",args:["dev"].concat(m)}):K({command:"umi",args:["dev"].concat(m)});break;case"build":G()?W()?K({command:"taro",args:["build","--type","tt"].concat(m)}):X()?K({command:"taro",args:["build","--type","alipay"].concat(m)}):K({command:"taro",args:["build","--type","weapp"].concat(m)}):g?K({command:"dumi",args:["build"].concat(m)}):M()?K({command:"max",args:["setup"].concat(m),complete:function(){return K({command:"max",args:["build"].concat(m)})},exit:!1}):K({command:"umi",args:["build"].concat(m)});break;case"pre-commit":te();break;case"test":K({command:"umi-test",args:["--no-cache","--update-snapshot","--runInBand","--detectOpenHandles"].concat(m)});break;case"miniapp-upload":case"miniprogram-upload":if(G())if(W());else if(X());else{var b=ne(t),j=b.appid,S=b.options;R("".concat(j,"\u4e0a\u4f20\u5f00\u59cb")),y.upload(a(a({},o(S,["project","version","desc","setting","robot"])),{},{onProgressUpdate:function(e){if(r(e))R("task: ".concat(e));else{var t=e.status,n=e.message;R("task(".concat(t,"): ").concat(n))}}})).then((function(){Q("".concat(j,"\u4e0a\u4f20\u5b8c\u6210"))}))}break;case"miniapp-preview":case"miniprogram-preview":if(G())if(W());else if(X());else{var x=ne(t),P=x.appid,F=x.options;R("".concat(P,"\u4e0a\u4f20\u9884\u89c8\u5f00\u59cb")),y.preview(a(a({},o(F,["project","version","desc","setting","robot","qrcodeFormat","qrcodeOutputDest","pagePath","searchQuery"])),{},{onProgressUpdate:function(e){if(r(e))R("task: ".concat(e));else{var t=e.status,n=e.message;R("task(".concat(t,"): ").concat(n))}}})).then((function(){Q("".concat(P,"\u4e0a\u4f20\u9884\u89c8\u5b8c\u6210"))}))}break;default:A()}})).parse(process.argv):A()};re();
2
+ import e from"@babel/runtime/helpers/esm/toArray";import t from"@babel/runtime/helpers/esm/toConsumableArray";import n from"@babel/runtime/helpers/esm/defineProperty";import o from"lodash/isString";import r from"lodash/pick";import c from"lodash/floor";import i from"lodash/chunk";function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?s(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):s(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}import{execSync as m,spawn as l}from"child_process";import p from"fs";import u from"os";import f from"path";import d from"inquirer";import*as y from"miniprogram-ci";import g from"ora";import h from"../compiled/commander";import v from"../compiled/glob";import b from"../compiled/minimatch";import j from"../compiled/mkdirp";import S from"../compiled/mustache";import{format as x}from"../compiled/prettier";import k from"../compiled/rimraf";import w from"../package.json";var O=require("../compiled/staged-git-files"),P=process.cwd(),D="##### CREATED BY YOLK #####",_={ts:"typescript",tsx:"typescript",less:"less",sass:"scss",scss:"scss",css:"css"},I="utf-8",F=20,E=["**/node_modules/**","**/.umi/**","**/.umi-production/**","**/build/**","**/dist/**","**/lib/**","**/es/**","**/public/**","**/assets/**","**/h5+app/**","**/android/**","**/ios/**","**/mock/**","**/yolk*/**"],B=g(),N=function(e){return e&&B.warn(Buffer.from(e,I).toString())},q=function(e){return e&&B.fail(Buffer.from(e,I).toString())},K=function(e){return e&&B.succeed(Buffer.from(e,I).toString())},$=function(e){return e&&B.info(Buffer.from(e,I).toString())},U=function(e){return"win32"===process.platform?"".concat(e,".cmd"):e},Q=function(){K("yolk complete!"),process.exit(0)},R=function(){N("yolk break!"),process.exit(0)},T=function(e){var t=e.command,n=e.args,o=e.complete,r=e.close,c=e.exit,i=void 0===c||c,s=l(U(t),n||[],{stdio:"inherit"}).on("close",(function(e){e?(r&&r(),q("yolk close!"),process.exit(e)):(o&&o(),i&&Q())}));process.on("SIGINT",(function(){h.runningCommand&&h.runningCommand.kill("SIGKILL"),s.kill(),R()}))},Y=function(e,t,n){d.prompt([{type:"list",name:"type",message:"\u9009\u62e9\u6a21\u7248",default:"web",choices:[{name:"web template(umi framework)",value:"umi-web"},{name:"web big screen template(umi framework)",value:"umi-web-screen"},{name:"mobile template(umi framework)",value:"umi-mobile"},{name:"mobile HBuilderX h5+app template(umi framework)",value:"umi-mobile-h5+app"},{name:"mobile native template(umi framework)",value:"umi-mobile-native"},{name:"miniprogram template",value:"miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:f.basename(f.basename(process.cwd()))},{type:"list",name:"dependenciesInstallType",message:"\u9009\u62e9\u4f9d\u8d56\u5b89\u88c5\u65b9\u5f0f",default:"default",choices:[{name:"\u9ed8\u8ba4\u5b89\u88c5",value:"default"},{name:"\u8df3\u8fc7\u5b89\u88c5",value:!1},{name:"pnpm install",value:"pnpm"},{name:"yarn install",value:"yarn"},{name:"npm install",value:"npm"}]}]).then((function(o){var r={projectName:o.projectName,dependenciesInstallType:o.dependenciesInstallType,yolkVersion:w.version},c=t||f.join(__dirname,"../templates/".concat(o.type));K("\u590d\u5236\u6a21\u7248 ".concat(f.basename(c)));var i=v.sync("**/*",{cwd:c,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(i.forEach((function(t){if(c){var n=f.join(c,t);if(!p.statSync(n).isDirectory())if(t.endsWith(".tpl")){var o=p.readFileSync(n,I),i=f.join(e,t.replace(/\.tpl$/,"")),s=S.render(o,r);j.sync(f.dirname(i)),K("\u521b\u5efa ".concat(f.relative(e,i))),p.writeFileSync(i,s,I)}else{K("\u521b\u5efa ".concat(t));var a=f.join(e,t);j.sync(f.dirname(a)),p.copyFileSync(n,a)}}})),K("\u590d\u5236\u6a21\u7248 success!"),n&&p.existsSync(c)&&k(c,(function(){K("\u7f13\u5b58\u5220\u9664 success! ".concat(f.basename(c||"")))})),o.dependenciesInstallType)switch(K("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),o.dependenciesInstallType){case"default":case"pnpm":T({command:"pnpm",args:["install"]});break;case"yarn":T({command:"yarn",args:["install"]});break;case"npm":T({command:"npm",args:["install"]});break;default:}K("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")}))},A=function(e,t){return Y(e,t,!0)},W=function(){var e=v.sync("*.yolkrc*",{cwd:P,dot:!0});if(!e.length)return{};var t=f.join(P,e[0]);if(!p.existsSync(t))return{};try{return JSON.parse(p.readFileSync(t,I))||{}}catch(n){return q(n.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}},L=function(){var e=f.join(P,".prettierrc");if(p.existsSync(e))try{return JSON.parse(p.readFileSync(e,I))||{}}catch(t){return q(t.message||".prettierrc\u8f6c\u6362\u9519\u8bef"),{}}return require("./.prettierrc")},C=function(){var e=f.join(P,"project.config.json");if(!p.existsSync(e))return{};try{return JSON.parse(p.readFileSync(e,I))||{}}catch(t){return q(t.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}},J=function(){var e=f.join(P,"package.json");if(!p.existsSync(e))return{};try{return JSON.parse(p.readFileSync(e,I))||{}}catch(t){return q(t.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}},H=function(){return p.existsSync(f.join(P,"project.config.json"))},V=function(){var e=p.existsSync(f.join(P,"node_modules/.bin/max"));if(!e)try{e=p.existsSync(require.resolve("@umijs/max"))}catch(o){}if(!e)try{e=/umi@4\.(\d+)\.(\d+)/.test(m("umi -v").toString())}catch(o){}if(!e){var t=f.join(P,"node_modules","umi","package.json");if(p.existsSync(t))try{var n=JSON.parse(p.readFileSync(t,I))||{};e=n.version&&+n.version.split(".")[0]>3}catch(o){}}return e},G=function(){var e=f.join(P,"project.config.json");if(p.existsSync(e)){var t=require(e);return t.appid}return""},M=function(){return p.existsSync(f.join(P,"project.tt.json"))&&0===G().indexOf("tt")},X=function(){return 0===G().indexOf("20")},z=function(){var e=W(),t="";try{t=require.resolve("@baic/eslint-config-yolk")}catch(r){}var n=v.sync("*.eslintrc*",{cwd:P,dot:!0}),o=n[0];return!1===e.strict&&o&&p.existsSync(o)?o:p.existsSync(t)?t:o},Z=function(){var e=W(),t="";try{t=require.resolve("@baic/stylelint-config-yolk")}catch(r){}var n=v.sync("*.stylelintrc*",{cwd:P,dot:!0}),o=n[0];return!1===e.strict&&o&&p.existsSync(o)?o:p.existsSync(t)?t:o},ee=function(){var e=f.join(P,".git/"),t=f.join(P,".git/hooks"),n=f.join(t,"pre-commit"),o=p.existsSync(e),r=p.existsSync(n),c=r&&p.readFileSync(n,I).includes(D);if(o&&(!r||!c)){j.sync(t),p.writeFileSync(n,["#!/usr/bin/env bash","npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",D].join(u.EOL),I);try{p.chmodSync(n,"777")}catch(i){q("chmod ".concat(n," failed: ").concat(i.message))}K("Create pre-commit hook")}},te=function(){var e=W(),n=!1!==e.strict,o=e.eslintIgnore,r=e.stylelintIgnore;O().then((function(e){var c=function(o){return new Promise((function(c,s){var m=Z();if(m){var l=e.map((function(e){return e.filename})).filter((function(e){return/^(src|tests)/i.test(e)})).filter((function(e){return{css:/\.cs{2}$/i,less:/\.les{2}$/i,sass:/\.sas{2}$/i,scss:/\.scs{2}$/i}[o].test(e)})).filter((function(e){var t=f.join(P,e);return p.existsSync(t)})).filter((function(e){return E.every((function(t){return!b(e,t,{matchBase:!0})}))})).filter((function(e){return"string"===typeof r?!b(e,r,{matchBase:!0}):r instanceof RegExp?!r.test(e):!Array.isArray(r)||r.every((function(t){return"string"===typeof t?!b(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)}))}));if(l.length)if(l.forEach((function(e){if(e&&p.existsSync(e)){var t=f.extname(e).replace(/^\./,""),n=p.readFileSync(e,I),o=x(n,a({parser:_[t]},L()));p.writeFileSync(e,o,I)}})),K("".concat(o," - ").concat(l.length," files prettier success!")),l.length>=F){var u=[];i(l,F).forEach((function(e){u.push(new Promise((function(r,c){T({command:"stylelint",args:[n?"--ignore-disables":"","--allow-empty-input","--custom-syntax","postcss-".concat(o),"--config",m].concat(t(e)),complete:r,close:c,exit:!1})})))}));var d=0,y=function e(){d<u.length?u[d].then((function(){d++,e()})).catch(s):(K("".concat(o," - ").concat(l.length," files stylelint success!")),c())};y()}else l.length&&T({command:"stylelint",args:[n?"--ignore-disables":"","--allow-empty-input","--custom-syntax","postcss-".concat(o),"--config",m].concat(t(l)),complete:function(){K("".concat(o," - ").concat(l.length," files stylelint success!")),c()},close:s,exit:!1});else c()}else q("\u6ca1\u6709 stylelintrc \u6587\u4ef6\uff0c".concat(o," files prettier fail!")),c()}))},s=function(r){return new Promise((function(c,s){var m=z();if(m){var l=e.map((function(e){return e.filename})).filter((function(e){return/^(src|tests)/i.test(e)})).filter((function(e){return{js:/\.js$/i,jsx:/\.jsx$/i,ts:/\.ts$/i,tsx:/\.tsx$/i}[r].test(e)})).filter((function(e){var t=f.join(P,e);return p.existsSync(t)})).filter((function(e){return E.every((function(t){return!b(e,t,{matchBase:!0})}))})).filter((function(e){return"string"===typeof o?!b(e,o,{matchBase:!0}):o instanceof RegExp?!o.test(e):!Array.isArray(o)||o.every((function(t){return"string"===typeof t?!b(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)}))}));if(l.length)if(l.forEach((function(e){if(e&&p.existsSync(e)){var t=f.extname(e).replace(/^\./,""),n=p.readFileSync(e,I),o=x(n,a({parser:_[t]},L()));p.writeFileSync(e,o,I)}})),K("".concat(r," - ").concat(l.length," files prettier success!")),l.length>=F){var u=[];i(l,F).forEach((function(e){u.push(new Promise((function(o,r){T({command:"eslint",args:[n?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",m].concat(t(e)),complete:o,close:r,exit:!1})})))}));var d=0,y=function e(){d<u.length?u[d].then((function(){d++,e()})).catch(s):(K("".concat(r," - ").concat(l.length," files eslint success!")),c())};y()}else l.length&&T({command:"eslint",args:[n?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",m].concat(t(l)),complete:function(){K("".concat(r," - ").concat(l.length," files eslint success!")),c()},close:s,exit:!1});else c()}else q("\u6ca1\u6709 eslintrc \u6587\u4ef6\uff0c".concat(r," files eslint fail!")),c()}))};N("\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),n&&(N("git commit \u7981\u6b62 lint \u7684 ignore \u884c\u4e3a"),r&&N("\u901a\u8fc7 .yolkrc \u914d\u7f6e stylelintIgnore: ".concat(r,"\u3002")),o&&N("\u901a\u8fc7 .yolkrc \u914d\u7f6e eslintIgnore: ".concat(o,"\u3002"))),c("css").then((function(){return c("less")})).then((function(){return c("sass")})).then((function(){return c("scss")})).then((function(){return s("js")})).then((function(){return s("jsx")})).then((function(){return s("ts")})).then((function(){return s("tsx")})).then(Q).catch(Q)}))},ne=function(e){var t=e.mProject,n=e.mPrivateKeyPath,o=e.mVersion,r=e.mDesc,c=e.mRobot,i=e.mQrcodeFormat,s=e.mQrcodeOutputDest,a=e.mPagePath,l=e.mSearchQuery,u=p.existsSync(f.join(P,".git"))?m("git log -1 --pretty=format:%H").toString():"",d=C(),g=d.appid,h=t||f.join(P,"dist"),v=n||f.join(P,"private.".concat(g,".key"));if(p.existsSync(h)){if(p.existsSync(v)){var b=J(),j=o||b.version||d.version||"1.0.0",S=r||b.description||d.description,x="version: ".concat(j,";").concat(u?" commit: ".concat(u,";"):"").concat(S?" description: ".concat(S,";"):"");u&&$("commit: ".concat(u)),$("dist: ".concat(h)),$("key: ".concat(v)),$("appid: ".concat(g)),$("version: ".concat(j)),$("desc: ".concat(x));var k=new y.Project({appid:g,type:"miniProgram",projectPath:h,privateKeyPath:v,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:g,options:{project:k,version:j,desc:x,setting:d.setting,robot:c,qrcodeFormat:i,qrcodeOutputDest:s,pagePath:a,searchQuery:l}}}throw Error("\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(".concat(v,")"))}throw Error("\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(".concat(h,")"))},oe=function(){ee(),process.argv.length>2?h.version(w.version,"-v,--version","\u8f93\u51fa\u7248\u672c\u53f7").usage("[command] [options]").option("--clone","\u901a\u8fc7git clone\u62c9\u53d6\u6a21\u7248").option("--template <template>","\u6a21\u7248\u540d\u79f0\u6216\u8005clone\u6a21\u5f0f\u7684git\u5730\u5740").option("--docs","\u542f\u52a8\u6587\u6863\u6a21\u5f0f").option("--mProject <project>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u5de5\u7a0b\u76ee\u5f55").option("--mPrivateKeyPath <privateKeyPath>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20key\u6587\u4ef6").option("--mVersion <version>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u7248\u672c\u53f7").option("--mDesc <desc>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u63cf\u8ff0").option("--mRobot <robot>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20ci\u673a\u5668\u4eba1~30").option("--mQrcodeFormat <qrcodeFormat>",'\u5c0f\u7a0b\u5e8f\u9884\u89c8\u8fd4\u56de\u4e8c\u7ef4\u7801\u6587\u4ef6\u7684\u683c\u5f0f "image" \u6216 "base64"\uff0c \u9ed8\u8ba4\u503c "terminal" \u4f9b\u8c03\u8bd5\u7528').option("--mQrcodeOutputDest <qrcodeOutputDest>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u4e8c\u7ef4\u7801\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84").option("--mPagePath <pagePath>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84").option("--mSearchQuery <searchQuery>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84\u542f\u52a8\u53c2\u6570").action((function(t,n){var i=e(n),s=i[0],m=i.slice(1),l=t.clone,d=t.template,g=t.docs;if(s)switch($("yolk version: ".concat(w.version)),$("node version: ".concat(process.version)),$("platform: ".concat(u.platform())),$("memory: ".concat(c(u.freemem()/1024/1024)," MB(").concat(c(u.totalmem()/1024/1024)," MB)")),s){case"init":if(K("yolk ".concat(s," \u5f00\u59cb")),l)if(d){var h=".yolk",v=f.join(P,h);p.existsSync(v)&&k(v,(function(){K("\u7f13\u5b58\u5220\u9664 success! ".concat(v))})),T({command:"git",args:["clone","-b","master","--depth","1",d,h].concat(m)}),A(P,v)}else q("--clone \u6a21\u5f0f\u5fc5\u987b\u6709--template");else Y(P);break;case"start":H()?M()?T({command:"taro",args:["build","--type","tt","--watch"].concat(m)}):X()?T({command:"taro",args:["build","--type","alipay","--watch"].concat(m)}):T({command:"taro",args:["build","--type","weapp","--watch"].concat(m)}):g?(process.env.DID_YOU_KNOW="none",T({command:"dumi",args:["dev"].concat(m)})):V()?(process.env.DID_YOU_KNOW="none",T({command:"max",args:["dev"].concat(m)})):(process.env.DID_YOU_KNOW="none",T({command:"umi",args:["dev"].concat(m)}));break;case"build":H()?M()?T({command:"taro",args:["build","--type","tt"].concat(m)}):X()?T({command:"taro",args:["build","--type","alipay"].concat(m)}):T({command:"taro",args:["build","--type","weapp"].concat(m)}):g?(process.env.DID_YOU_KNOW="none",T({command:"dumi",args:["build"].concat(m)})):V()?(process.env.DID_YOU_KNOW="none",T({command:"max",args:["setup"].concat(m),complete:function(){return T({command:"max",args:["build"].concat(m)})},exit:!1})):(process.env.DID_YOU_KNOW="none",T({command:"umi",args:["build"].concat(m)}));break;case"pre-commit":te();break;case"test":T({command:"umi-test",args:["--no-cache","--update-snapshot","--runInBand","--detectOpenHandles"].concat(m)});break;case"miniapp-upload":case"miniprogram-upload":if(H())if(M());else if(X());else{var b=ne(t),j=b.appid,S=b.options;$("".concat(j,"\u4e0a\u4f20\u5f00\u59cb")),y.upload(a(a({},r(S,["project","version","desc","setting","robot"])),{},{onProgressUpdate:function(e){if(o(e))$("task: ".concat(e));else{var t=e.status,n=e.message;$("task(".concat(t,"): ").concat(n))}}})).then((function(){K("".concat(j,"\u4e0a\u4f20\u5b8c\u6210"))}))}break;case"miniapp-preview":case"miniprogram-preview":if(H())if(M());else if(X());else{var x=ne(t),O=x.appid,D=x.options;$("".concat(O,"\u4e0a\u4f20\u9884\u89c8\u5f00\u59cb")),y.preview(a(a({},r(D,["project","version","desc","setting","robot","qrcodeFormat","qrcodeOutputDest","pagePath","searchQuery"])),{},{onProgressUpdate:function(e){if(o(e))$("task: ".concat(e));else{var t=e.status,n=e.message;$("task(".concat(t,"): ").concat(n))}}})).then((function(){K("".concat(O,"\u4e0a\u4f20\u9884\u89c8\u5b8c\u6210"))}))}break;default:R()}})).parse(process.argv):R()};oe();
package/lib/yolk.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #! /usr/bin/env node
2
- var e=Object.create,t=Object.defineProperty,s=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,n=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,r=(e,n,r,o)=>{if(n&&"object"===typeof n||"function"===typeof n)for(let c of a(n))i.call(e,c)||c===r||t(e,c,{get:()=>n[c],enumerable:!(o=s(n,c))||o.enumerable});return e},o=(s,a,i)=>(i=null!=s?e(n(s)):{},r(!a&&s&&s.__esModule?i:t(i,"default",{value:s,enumerable:!0}),s)),c=require("child_process"),l=o(require("fs")),d=o(require("os")),u=o(require("path")),m=o(require("lodash")),f=o(require("inquirer")),p=o(require("miniprogram-ci")),y=o(require("ora")),g=o(require("../compiled/commander")),h=o(require("../compiled/glob")),$=o(require("../compiled/minimatch")),b=o(require("../compiled/mkdirp")),x=o(require("../compiled/mustache")),S=require("../compiled/prettier"),j=o(require("../compiled/rimraf")),v=o(require("../package.json")),k=require("../compiled/staged-git-files"),w=process.cwd(),q="##### CREATED BY YOLK #####",P={ts:"typescript",tsx:"typescript",less:"less",sass:"scss",scss:"scss",css:"css"},O="utf-8",F=20,E=["**/node_modules/**","**/.umi/**","**/.umi-production/**","**/build/**","**/dist/**","**/lib/**","**/es/**","**/public/**","**/assets/**","**/h5+app/**","**/android/**","**/ios/**","**/mock/**","**/yolk*/**"],B=(0,y.default)(),I=e=>e&&B.warn(Buffer.from(e,O).toString()),D=e=>e&&B.fail(Buffer.from(e,O).toString()),_=e=>e&&B.succeed(Buffer.from(e,O).toString()),N=e=>e&&B.info(Buffer.from(e,O).toString()),Q=e=>"win32"===process.platform?`${e}.cmd`:e,R=()=>{_("yolk complete!"),process.exit(0)},T=()=>{I("yolk break!"),process.exit(0)},K=({command:e,args:t,complete:s,close:a,exit:n=!0})=>{const i=(0,c.spawn)(Q(e),t||[],{stdio:"inherit"}).on("close",(e=>{e?(a&&a(),D("yolk close!"),process.exit(e)):(s&&s(),n&&R())}));process.on("SIGINT",(()=>{g.default.runningCommand&&g.default.runningCommand.kill("SIGKILL"),i.kill(),T()}))},L=(e,t,s)=>{f.default.prompt([{type:"list",name:"type",message:"\u9009\u62e9\u6a21\u7248",default:"web",choices:[{name:"web template(umi framework)",value:"umi-web"},{name:"web big screen template(umi framework)",value:"umi-web-screen"},{name:"mobile template(umi framework)",value:"umi-mobile"},{name:"mobile HBuilderX h5+app template(umi framework)",value:"umi-mobile-h5+app"},{name:"mobile native template(umi framework)",value:"umi-mobile-native"},{name:"miniprogram template",value:"miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:u.default.basename(u.default.basename(process.cwd()))},{type:"list",name:"dependenciesInstallType",message:"\u9009\u62e9\u4f9d\u8d56\u5b89\u88c5\u65b9\u5f0f",default:"default",choices:[{name:"\u9ed8\u8ba4\u5b89\u88c5",value:"default"},{name:"\u8df3\u8fc7\u5b89\u88c5",value:!1},{name:"pnpm install",value:"pnpm"},{name:"yarn install",value:"yarn"},{name:"npm install",value:"npm"}]}]).then((a=>{const n={projectName:a.projectName,dependenciesInstallType:a.dependenciesInstallType,yolkVersion:v.default.version},i=t||u.default.join(__dirname,`../templates/${a.type}`);_(`\u590d\u5236\u6a21\u7248 ${u.default.basename(i)}`);const r=h.default.sync("**/*",{cwd:i,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(r.forEach((t=>{if(!i)return;const s=u.default.join(i,t);if(!l.default.statSync(s).isDirectory())if(t.endsWith(".tpl")){const a=l.default.readFileSync(s,O),i=u.default.join(e,t.replace(/\.tpl$/,"")),r=x.default.render(a,n);b.default.sync(u.default.dirname(i)),_(`\u521b\u5efa ${u.default.relative(e,i)}`),l.default.writeFileSync(i,r,O)}else{_(`\u521b\u5efa ${t}`);const a=u.default.join(e,t);b.default.sync(u.default.dirname(a)),l.default.copyFileSync(s,a)}})),_("\u590d\u5236\u6a21\u7248 success!"),s&&l.default.existsSync(i)&&(0,j.default)(i,(()=>{_(`\u7f13\u5b58\u5220\u9664 success! ${u.default.basename(i||"")}`)})),a.dependenciesInstallType)switch(_("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),a.dependenciesInstallType){case"default":case"pnpm":K({command:"pnpm",args:["install"]});break;case"yarn":K({command:"yarn",args:["install"]});break;case"npm":K({command:"npm",args:["install"]});break;default:}_("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")}))},A=(e,t)=>L(e,t,!0),J=()=>{const e=h.default.sync("*.yolkrc*",{cwd:w,dot:!0});if(!e.length)return{};const t=u.default.join(w,e[0]);if(!l.default.existsSync(t))return{};try{return JSON.parse(l.default.readFileSync(t,O))||{}}catch(s){return D(s.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}},C=()=>{const e=u.default.join(w,".prettierrc");if(l.default.existsSync(e))try{return JSON.parse(l.default.readFileSync(e,O))||{}}catch(t){return D(t.message||".prettierrc\u8f6c\u6362\u9519\u8bef"),{}}return require("./.prettierrc")},U=()=>{const e=u.default.join(w,"project.config.json");if(!l.default.existsSync(e))return{};try{return JSON.parse(l.default.readFileSync(e,O))||{}}catch(t){return D(t.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}},H=()=>{const e=u.default.join(w,"package.json");if(!l.default.existsSync(e))return{};try{return JSON.parse(l.default.readFileSync(e,O))||{}}catch(t){return D(t.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}},M=()=>l.default.existsSync(u.default.join(w,"project.config.json")),V=()=>{let e=l.default.existsSync(u.default.join(w,"node_modules/.bin/max"));if(!e)try{e=l.default.existsSync(require.resolve("@umijs/max"))}catch(t){}if(!e)try{e=/umi@4\.(\d+)\.(\d+)/.test((0,c.execSync)("umi -v").toString())}catch(t){}if(!e){const s=u.default.join(w,"node_modules","umi","package.json");if(l.default.existsSync(s))try{const t=JSON.parse(l.default.readFileSync(s,O))||{};e=t.version&&+t.version.split(".")[0]>3}catch(t){}}return e},G=()=>{const e=u.default.join(w,"project.config.json");if(l.default.existsSync(e)){const t=require(e);return t.appid}return""},Y=()=>l.default.existsSync(u.default.join(w,"project.tt.json"))&&0===G().indexOf("tt"),W=()=>0===G().indexOf("20"),X=()=>{const e=J();let t="";try{t=require.resolve("@baic/eslint-config-yolk")}catch(n){}const s=h.default.sync("*.eslintrc*",{cwd:w,dot:!0}),a=s[0];return!1===e.strict&&a&&l.default.existsSync(a)?a:l.default.existsSync(t)?t:a},z=()=>{const e=J();let t="";try{t=require.resolve("@baic/stylelint-config-yolk")}catch(n){}const s=h.default.sync("*.stylelintrc*",{cwd:w,dot:!0}),a=s[0];return!1===e.strict&&a&&l.default.existsSync(a)?a:l.default.existsSync(t)?t:a},Z=()=>{const e=u.default.join(w,".git/"),t=u.default.join(w,".git/hooks"),s=u.default.join(t,"pre-commit"),a=l.default.existsSync(e),n=l.default.existsSync(s),i=n&&l.default.readFileSync(s,O).includes(q);if(a&&(!n||!i)){b.default.sync(t),l.default.writeFileSync(s,["#!/usr/bin/env bash","npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",q].join(d.default.EOL),O);try{l.default.chmodSync(s,"777")}catch(r){D(`chmod ${s} failed: ${r.message}`)}_("Create pre-commit hook")}},ee=()=>{const e=J(),t=!1!==e.strict,s=e.eslintIgnore,a=e.stylelintIgnore;k().then((e=>{const n=s=>new Promise(((n,i)=>{const r=z();if(r){const o=e.map((e=>e.filename)).filter((e=>/^(src|tests)/i.test(e))).filter((e=>({css:/\.cs{2}$/i,less:/\.les{2}$/i,sass:/\.sas{2}$/i,scss:/\.scs{2}$/i}[s].test(e)))).filter((e=>{const t=u.default.join(w,e);return l.default.existsSync(t)})).filter((e=>E.every((t=>!(0,$.default)(e,t,{matchBase:!0}))))).filter((e=>"string"===typeof a?!(0,$.default)(e,a,{matchBase:!0}):a instanceof RegExp?!a.test(e):!Array.isArray(a)||a.every((t=>"string"===typeof t?!(0,$.default)(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)))));if(o.length)if(o.forEach((e=>{if(e&&l.default.existsSync(e)){const t=u.default.extname(e).replace(/^\./,""),s=l.default.readFileSync(e,O),a=(0,S.format)(s,{parser:P[t],...C()});l.default.writeFileSync(e,a,O)}})),_(`${s} - ${o.length} files prettier success!`),o.length>=F){const e=[];m.default.chunk(o,F).forEach((a=>{e.push(new Promise(((e,n)=>{K({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--custom-syntax",`postcss-${s}`,"--config",r,...a],complete:e,close:n,exit:!1})})))}));let a=0;const c=()=>{a<e.length?e[a].then((()=>{a++,c()})).catch(i):(_(`${s} - ${o.length} files stylelint success!`),n())};c()}else o.length&&K({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--custom-syntax",`postcss-${s}`,"--config",r,...o],complete:()=>{_(`${s} - ${o.length} files stylelint success!`),n()},close:i,exit:!1});else n()}else D(`\u6ca1\u6709 stylelintrc \u6587\u4ef6\uff0c${s} files prettier fail!`),n()})),i=a=>new Promise(((n,i)=>{const r=X();if(r){const o=e.map((e=>e.filename)).filter((e=>/^(src|tests)/i.test(e))).filter((e=>({js:/\.js$/i,jsx:/\.jsx$/i,ts:/\.ts$/i,tsx:/\.tsx$/i}[a].test(e)))).filter((e=>{const t=u.default.join(w,e);return l.default.existsSync(t)})).filter((e=>E.every((t=>!(0,$.default)(e,t,{matchBase:!0}))))).filter((e=>"string"===typeof s?!(0,$.default)(e,s,{matchBase:!0}):s instanceof RegExp?!s.test(e):!Array.isArray(s)||s.every((t=>"string"===typeof t?!(0,$.default)(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)))));if(o.length)if(o.forEach((e=>{if(e&&l.default.existsSync(e)){const t=u.default.extname(e).replace(/^\./,""),s=l.default.readFileSync(e,O),a=(0,S.format)(s,{parser:P[t],...C()});l.default.writeFileSync(e,a,O)}})),_(`${a} - ${o.length} files prettier success!`),o.length>=F){const e=[];m.default.chunk(o,F).forEach((s=>{e.push(new Promise(((e,a)=>{K({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",r,...s],complete:e,close:a,exit:!1})})))}));let s=0;const c=()=>{s<e.length?e[s].then((()=>{s++,c()})).catch(i):(_(`${a} - ${o.length} files eslint success!`),n())};c()}else o.length&&K({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",r,...o],complete:()=>{_(`${a} - ${o.length} files eslint success!`),n()},close:i,exit:!1});else n()}else D(`\u6ca1\u6709 eslintrc \u6587\u4ef6\uff0c${a} files eslint fail!`),n()}));I("\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),t&&(I("git commit \u7981\u6b62 lint \u7684 ignore \u884c\u4e3a"),a&&I(`\u901a\u8fc7 .yolkrc \u914d\u7f6e stylelintIgnore: ${a}\u3002`),s&&I(`\u901a\u8fc7 .yolkrc \u914d\u7f6e eslintIgnore: ${s}\u3002`)),n("css").then((()=>n("less"))).then((()=>n("sass"))).then((()=>n("scss"))).then((()=>i("js"))).then((()=>i("jsx"))).then((()=>i("ts"))).then((()=>i("tsx"))).then(R).catch(R)}))},te=({mProject:e,mPrivateKeyPath:t,mVersion:s,mDesc:a,mRobot:n,mQrcodeFormat:i,mQrcodeOutputDest:r,mPagePath:o,mSearchQuery:d})=>{const m=l.default.existsSync(u.default.join(w,".git"))?(0,c.execSync)("git log -1 --pretty=format:%H").toString():"",f=U(),y=f.appid,g=e||u.default.join(w,"dist"),h=t||u.default.join(w,`private.${y}.key`);if(l.default.existsSync(g)){if(l.default.existsSync(h)){const e=H(),t=s||e.version||f.version||"1.0.0",c=a||e.description||f.description,l=`version: ${t};${m?` commit: ${m};`:""}${c?` description: ${c};`:""}`;m&&N(`commit: ${m}`),N(`dist: ${g}`),N(`key: ${h}`),N(`appid: ${y}`),N(`version: ${t}`),N(`desc: ${l}`);const u=new p.Project({appid:y,type:"miniProgram",projectPath:g,privateKeyPath:h,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:y,options:{project:u,version:t,desc:l,setting:f.setting,robot:n,qrcodeFormat:i,qrcodeOutputDest:r,pagePath:o,searchQuery:d}}}throw Error(`\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(${h})`)}throw Error(`\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(${g})`)},se=()=>{Z(),process.argv.length>2?g.default.version(v.default.version,"-v,--version","\u8f93\u51fa\u7248\u672c\u53f7").usage("[command] [options]").option("--clone","\u901a\u8fc7git clone\u62c9\u53d6\u6a21\u7248").option("--template <template>","\u6a21\u7248\u540d\u79f0\u6216\u8005clone\u6a21\u5f0f\u7684git\u5730\u5740").option("--docs","\u542f\u52a8\u6587\u6863\u6a21\u5f0f").option("--mProject <project>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u5de5\u7a0b\u76ee\u5f55").option("--mPrivateKeyPath <privateKeyPath>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20key\u6587\u4ef6").option("--mVersion <version>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u7248\u672c\u53f7").option("--mDesc <desc>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u63cf\u8ff0").option("--mRobot <robot>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20ci\u673a\u5668\u4eba1~30").option("--mQrcodeFormat <qrcodeFormat>",'\u5c0f\u7a0b\u5e8f\u9884\u89c8\u8fd4\u56de\u4e8c\u7ef4\u7801\u6587\u4ef6\u7684\u683c\u5f0f "image" \u6216 "base64"\uff0c \u9ed8\u8ba4\u503c "terminal" \u4f9b\u8c03\u8bd5\u7528').option("--mQrcodeOutputDest <qrcodeOutputDest>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u4e8c\u7ef4\u7801\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84").option("--mPagePath <pagePath>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84").option("--mSearchQuery <searchQuery>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84\u542f\u52a8\u53c2\u6570").action(((e,t)=>{const[s,...a]=t,{clone:n,template:i,docs:r}=e;if(s)switch(N(`yolk version: ${v.default.version}`),N(`node version: ${process.version}`),N(`platform: ${d.default.platform()}`),N(`memory: ${m.default.floor(d.default.freemem()/1024/1024)} MB(${m.default.floor(d.default.totalmem()/1024/1024)} MB)`),s){case"init":if(_(`yolk ${s} \u5f00\u59cb`),n)if(i){const e=".yolk",t=u.default.join(w,e);l.default.existsSync(t)&&(0,j.default)(t,(()=>{_(`\u7f13\u5b58\u5220\u9664 success! ${t}`)})),K({command:"git",args:["clone","-b","master","--depth","1",i,e].concat(a)}),A(w,t)}else D("--clone \u6a21\u5f0f\u5fc5\u987b\u6709--template");else L(w);break;case"start":M()?Y()?K({command:"taro",args:["build","--type","tt","--watch"].concat(a)}):W()?K({command:"taro",args:["build","--type","alipay","--watch"].concat(a)}):K({command:"taro",args:["build","--type","weapp","--watch"].concat(a)}):r?K({command:"dumi",args:["dev"].concat(a)}):V()?K({command:"max",args:["dev"].concat(a)}):K({command:"umi",args:["dev"].concat(a)});break;case"build":M()?Y()?K({command:"taro",args:["build","--type","tt"].concat(a)}):W()?K({command:"taro",args:["build","--type","alipay"].concat(a)}):K({command:"taro",args:["build","--type","weapp"].concat(a)}):r?K({command:"dumi",args:["build"].concat(a)}):V()?K({command:"max",args:["setup"].concat(a),complete:()=>K({command:"max",args:["build"].concat(a)}),exit:!1}):K({command:"umi",args:["build"].concat(a)});break;case"pre-commit":ee();break;case"test":K({command:"umi-test",args:["--no-cache","--update-snapshot","--runInBand","--detectOpenHandles"].concat(a)});break;case"miniapp-upload":case"miniprogram-upload":if(M())if(Y());else if(W());else{const{appid:t,options:s}=te(e);N(`${t}\u4e0a\u4f20\u5f00\u59cb`),p.upload({...m.default.pick(s,["project","version","desc","setting","robot"]),onProgressUpdate:e=>{if(m.default.isString(e))N(`task: ${e}`);else{const{status:t,message:s}=e;N(`task(${t}): ${s}`)}}}).then((()=>{_(`${t}\u4e0a\u4f20\u5b8c\u6210`)}))}break;case"miniapp-preview":case"miniprogram-preview":if(M())if(Y());else if(W());else{const{appid:t,options:s}=te(e);N(`${t}\u4e0a\u4f20\u9884\u89c8\u5f00\u59cb`),p.preview({...m.default.pick(s,["project","version","desc","setting","robot","qrcodeFormat","qrcodeOutputDest","pagePath","searchQuery"]),onProgressUpdate:e=>{if(m.default.isString(e))N(`task: ${e}`);else{const{status:t,message:s}=e;N(`task(${t}): ${s}`)}}}).then((()=>{_(`${t}\u4e0a\u4f20\u9884\u89c8\u5b8c\u6210`)}))}break;default:T()}})).parse(process.argv):T()};se();
2
+ var e=Object.create,t=Object.defineProperty,s=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,n=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,r=(e,n,r,o)=>{if(n&&"object"===typeof n||"function"===typeof n)for(let c of a(n))i.call(e,c)||c===r||t(e,c,{get:()=>n[c],enumerable:!(o=s(n,c))||o.enumerable});return e},o=(s,a,i)=>(i=null!=s?e(n(s)):{},r(!a&&s&&s.__esModule?i:t(i,"default",{value:s,enumerable:!0}),s)),c=require("child_process"),l=o(require("fs")),d=o(require("os")),u=o(require("path")),m=o(require("lodash")),p=o(require("inquirer")),f=o(require("miniprogram-ci")),y=o(require("ora")),g=o(require("../compiled/commander")),h=o(require("../compiled/glob")),$=o(require("../compiled/minimatch")),b=o(require("../compiled/mkdirp")),x=o(require("../compiled/mustache")),S=require("../compiled/prettier"),j=o(require("../compiled/rimraf")),v=o(require("../package.json")),k=require("../compiled/staged-git-files"),w=process.cwd(),O="##### CREATED BY YOLK #####",q={ts:"typescript",tsx:"typescript",less:"less",sass:"scss",scss:"scss",css:"css"},P="utf-8",D=20,_=["**/node_modules/**","**/.umi/**","**/.umi-production/**","**/build/**","**/dist/**","**/lib/**","**/es/**","**/public/**","**/assets/**","**/h5+app/**","**/android/**","**/ios/**","**/mock/**","**/yolk*/**"],I=(0,y.default)(),F=e=>e&&I.warn(Buffer.from(e,P).toString()),E=e=>e&&I.fail(Buffer.from(e,P).toString()),N=e=>e&&I.succeed(Buffer.from(e,P).toString()),B=e=>e&&I.info(Buffer.from(e,P).toString()),K=e=>"win32"===process.platform?`${e}.cmd`:e,U=()=>{N("yolk complete!"),process.exit(0)},Q=()=>{F("yolk break!"),process.exit(0)},R=({command:e,args:t,complete:s,close:a,exit:n=!0})=>{const i=(0,c.spawn)(K(e),t||[],{stdio:"inherit"}).on("close",(e=>{e?(a&&a(),E("yolk close!"),process.exit(e)):(s&&s(),n&&U())}));process.on("SIGINT",(()=>{g.default.runningCommand&&g.default.runningCommand.kill("SIGKILL"),i.kill(),Q()}))},T=(e,t,s)=>{p.default.prompt([{type:"list",name:"type",message:"\u9009\u62e9\u6a21\u7248",default:"web",choices:[{name:"web template(umi framework)",value:"umi-web"},{name:"web big screen template(umi framework)",value:"umi-web-screen"},{name:"mobile template(umi framework)",value:"umi-mobile"},{name:"mobile HBuilderX h5+app template(umi framework)",value:"umi-mobile-h5+app"},{name:"mobile native template(umi framework)",value:"umi-mobile-native"},{name:"miniprogram template",value:"miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:u.default.basename(u.default.basename(process.cwd()))},{type:"list",name:"dependenciesInstallType",message:"\u9009\u62e9\u4f9d\u8d56\u5b89\u88c5\u65b9\u5f0f",default:"default",choices:[{name:"\u9ed8\u8ba4\u5b89\u88c5",value:"default"},{name:"\u8df3\u8fc7\u5b89\u88c5",value:!1},{name:"pnpm install",value:"pnpm"},{name:"yarn install",value:"yarn"},{name:"npm install",value:"npm"}]}]).then((a=>{const n={projectName:a.projectName,dependenciesInstallType:a.dependenciesInstallType,yolkVersion:v.default.version},i=t||u.default.join(__dirname,`../templates/${a.type}`);N(`\u590d\u5236\u6a21\u7248 ${u.default.basename(i)}`);const r=h.default.sync("**/*",{cwd:i,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(r.forEach((t=>{if(!i)return;const s=u.default.join(i,t);if(!l.default.statSync(s).isDirectory())if(t.endsWith(".tpl")){const a=l.default.readFileSync(s,P),i=u.default.join(e,t.replace(/\.tpl$/,"")),r=x.default.render(a,n);b.default.sync(u.default.dirname(i)),N(`\u521b\u5efa ${u.default.relative(e,i)}`),l.default.writeFileSync(i,r,P)}else{N(`\u521b\u5efa ${t}`);const a=u.default.join(e,t);b.default.sync(u.default.dirname(a)),l.default.copyFileSync(s,a)}})),N("\u590d\u5236\u6a21\u7248 success!"),s&&l.default.existsSync(i)&&(0,j.default)(i,(()=>{N(`\u7f13\u5b58\u5220\u9664 success! ${u.default.basename(i||"")}`)})),a.dependenciesInstallType)switch(N("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),a.dependenciesInstallType){case"default":case"pnpm":R({command:"pnpm",args:["install"]});break;case"yarn":R({command:"yarn",args:["install"]});break;case"npm":R({command:"npm",args:["install"]});break;default:}N("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")}))},Y=(e,t)=>T(e,t,!0),W=()=>{const e=h.default.sync("*.yolkrc*",{cwd:w,dot:!0});if(!e.length)return{};const t=u.default.join(w,e[0]);if(!l.default.existsSync(t))return{};try{return JSON.parse(l.default.readFileSync(t,P))||{}}catch(s){return E(s.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}},L=()=>{const e=u.default.join(w,".prettierrc");if(l.default.existsSync(e))try{return JSON.parse(l.default.readFileSync(e,P))||{}}catch(t){return E(t.message||".prettierrc\u8f6c\u6362\u9519\u8bef"),{}}return require("./.prettierrc")},A=()=>{const e=u.default.join(w,"project.config.json");if(!l.default.existsSync(e))return{};try{return JSON.parse(l.default.readFileSync(e,P))||{}}catch(t){return E(t.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}},J=()=>{const e=u.default.join(w,"package.json");if(!l.default.existsSync(e))return{};try{return JSON.parse(l.default.readFileSync(e,P))||{}}catch(t){return E(t.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}},C=()=>l.default.existsSync(u.default.join(w,"project.config.json")),H=()=>{let e=l.default.existsSync(u.default.join(w,"node_modules/.bin/max"));if(!e)try{e=l.default.existsSync(require.resolve("@umijs/max"))}catch(t){}if(!e)try{e=/umi@4\.(\d+)\.(\d+)/.test((0,c.execSync)("umi -v").toString())}catch(t){}if(!e){const s=u.default.join(w,"node_modules","umi","package.json");if(l.default.existsSync(s))try{const t=JSON.parse(l.default.readFileSync(s,P))||{};e=t.version&&+t.version.split(".")[0]>3}catch(t){}}return e},M=()=>{const e=u.default.join(w,"project.config.json");if(l.default.existsSync(e)){const t=require(e);return t.appid}return""},V=()=>l.default.existsSync(u.default.join(w,"project.tt.json"))&&0===M().indexOf("tt"),G=()=>0===M().indexOf("20"),X=()=>{const e=W();let t="";try{t=require.resolve("@baic/eslint-config-yolk")}catch(n){}const s=h.default.sync("*.eslintrc*",{cwd:w,dot:!0}),a=s[0];return!1===e.strict&&a&&l.default.existsSync(a)?a:l.default.existsSync(t)?t:a},z=()=>{const e=W();let t="";try{t=require.resolve("@baic/stylelint-config-yolk")}catch(n){}const s=h.default.sync("*.stylelintrc*",{cwd:w,dot:!0}),a=s[0];return!1===e.strict&&a&&l.default.existsSync(a)?a:l.default.existsSync(t)?t:a},Z=()=>{const e=u.default.join(w,".git/"),t=u.default.join(w,".git/hooks"),s=u.default.join(t,"pre-commit"),a=l.default.existsSync(e),n=l.default.existsSync(s),i=n&&l.default.readFileSync(s,P).includes(O);if(a&&(!n||!i)){b.default.sync(t),l.default.writeFileSync(s,["#!/usr/bin/env bash","npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",O].join(d.default.EOL),P);try{l.default.chmodSync(s,"777")}catch(r){E(`chmod ${s} failed: ${r.message}`)}N("Create pre-commit hook")}},ee=()=>{const e=W(),t=!1!==e.strict,s=e.eslintIgnore,a=e.stylelintIgnore;k().then((e=>{const n=s=>new Promise(((n,i)=>{const r=z();if(r){const o=e.map((e=>e.filename)).filter((e=>/^(src|tests)/i.test(e))).filter((e=>({css:/\.cs{2}$/i,less:/\.les{2}$/i,sass:/\.sas{2}$/i,scss:/\.scs{2}$/i}[s].test(e)))).filter((e=>{const t=u.default.join(w,e);return l.default.existsSync(t)})).filter((e=>_.every((t=>!(0,$.default)(e,t,{matchBase:!0}))))).filter((e=>"string"===typeof a?!(0,$.default)(e,a,{matchBase:!0}):a instanceof RegExp?!a.test(e):!Array.isArray(a)||a.every((t=>"string"===typeof t?!(0,$.default)(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)))));if(o.length)if(o.forEach((e=>{if(e&&l.default.existsSync(e)){const t=u.default.extname(e).replace(/^\./,""),s=l.default.readFileSync(e,P),a=(0,S.format)(s,{parser:q[t],...L()});l.default.writeFileSync(e,a,P)}})),N(`${s} - ${o.length} files prettier success!`),o.length>=D){const e=[];m.default.chunk(o,D).forEach((a=>{e.push(new Promise(((e,n)=>{R({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--custom-syntax",`postcss-${s}`,"--config",r,...a],complete:e,close:n,exit:!1})})))}));let a=0;const c=()=>{a<e.length?e[a].then((()=>{a++,c()})).catch(i):(N(`${s} - ${o.length} files stylelint success!`),n())};c()}else o.length&&R({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--custom-syntax",`postcss-${s}`,"--config",r,...o],complete:()=>{N(`${s} - ${o.length} files stylelint success!`),n()},close:i,exit:!1});else n()}else E(`\u6ca1\u6709 stylelintrc \u6587\u4ef6\uff0c${s} files prettier fail!`),n()})),i=a=>new Promise(((n,i)=>{const r=X();if(r){const o=e.map((e=>e.filename)).filter((e=>/^(src|tests)/i.test(e))).filter((e=>({js:/\.js$/i,jsx:/\.jsx$/i,ts:/\.ts$/i,tsx:/\.tsx$/i}[a].test(e)))).filter((e=>{const t=u.default.join(w,e);return l.default.existsSync(t)})).filter((e=>_.every((t=>!(0,$.default)(e,t,{matchBase:!0}))))).filter((e=>"string"===typeof s?!(0,$.default)(e,s,{matchBase:!0}):s instanceof RegExp?!s.test(e):!Array.isArray(s)||s.every((t=>"string"===typeof t?!(0,$.default)(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)))));if(o.length)if(o.forEach((e=>{if(e&&l.default.existsSync(e)){const t=u.default.extname(e).replace(/^\./,""),s=l.default.readFileSync(e,P),a=(0,S.format)(s,{parser:q[t],...L()});l.default.writeFileSync(e,a,P)}})),N(`${a} - ${o.length} files prettier success!`),o.length>=D){const e=[];m.default.chunk(o,D).forEach((s=>{e.push(new Promise(((e,a)=>{R({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",r,...s],complete:e,close:a,exit:!1})})))}));let s=0;const c=()=>{s<e.length?e[s].then((()=>{s++,c()})).catch(i):(N(`${a} - ${o.length} files eslint success!`),n())};c()}else o.length&&R({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",r,...o],complete:()=>{N(`${a} - ${o.length} files eslint success!`),n()},close:i,exit:!1});else n()}else E(`\u6ca1\u6709 eslintrc \u6587\u4ef6\uff0c${a} files eslint fail!`),n()}));F("\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),t&&(F("git commit \u7981\u6b62 lint \u7684 ignore \u884c\u4e3a"),a&&F(`\u901a\u8fc7 .yolkrc \u914d\u7f6e stylelintIgnore: ${a}\u3002`),s&&F(`\u901a\u8fc7 .yolkrc \u914d\u7f6e eslintIgnore: ${s}\u3002`)),n("css").then((()=>n("less"))).then((()=>n("sass"))).then((()=>n("scss"))).then((()=>i("js"))).then((()=>i("jsx"))).then((()=>i("ts"))).then((()=>i("tsx"))).then(U).catch(U)}))},te=({mProject:e,mPrivateKeyPath:t,mVersion:s,mDesc:a,mRobot:n,mQrcodeFormat:i,mQrcodeOutputDest:r,mPagePath:o,mSearchQuery:d})=>{const m=l.default.existsSync(u.default.join(w,".git"))?(0,c.execSync)("git log -1 --pretty=format:%H").toString():"",p=A(),y=p.appid,g=e||u.default.join(w,"dist"),h=t||u.default.join(w,`private.${y}.key`);if(l.default.existsSync(g)){if(l.default.existsSync(h)){const e=J(),t=s||e.version||p.version||"1.0.0",c=a||e.description||p.description,l=`version: ${t};${m?` commit: ${m};`:""}${c?` description: ${c};`:""}`;m&&B(`commit: ${m}`),B(`dist: ${g}`),B(`key: ${h}`),B(`appid: ${y}`),B(`version: ${t}`),B(`desc: ${l}`);const u=new f.Project({appid:y,type:"miniProgram",projectPath:g,privateKeyPath:h,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:y,options:{project:u,version:t,desc:l,setting:p.setting,robot:n,qrcodeFormat:i,qrcodeOutputDest:r,pagePath:o,searchQuery:d}}}throw Error(`\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(${h})`)}throw Error(`\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(${g})`)},se=()=>{Z(),process.argv.length>2?g.default.version(v.default.version,"-v,--version","\u8f93\u51fa\u7248\u672c\u53f7").usage("[command] [options]").option("--clone","\u901a\u8fc7git clone\u62c9\u53d6\u6a21\u7248").option("--template <template>","\u6a21\u7248\u540d\u79f0\u6216\u8005clone\u6a21\u5f0f\u7684git\u5730\u5740").option("--docs","\u542f\u52a8\u6587\u6863\u6a21\u5f0f").option("--mProject <project>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u5de5\u7a0b\u76ee\u5f55").option("--mPrivateKeyPath <privateKeyPath>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20key\u6587\u4ef6").option("--mVersion <version>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u7248\u672c\u53f7").option("--mDesc <desc>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u63cf\u8ff0").option("--mRobot <robot>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20ci\u673a\u5668\u4eba1~30").option("--mQrcodeFormat <qrcodeFormat>",'\u5c0f\u7a0b\u5e8f\u9884\u89c8\u8fd4\u56de\u4e8c\u7ef4\u7801\u6587\u4ef6\u7684\u683c\u5f0f "image" \u6216 "base64"\uff0c \u9ed8\u8ba4\u503c "terminal" \u4f9b\u8c03\u8bd5\u7528').option("--mQrcodeOutputDest <qrcodeOutputDest>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u4e8c\u7ef4\u7801\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84").option("--mPagePath <pagePath>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84").option("--mSearchQuery <searchQuery>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84\u542f\u52a8\u53c2\u6570").action(((e,t)=>{const[s,...a]=t,{clone:n,template:i,docs:r}=e;if(s)switch(B(`yolk version: ${v.default.version}`),B(`node version: ${process.version}`),B(`platform: ${d.default.platform()}`),B(`memory: ${m.default.floor(d.default.freemem()/1024/1024)} MB(${m.default.floor(d.default.totalmem()/1024/1024)} MB)`),s){case"init":if(N(`yolk ${s} \u5f00\u59cb`),n)if(i){const e=".yolk",t=u.default.join(w,e);l.default.existsSync(t)&&(0,j.default)(t,(()=>{N(`\u7f13\u5b58\u5220\u9664 success! ${t}`)})),R({command:"git",args:["clone","-b","master","--depth","1",i,e].concat(a)}),Y(w,t)}else E("--clone \u6a21\u5f0f\u5fc5\u987b\u6709--template");else T(w);break;case"start":C()?V()?R({command:"taro",args:["build","--type","tt","--watch"].concat(a)}):G()?R({command:"taro",args:["build","--type","alipay","--watch"].concat(a)}):R({command:"taro",args:["build","--type","weapp","--watch"].concat(a)}):r?(process.env.DID_YOU_KNOW="none",R({command:"dumi",args:["dev"].concat(a)})):H()?(process.env.DID_YOU_KNOW="none",R({command:"max",args:["dev"].concat(a)})):(process.env.DID_YOU_KNOW="none",R({command:"umi",args:["dev"].concat(a)}));break;case"build":C()?V()?R({command:"taro",args:["build","--type","tt"].concat(a)}):G()?R({command:"taro",args:["build","--type","alipay"].concat(a)}):R({command:"taro",args:["build","--type","weapp"].concat(a)}):r?(process.env.DID_YOU_KNOW="none",R({command:"dumi",args:["build"].concat(a)})):H()?(process.env.DID_YOU_KNOW="none",R({command:"max",args:["setup"].concat(a),complete:()=>R({command:"max",args:["build"].concat(a)}),exit:!1})):(process.env.DID_YOU_KNOW="none",R({command:"umi",args:["build"].concat(a)}));break;case"pre-commit":ee();break;case"test":R({command:"umi-test",args:["--no-cache","--update-snapshot","--runInBand","--detectOpenHandles"].concat(a)});break;case"miniapp-upload":case"miniprogram-upload":if(C())if(V());else if(G());else{const{appid:t,options:s}=te(e);B(`${t}\u4e0a\u4f20\u5f00\u59cb`),f.upload({...m.default.pick(s,["project","version","desc","setting","robot"]),onProgressUpdate:e=>{if(m.default.isString(e))B(`task: ${e}`);else{const{status:t,message:s}=e;B(`task(${t}): ${s}`)}}}).then((()=>{N(`${t}\u4e0a\u4f20\u5b8c\u6210`)}))}break;case"miniapp-preview":case"miniprogram-preview":if(C())if(V());else if(G());else{const{appid:t,options:s}=te(e);B(`${t}\u4e0a\u4f20\u9884\u89c8\u5f00\u59cb`),f.preview({...m.default.pick(s,["project","version","desc","setting","robot","qrcodeFormat","qrcodeOutputDest","pagePath","searchQuery"]),onProgressUpdate:e=>{if(m.default.isString(e))B(`task: ${e}`);else{const{status:t,message:s}=e;B(`task(${t}): ${s}`)}}}).then((()=>{N(`${t}\u4e0a\u4f20\u9884\u89c8\u5b8c\u6210`)}))}break;default:Q()}})).parse(process.argv):Q()};se();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baic/yolk-cli",
3
- "version": "2.1.0-alpha.96",
3
+ "version": "2.1.0-alpha.98",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/303394539/yolk.git"
@@ -53,5 +53,5 @@
53
53
  "publishConfig": {
54
54
  "access": "public"
55
55
  },
56
- "gitHead": "2ae3b1bd22651c524e89ce4930ad69daac1d66aa"
56
+ "gitHead": "c3f0991de7018c35bc2353bbb3ec5c3073038261"
57
57
  }