@baic/yolk-cli 2.0.1-alpha.41 → 2.0.1-alpha.44
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/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/lib/index.js +1 -1
- package/package.json +5 -2
package/es/index.d.ts
ADDED
package/es/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#! /usr/bin/env node
|
|
2
|
+
import e from"@babel/runtime/helpers/toArray";import t from"@babel/runtime/helpers/defineProperty";import s from"lodash/isString";import o from"lodash/pick";import r from"lodash/floor";import i from"lodash/chunk";function n(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,o)}return s}function c(e){for(var s=1;s<arguments.length;s++){var o=null!=arguments[s]?arguments[s]:{};s%2?n(Object(o),!0).forEach((function(s){t(e,s,o[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}import a from"fs";import m from"path";import p from"os";import l from"commander";import d from"inquirer";import{spawn as u,execSync as y}from"child_process";import f from"ora";import g from"glob";import h from"minimatch";import b from"mustache";import j from"mkdirp";import S from"rimraf";import{format as k}from"prettier";import*as x from"miniprogram-ci";import v from"../package.json";const w=require("staged-git-files"),$=process.cwd(),P="##### CREATED BY YOLK #####",O={ts:"typescript",tsx:"typescript",less:"less",sass:"scss",scss:"scss",css:"css"},E="utf-8",F=60,B=["**/node_modules/**","**/.umi/**","**/.umi-production/**","**/build/**","**/dist/**","**/lib/**","**/es/**","**/public/**","**/assets/**","**/h5+app/**","**/mock/**","**/yolk/**","**/yolk-web/**","**/yolk-web-ui/**","**/yolk-mobile/**","**/yolk-mobile-ui/**","**/yolk-miniprogram/**","**/yolk-miniprogram-ui/**"],D=f(),q=e=>e&&D.warn(Buffer.from(e,E).toString()),I=e=>e&&D.fail(Buffer.from(e,E).toString()),Q=e=>e&&D.succeed(Buffer.from(e,E).toString()),R=e=>e&&D.info(Buffer.from(e,E).toString()),T=e=>"win32"===process.platform?`${e}.cmd`:e,L=()=>{Q("yolk complete!"),process.exit(0)},N=()=>{q("yolk break!"),process.exit(0)},_=({command:e,args:t,complete:s,close:o,exit:r=!0})=>{const i=u(T(e),t||[],{stdio:"inherit"}).on("close",(e=>{e?(o&&o(),I("yolk close!"),process.exit(e)):(s&&s(),r&&L())}));process.on("SIGINT",(()=>{l.runningCommand&&l.runningCommand.kill("SIGKILL"),i.kill(),N()}))},A=(e,t,s)=>{d.prompt([{type:"list",name:"type",message:"\u9009\u62e9\u6a21\u7248",default:"web",choices:[{name:"web template(umi framework)",value:"umi-web"},{name:"mobile template(umi framework)",value:"umi-mobile"},{name:"web template(ice framework)",value:"ice-web"},{name:"mobile template(ice framework)",value:"ice-mobile"},{name:"miniprogram template",value:"miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:m.basename(m.basename(process.cwd()))},{type:"list",name:"dependenciesInstallType",message:"\u9009\u62e9\u4f9d\u8d56\u5b89\u88c5\u65b9\u5f0f",default:!1,choices:[{name:"yarn install",value:"yarn"},{name:"npm install",value:"npm"},{name:"\u4e0d\u521d\u59cb\u5316",value:!1}]}]).then((o=>{const r={projectName:o.projectName,mobile:"umi-mobile"===o.type,dependenciesInstallType:o.dependenciesInstallType,yolkVersion:v.version};t||(t=m.join(__dirname,`../templates/${o.type}`)),Q(`\u590d\u5236\u6a21\u7248 ${m.basename(t)}`);const i=g.sync("**/*",{cwd:t,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(i.forEach((s=>{if(!t)return;const o=m.join(t,s);if(!a.statSync(o).isDirectory())if(s.endsWith(".tpl")){const t=a.readFileSync(o,E),i=m.join(e,s.replace(/\.tpl$/u,"")),n=b.render(t,r);j.sync(m.dirname(i)),Q(`\u521b\u5efa ${m.relative(e,i)}`),a.writeFileSync(i,n,E)}else{Q(`\u521b\u5efa ${s}`);const t=m.join(e,s);j.sync(m.dirname(t)),a.copyFileSync(o,t)}})),Q("\u590d\u5236\u6a21\u7248 success!"),s&&a.existsSync(t)&&S(t,(()=>{Q(`\u7f13\u5b58\u5220\u9664 success! ${m.basename(t||"")}`)})),o.dependenciesInstallType)switch(Q("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),o.dependenciesInstallType){case"npm":_({command:"npm",args:["install"]});break;case"yarn":default:_({command:"yarn",args:["install"]});break}Q("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")}))},K=(e,t)=>A(e,t,!0),C=()=>{const e=g.sync("*.yolkrc*",{cwd:$,dot:!0});if(!e.length)return{};const t=m.join($,e[0]);if(!a.existsSync(t))return{};try{return JSON.parse(a.readFileSync(t,E))||{}}catch(s){return I(s.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}},J=()=>{const e=m.join($,".prettierrc");if(!a.existsSync(e)){if(a.existsSync(require.resolve("@umijs/fabric/dist/prettier"))){const e=require("@umijs/fabric/dist/prettier");return e}return{}}try{return JSON.parse(a.readFileSync(e,E))||{}}catch(t){return I(t.message||".prettierrc\u8f6c\u6362\u9519\u8bef"),{}}},M=()=>{const e=m.join($,"project.config.json");if(!a.existsSync(e))return{};try{return JSON.parse(a.readFileSync(e,E))||{}}catch(t){return I(t.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}},U=()=>{const e=m.join($,"package.json");if(!a.existsSync(e))return{};try{return JSON.parse(a.readFileSync(e,E))||{}}catch(t){return I(t.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}},V=()=>a.existsSync(m.join($,"project.config.json")),G=()=>a.existsSync(m.join($,".icerc.ts"))||a.existsSync(m.join($,".icerc.js"))||a.existsSync(m.join($,".ice.ts"))||a.existsSync(m.join($,".ice.js")),H=()=>a.existsSync(m.join($,".icerc.ts"))?".icerc.ts":a.existsSync(m.join($,".icerc.js"))?".icerc.js":a.existsSync(m.join($,".ice.ts"))?".ice.ts":".ice.js",Y=()=>{const e=m.join($,"project.config.json");if(a.existsSync(e)){const t=require(e);return t.appid}return""},W=()=>a.existsSync(m.join($,"project.tt.json"))&&0===Y().indexOf("tt"),z=()=>0===Y().indexOf("20"),X=()=>{const e=C(),t=V()?require.resolve("@baic/eslint-config-yolk-miniprogram"):require.resolve("@baic/eslint-config-yolk"),s=g.sync("*.eslintrc*",{cwd:$,dot:!0}),o=s[0];return!1===e.strict&&o&&a.existsSync(o)?o:t},Z=()=>{const e=g.sync("*.stylelintrc*",{cwd:$,dot:!0}),t=e[0];return t},ee=()=>{const e=m.join($,".git/"),t=m.join($,".git/hooks"),s=m.join(t,"pre-commit"),o=a.existsSync(e),r=a.existsSync(s),i=r&&a.readFileSync(s,"utf8").includes(P);if(o&&(!r||!i)){j.sync(t),a.writeFileSync(s,["#!/usr/bin/env bash","npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",P].join(p.EOL),"utf8");try{a.chmodSync(s,"777")}catch(n){I(`chmod ${s} failed: ${n.message}`)}Q("Create pre-commit hook")}},te=()=>{const e=C(),t=!1!==e.strict,s=e.eslintIgnore,o=e.stylelintIgnore;w().then((e=>{const r=new Promise(((s,r)=>{const n=Z();if(n){const p=e.map((e=>e.filename)).filter((e=>/^(src|tests)/iu.test(e))).filter((e=>/\.(le|sa|sc|c)s{2}$/iu.test(e))).filter((e=>B.every((t=>!h(e,t,{matchBase:!0}))))).filter((e=>"string"===typeof o?!h(e,o,{matchBase:!0}):o instanceof RegExp?!o.test(e):!Array.isArray(o)||o.every((t=>"string"===typeof t?!h(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e))))).map((e=>{const t=m.join($,e);return a.existsSync(t)?t:null})).filter((e=>!!e));if(p.forEach((e=>{if(e&&a.existsSync(e)){const t=m.extname(e).replace(/^\./u,""),s=a.readFileSync(e,"utf8"),o=k(s,c({parser:O[t]},J()));a.writeFileSync(e,o,"utf8")}})),Q("style prettier success!"),p.length>=F){const e=[];i(p,20).forEach((s=>{e.push(new Promise(((e,o)=>{_({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--config",n,...s],complete:e,close:o,exit:!1})})))}));const o=process.getMaxListeners(),c=i(e,o?o/2:2);let a=0;const m=()=>{a<c.length?Promise.all(c[a]).then((()=>{a++,m()})).catch(r):s()};m()}else p.length&&_({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--config",n,...p],complete:s,close:r,exit:!1})}else s()})),n=()=>{const o=e.map((e=>e.filename)).filter((e=>/^(src|tests)/iu.test(e))).filter((e=>/\.([t|j]sx?)$/iu.test(e))).map((e=>{const t=m.join($,e);return a.existsSync(t)?t:null})).filter((e=>!!e));if(o.length){o.forEach((e=>{if(e&&a.existsSync(e)){const t=m.extname(e).replace(/^\./u,""),s=a.readFileSync(e,"utf8"),o=k(s,c({parser:O[t]},J()));a.writeFileSync(e,o,"utf8")}})),Q("script prettier success!");const e=X();if(e){const r=o.filter((e=>B.every((t=>!h(e,t,{matchBase:!0}))))).filter((e=>"string"===typeof s?!h(e,s,{matchBase:!0}):s instanceof RegExp?!s.test(e):!Array.isArray(s)||s.every((t=>"string"===typeof t?!h(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)))));if(t&&(q("git commit\u7981\u6b62eslint\u7684ignore\u65b9\u5f0f(eslint-disable\u3001.eslintrc*\u3001ignore\u7b49)\u3002"),s&&q(`\u901a\u8fc7yolkrc\u914d\u7f6eeslintIgnore\uff1a${s}\u3002`)),r.length>=F){const s=[];i(r,20).forEach((o=>{s.push(new Promise((s=>{_({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",e,...o],complete:s,exit:!1})})))}));const o=process.getMaxListeners(),n=i(s,o?o/2:2);let c=0;const a=()=>{c<n.length?Promise.all(n[c]).then((()=>{c++,a()})):L()};a()}else r.length&&_({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",e,...r]})}else q("\u6ca1\u6709eslint\u914d\u7f6e\u6587\u4ef6")}else L()};q("\u8981\u6c42\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),r.then(n)}))},se=({mProject:e,mPrivateKeyPath:t,mVersion:s,mDesc:o,mRobot:r,mQrcodeFormat:i,mQrcodeOutputDest:n,mPagePath:c,mSearchQuery:p})=>{const l=a.existsSync(m.join($,".git"))?y("git log -1 --pretty=format:%H").toString():"",d=M(),u=d.appid,f=e||m.join($,"dist"),g=t||m.join($,`private.${u}.key`);if(a.existsSync(f)){if(a.existsSync(g)){const e=U(),t=s||e.version||d.version||"1.0.0",a=o||e.description||d.description,m=`version: ${t};${l?` commit: ${l};`:""}${a?` description: ${a};`:""}`;l&&R(`commit: ${l}`),R(`dist: ${f}`),R(`key: ${g}`),R(`appid: ${u}`),R(`version: ${t}`),R(`desc: ${m}`);const y=new x.Project({appid:u,type:"miniProgram",projectPath:f,privateKeyPath:g,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:u,options:{project:y,version:t,desc:m,setting:d.setting,robot:r,qrcodeFormat:i,qrcodeOutputDest:n,pagePath:c,searchQuery:p}}}throw Error(`\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(${g})`)}throw Error(`\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(${f})`)},oe=()=>{ee(),process.argv.length>2?l.version(v.version).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(((t,i)=>{const n=e(i),l=n[0],d=n.slice(1),u=t.clone,y=t.template,f=t.docs;if(l)switch(R(`yolk version: ${v.version}`),R(`node version: ${process.version}`),R(`platform: ${p.platform()}`),R(`memory: ${r(p.freemem()/1024/1024)} MB(${r(p.totalmem()/1024/1024)} MB)`),l){case"init":if(Q(`yolk ${l} \u5f00\u59cb`),u)if(y){const e=".yolk",t=m.join($,e);a.existsSync(t)&&S(t,(()=>{Q(`\u7f13\u5b58\u5220\u9664 success! ${t}`)})),_({command:"git",args:["clone","-b","master","--depth","1",y,e].concat(d)}),K($,t)}else I("--clone \u6a21\u5f0f\u5fc5\u987b\u6709--template");else A($);break;case"start":V()?W()?_({command:"taro",args:["build","--type","tt","--watch"].concat(d)}):z()?_({command:"taro",args:["build","--type","alipay","--watch"].concat(d)}):_({command:"taro",args:["build","--type","weapp","--watch"].concat(d)}):f?_({command:"dumi",args:["dev"].concat(d)}):G()?_({command:"icejs",args:["start","--config",H()].concat(d)}):_({command:"umi",args:["dev"].concat(d)});break;case"build":V()?W()?_({command:"taro",args:["build","--type","tt"].concat(d)}):z()?_({command:"taro",args:["build","--type","alipay"].concat(d)}):_({command:"taro",args:["build","--type","weapp"].concat(d)}):f?_({command:"dumi",args:["build"].concat(d)}):G()?_({command:"icejs",args:["build","--config",H()].concat(d)}):_({command:"umi",args:["build"].concat(d)});break;case"pre-commit":te();break;case"test":_({command:"umi-test",args:["--no-cache","--update-snapshot","--runInBand","--detectOpenHandles"].concat(d)});break;case"miniapp-upload":case"miniprogram-upload":if(V())if(W());else if(z());else{const e=se(t),r=e.appid,i=e.options;R(`${r}\u4e0a\u4f20\u5f00\u59cb`),x.upload(c(c({},o(i,["project","version","desc","setting","robot"])),{},{onProgressUpdate:e=>{if(s(e))R(`task: ${e}`);else{const t=e.status,s=e.message;R(`task(${t}): ${s}`)}}})).then((()=>{Q(`${r}\u4e0a\u4f20\u5b8c\u6210`)}))}break;case"miniapp-preview":case"miniprogram-preview":if(V())if(W());else if(z());else{const e=se(t),r=e.appid,i=e.options;R(`${r}\u4e0a\u4f20\u9884\u89c8\u5f00\u59cb`),x.preview(c(c({},o(i,["project","version","desc","setting","robot","qrcodeFormat","qrcodeOutputDest","pagePath","searchQuery"])),{},{onProgressUpdate:e=>{if(s(e))R(`task: ${e}`);else{const t=e.status,s=e.message;R(`task(${t}): ${s}`)}}})).then((()=>{Q(`${r}\u4e0a\u4f20\u9884\u89c8\u5b8c\u6210`)}))}break;default:N()}})).parse(process.argv):N()};oe();
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
"use strict";var e=require("@babel/runtime/helpers/interopRequireDefault"),t=require("@babel/runtime/helpers/typeof"),n=e(require("@babel/runtime/helpers/toArray")),r=e(require("@babel/runtime/helpers/toConsumableArray")),a=e(require("@babel/runtime/helpers/defineProperty")),i=e(require("lodash/isString")),o=e(require("lodash/pick")),c=e(require("lodash/floor")),s=e(require("lodash/chunk")),u=e(require("fs")),l=e(require("path")),f=e(require("os")),d=e(require("commander")),m=e(require("inquirer")),p=require("child_process"),y=e(require("ora")),g=e(require("glob")),v=e(require("minimatch")),h=e(require("mustache")),b=e(require("mkdirp")),j=e(require("rimraf")),S=require("prettier"),k=O(require("miniprogram-ci")),w=e(require("../package.json"));function x(e){if("function"!==typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(x=function(e){return e?n:t})(e)}function O(e,n){if(!n&&e&&e.__esModule)return e;if(null===e||"object"!==t(e)&&"function"!==typeof e)return{default:e};var r=x(n);if(r&&r.has(e))return r.get(e);var a={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var c=i?Object.getOwnPropertyDescriptor(e,o):null;c&&(c.get||c.set)?Object.defineProperty(a,o,c):a[o]=e[o]}return a["default"]=e,r&&r.set(e,a),a}function P(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 q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach((function(t){(0,a["default"])(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var F=require("staged-git-files"),E=process.cwd(),D="##### CREATED BY YOLK #####",B={ts:"typescript",tsx:"typescript",less:"less",sass:"scss",scss:"scss",css:"css"},I="utf-8",R=60,Q=["**/node_modules/**","**/.umi/**","**/.umi-production/**","**/build/**","**/dist/**","**/lib/**","**/public/**","**/assets/**","**/h5+app/**","**/mock/**","**/yolk/**","**/yolk-web/**","**/yolk-web-ui/**","**/yolk-mobile/**","**/yolk-mobile-ui/**","**/yolk-miniprogram/**","**/yolk-miniprogram-ui/**"],T=(0,y["default"])(),_=function(e){return e&&T.warn(Buffer.from(e,I).toString())},L=function(e){return e&&T.fail(Buffer.from(e,I).toString())},M=function(e){return e&&T.succeed(Buffer.from(e,I).toString())},N=function(e){return e&&T.info(Buffer.from(e,I).toString())},A=function(e){return"win32"===process.platform?"".concat(e,".cmd"):e},K=function(){M("yolk complete!"),process.exit(0)},C=function(){_("yolk break!"),process.exit(0)},$=function(e){var t=e.command,n=e.args,r=e.complete,a=e.close,i=e.exit,o=void 0===i||i,c=(0,p.spawn)(A(t),n||[],{stdio:"inherit"}).on("close",(function(e){e?(a&&a(),L("yolk close!"),process.exit(e)):(r&&r(),o&&K())}));process.on("SIGINT",(function(){d["default"].runningCommand&&d["default"].runningCommand.kill("SIGKILL"),c.kill(),C()}))},J=function(e,t,n){m["default"].prompt([{type:"list",name:"type",message:"\u9009\u62e9\u6a21\u7248",default:"web",choices:[{name:"web template(umi framework)",value:"umi-web"},{name:"mobile template(umi framework)",value:"umi-mobile"},{name:"web template(ice framework)",value:"ice-web"},{name:"mobile template(ice framework)",value:"ice-mobile"},{name:"miniprogram template",value:"miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:l["default"].basename(l["default"].basename(process.cwd()))},{type:"list",name:"dependenciesInstallType",message:"\u9009\u62e9\u4f9d\u8d56\u5b89\u88c5\u65b9\u5f0f",default:!1,choices:[{name:"yarn install",value:"yarn"},{name:"npm install",value:"npm"},{name:"\u4e0d\u521d\u59cb\u5316",value:!1}]}]).then((function(r){var a={projectName:r.projectName,mobile:"umi-mobile"===r.type,dependenciesInstallType:r.dependenciesInstallType,yolkVersion:w["default"].version};t||(t=l["default"].join(__dirname,"../templates/".concat(r.type))),M("\u590d\u5236\u6a21\u7248 ".concat(l["default"].basename(t)));var i=g["default"].sync("**/*",{cwd:t,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(i.forEach((function(n){if(t){var r=l["default"].join(t,n);if(!u["default"].statSync(r).isDirectory())if(n.endsWith(".tpl")){var i=u["default"].readFileSync(r,I),o=l["default"].join(e,n.replace(/\.tpl$/,"")),c=h["default"].render(i,a);b["default"].sync(l["default"].dirname(o)),M("\u521b\u5efa ".concat(l["default"].relative(e,o))),u["default"].writeFileSync(o,c,I)}else{M("\u521b\u5efa ".concat(n));var s=l["default"].join(e,n);b["default"].sync(l["default"].dirname(s)),u["default"].copyFileSync(r,s)}}})),M("\u590d\u5236\u6a21\u7248 success!"),n&&u["default"].existsSync(t)&&(0,j["default"])(t,(function(){M("\u7f13\u5b58\u5220\u9664 success! ".concat(l["default"].basename(t||"")))})),r.dependenciesInstallType)switch(M("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),r.dependenciesInstallType){case"npm":$({command:"npm",args:["install"]});break;case"yarn":default:$({command:"yarn",args:["install"]});break}M("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")}))},U=function(e,t){return J(e,t,!0)},W=function(){var e=g["default"].sync("*.yolkrc*",{cwd:E,dot:!0});if(!e.length)return{};var t=l["default"].join(E,e[0]);if(!u["default"].existsSync(t))return{};try{return JSON.parse(u["default"].readFileSync(t,I))||{}}catch(n){return L(n.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}},V=function(){var e=l["default"].join(E,".prettierrc");if(!u["default"].existsSync(e)){if(u["default"].existsSync(require.resolve("@umijs/fabric/dist/prettier"))){var t=require("@umijs/fabric/dist/prettier");return t}return{}}try{return JSON.parse(u["default"].readFileSync(e,I))||{}}catch(n){return L(n.message||".prettierrc\u8f6c\u6362\u9519\u8bef"),{}}},G=function(){var e=l["default"].join(E,"project.config.json");if(!u["default"].existsSync(e))return{};try{return JSON.parse(u["default"].readFileSync(e,I))||{}}catch(t){return L(t.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}},H=function(){var e=l["default"].join(E,"package.json");if(!u["default"].existsSync(e))return{};try{return JSON.parse(u["default"].readFileSync(e,I))||{}}catch(t){return L(t.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}},Y=function(){return u["default"].existsSync(l["default"].join(E,"project.config.json"))},z=function(){return u["default"].existsSync(l["default"].join(E,".icerc.ts"))||u["default"].existsSync(l["default"].join(E,".icerc.js"))||u["default"].existsSync(l["default"].join(E,".ice.ts"))||u["default"].existsSync(l["default"].join(E,".ice.js"))},X=function(){return u["default"].existsSync(l["default"].join(E,".icerc.ts"))?".icerc.ts":u["default"].existsSync(l["default"].join(E,".icerc.js"))?".icerc.js":u["default"].existsSync(l["default"].join(E,".ice.ts"))?".ice.ts":".ice.js"},Z=function(){var e=l["default"].join(E,"project.config.json");if(u["default"].existsSync(e)){var t=require(e);return t.appid}return""},ee=function(){return u["default"].existsSync(l["default"].join(E,"project.tt.json"))&&0===Z().indexOf("tt")},te=function(){return 0===Z().indexOf("20")},ne=function(){var e=W(),t=Y()?require.resolve("@baic/eslint-config-yolk-miniprogram"):require.resolve("@baic/eslint-config-yolk"),n=g["default"].sync("*.eslintrc*",{cwd:E,dot:!0}),r=n[0];return!1===e.strict&&r&&u["default"].existsSync(r)?r:t},re=function(){var e=g["default"].sync("*.stylelintrc*",{cwd:E,dot:!0}),t=e[0];return t},ae=function(){var e=l["default"].join(E,".git/"),t=l["default"].join(E,".git/hooks"),n=l["default"].join(t,"pre-commit"),r=u["default"].existsSync(e),a=u["default"].existsSync(n),i=a&&u["default"].readFileSync(n,"utf8").includes(D);if(r&&(!a||!i)){b["default"].sync(t),u["default"].writeFileSync(n,["#!/usr/bin/env bash","npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",D].join(f["default"].EOL),"utf8");try{u["default"].chmodSync(n,"777")}catch(o){L("chmod ".concat(n," failed: ").concat(o.message))}M("Create pre-commit hook")}},ie=function(){var e=W(),t=!1!==e.strict,n=e.eslintIgnore,a=e.stylelintIgnore;F().then((function(e){var i=new Promise((function(n,i){var o=re();if(o){var c=e.map((function(e){return e.filename})).filter((function(e){return/^([s\u017F]rc|te[s\u017F]t[s\u017F])/i.test(e)})).filter((function(e){return/\.(le|[s\u017F]a|[s\u017F]c|c)[s\u017F]{2}$/i.test(e)})).filter((function(e){return Q.every((function(t){return!(0,v["default"])(e,t,{matchBase:!0})}))})).filter((function(e){return"string"===typeof a?!(0,v["default"])(e,a,{matchBase:!0}):a instanceof RegExp?!a.test(e):!Array.isArray(a)||a.every((function(t){return"string"===typeof t?!(0,v["default"])(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)}))})).map((function(e){var t=l["default"].join(E,e);return u["default"].existsSync(t)?t:null})).filter((function(e){return!!e}));if(c.forEach((function(e){if(e&&u["default"].existsSync(e)){var t=l["default"].extname(e).replace(/^\./,""),n=u["default"].readFileSync(e,"utf8"),r=(0,S.format)(n,q({parser:B[t]},V()));u["default"].writeFileSync(e,r,"utf8")}})),M("style prettier success!"),c.length>=R){var f=[];(0,s["default"])(c,20).forEach((function(e){f.push(new Promise((function(n,a){$({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--config",o].concat((0,r["default"])(e)),complete:n,close:a,exit:!1})})))}));var d=process.getMaxListeners(),m=(0,s["default"])(f,d?d/2:2),p=0,y=function e(){p<m.length?Promise.all(m[p]).then((function(){p++,e()}))["catch"](i):n()};y()}else c.length&&$({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--config",o].concat((0,r["default"])(c)),complete:n,close:i,exit:!1})}else n()})),o=function(){var a=e.map((function(e){return e.filename})).filter((function(e){return/^([s\u017F]rc|te[s\u017F]t[s\u017F])/i.test(e)})).filter((function(e){return/\.([jt\|][s\u017F]x?)$/i.test(e)})).map((function(e){var t=l["default"].join(E,e);return u["default"].existsSync(t)?t:null})).filter((function(e){return!!e}));if(a.length){a.forEach((function(e){if(e&&u["default"].existsSync(e)){var t=l["default"].extname(e).replace(/^\./,""),n=u["default"].readFileSync(e,"utf8"),r=(0,S.format)(n,q({parser:B[t]},V()));u["default"].writeFileSync(e,r,"utf8")}})),M("script prettier success!");var i=ne();if(i){var o=a.filter((function(e){return Q.every((function(t){return!(0,v["default"])(e,t,{matchBase:!0})}))})).filter((function(e){return"string"===typeof n?!(0,v["default"])(e,n,{matchBase:!0}):n instanceof RegExp?!n.test(e):!Array.isArray(n)||n.every((function(t){return"string"===typeof t?!(0,v["default"])(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)}))}));if(t&&(_("git commit\u7981\u6b62eslint\u7684ignore\u65b9\u5f0f(eslint-disable\u3001.eslintrc*\u3001ignore\u7b49)\u3002"),n&&_("\u901a\u8fc7yolkrc\u914d\u7f6eeslintIgnore\uff1a".concat(n,"\u3002"))),o.length>=R){var c=[];(0,s["default"])(o,20).forEach((function(e){c.push(new Promise((function(n){$({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",i].concat((0,r["default"])(e)),complete:n,exit:!1})})))}));var f=process.getMaxListeners(),d=(0,s["default"])(c,f?f/2:2),m=0,p=function e(){m<d.length?Promise.all(d[m]).then((function(){m++,e()})):K()};p()}else o.length&&$({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",i].concat((0,r["default"])(o))})}else _("\u6ca1\u6709eslint\u914d\u7f6e\u6587\u4ef6")}else K()};_("\u8981\u6c42\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),i.then(o)}))},oe=function(e){var t=e.mProject,n=e.mPrivateKeyPath,r=e.mVersion,a=e.mDesc,i=e.mRobot,o=e.mQrcodeFormat,c=e.mQrcodeOutputDest,s=e.mPagePath,f=e.mSearchQuery,d=u["default"].existsSync(l["default"].join(E,".git"))?(0,p.execSync)("git log -1 --pretty=format:%H").toString():"",m=G(),y=m.appid,g=t||l["default"].join(E,"dist"),v=n||l["default"].join(E,"private.".concat(y,".key"));if(u["default"].existsSync(g)){if(u["default"].existsSync(v)){var h=H(),b=r||h.version||m.version||"1.0.0",j=a||h.description||m.description,S="version: ".concat(b,";").concat(d?" commit: ".concat(d,";"):"").concat(j?" description: ".concat(j,";"):"");d&&N("commit: ".concat(d)),N("dist: ".concat(g)),N("key: ".concat(v)),N("appid: ".concat(y)),N("version: ".concat(b)),N("desc: ".concat(S));var w=new k.Project({appid:y,type:"miniProgram",projectPath:g,privateKeyPath:v,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:y,options:{project:w,version:b,desc:S,setting:m.setting,robot:i,qrcodeFormat:o,qrcodeOutputDest:c,pagePath:s,searchQuery:f}}}throw Error("\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(".concat(v,")"))}throw Error("\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(".concat(g,")"))},ce=function(){ae(),process.argv.length>2?d["default"].version(w["default"].version).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(e,t){var r=(0,n["default"])(t),a=r[0],s=r.slice(1),d=e.clone,m=e.template,p=e.docs;if(a)switch(N("yolk version: ".concat(w["default"].version)),N("node version: ".concat(process.version)),N("platform: ".concat(f["default"].platform())),N("memory: ".concat((0,c["default"])(f["default"].freemem()/1024/1024)," MB(").concat((0,c["default"])(f["default"].totalmem()/1024/1024)," MB)")),a){case"init":if(M("yolk ".concat(a," \u5f00\u59cb")),d)if(m){var y=".yolk",g=l["default"].join(E,y);u["default"].existsSync(g)&&(0,j["default"])(g,(function(){M("\u7f13\u5b58\u5220\u9664 success! ".concat(g))})),$({command:"git",args:["clone","-b","master","--depth","1",m,y].concat(s)}),U(E,g)}else L("--clone \u6a21\u5f0f\u5fc5\u987b\u6709--template");else J(E);break;case"start":Y()?ee()?$({command:"taro",args:["build","--type","tt","--watch"].concat(s)}):te()?$({command:"taro",args:["build","--type","alipay","--watch"].concat(s)}):$({command:"taro",args:["build","--type","weapp","--watch"].concat(s)}):p?$({command:"dumi",args:["dev"].concat(s)}):z()?$({command:"icejs",args:["start","--config",X()].concat(s)}):$({command:"umi",args:["dev"].concat(s)});break;case"build":Y()?ee()?$({command:"taro",args:["build","--type","tt"].concat(s)}):te()?$({command:"taro",args:["build","--type","alipay"].concat(s)}):$({command:"taro",args:["build","--type","weapp"].concat(s)}):p?$({command:"dumi",args:["build"].concat(s)}):z()?$({command:"icejs",args:["build","--config",X()].concat(s)}):$({command:"umi",args:["build"].concat(s)});break;case"pre-commit":ie();break;case"test":$({command:"umi-test",args:["--no-cache","--update-snapshot","--runInBand","--detectOpenHandles"].concat(s)});break;case"miniapp-upload":case"miniprogram-upload":if(Y())if(ee());else if(te());else{var v=oe(e),h=v.appid,b=v.options;N("".concat(h,"\u4e0a\u4f20\u5f00\u59cb")),k.upload(q(q({},(0,o["default"])(b,["project","version","desc","setting","robot"])),{},{onProgressUpdate:function(e){if((0,i["default"])(e))N("task: ".concat(e));else{var t=e.status,n=e.message;N("task(".concat(t,"): ").concat(n))}}})).then((function(){M("".concat(h,"\u4e0a\u4f20\u5b8c\u6210"))}))}break;case"miniapp-preview":case"miniprogram-preview":if(Y())if(ee());else if(te());else{var S=oe(e),x=S.appid,O=S.options;N("".concat(x,"\u4e0a\u4f20\u9884\u89c8\u5f00\u59cb")),k.preview(q(q({},(0,o["default"])(O,["project","version","desc","setting","robot","qrcodeFormat","qrcodeOutputDest","pagePath","searchQuery"])),{},{onProgressUpdate:function(e){if((0,i["default"])(e))N("task: ".concat(e));else{var t=e.status,n=e.message;N("task(".concat(t,"): ").concat(n))}}})).then((function(){M("".concat(x,"\u4e0a\u4f20\u9884\u89c8\u5b8c\u6210"))}))}break;default:C()}})).parse(process.argv):C()};ce();
|
|
2
|
+
"use strict";var e=require("@babel/runtime/helpers/interopRequireDefault");function t(){const n=e(require("@babel/runtime/helpers/toArray"));return t=function(){return n},n}function n(){const t=e(require("@babel/runtime/helpers/defineProperty"));return n=function(){return t},t}function r(){const t=e(require("lodash/isString"));return r=function(){return t},t}function i(){const t=e(require("lodash/pick"));return i=function(){return t},t}function o(){const t=e(require("lodash/floor"));return o=function(){return t},t}function s(){const t=e(require("lodash/chunk"));return s=function(){return t},t}function a(){const t=e(require("fs"));return a=function(){return t},t}function c(){const t=e(require("path"));return c=function(){return t},t}function u(){const t=e(require("os"));return u=function(){return t},t}function l(){const t=e(require("commander"));return l=function(){return t},t}function f(){const t=e(require("inquirer"));return f=function(){return t},t}function d(){const e=require("child_process");return d=function(){return e},e}function p(){const t=e(require("ora"));return p=function(){return t},t}function m(){const t=e(require("glob"));return m=function(){return t},t}function y(){const t=e(require("minimatch"));return y=function(){return t},t}function g(){const t=e(require("mustache"));return g=function(){return t},t}function h(){const t=e(require("mkdirp"));return h=function(){return t},t}function b(){const t=e(require("rimraf"));return b=function(){return t},t}function j(){const e=require("prettier");return j=function(){return e},e}function S(){const e=w(require("miniprogram-ci"));return S=function(){return e},e}var k=e(require("../package.json"));function v(e){if("function"!==typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(v=function(e){return e?n:t})(e)}function w(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var n=v(t);if(n&&n.has(e))return n.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}function x(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 $(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?x(Object(r),!0).forEach((function(t){(0,n().default)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const O=require("staged-git-files"),P=process.cwd(),q="##### CREATED BY YOLK #####",E={ts:"typescript",tsx:"typescript",less:"less",sass:"scss",scss:"scss",css:"css"},F="utf-8",D=60,B=["**/node_modules/**","**/.umi/**","**/.umi-production/**","**/build/**","**/dist/**","**/lib/**","**/es/**","**/public/**","**/assets/**","**/h5+app/**","**/mock/**","**/yolk/**","**/yolk-web/**","**/yolk-web-ui/**","**/yolk-mobile/**","**/yolk-mobile-ui/**","**/yolk-miniprogram/**","**/yolk-miniprogram-ui/**"],I=(0,p().default)(),R=e=>e&&I.warn(Buffer.from(e,F).toString()),Q=e=>e&&I.fail(Buffer.from(e,F).toString()),T=e=>e&&I.succeed(Buffer.from(e,F).toString()),_=e=>e&&I.info(Buffer.from(e,F).toString()),L=e=>"win32"===process.platform?`${e}.cmd`:e,M=()=>{T("yolk complete!"),process.exit(0)},N=()=>{R("yolk break!"),process.exit(0)},A=({command:e,args:t,complete:n,close:r,exit:i=!0})=>{const o=(0,d().spawn)(L(e),t||[],{stdio:"inherit"}).on("close",(e=>{e?(r&&r(),Q("yolk close!"),process.exit(e)):(n&&n(),i&&M())}));process.on("SIGINT",(()=>{l().default.runningCommand&&l().default.runningCommand.kill("SIGKILL"),o.kill(),N()}))},K=(e,t,n)=>{f().default.prompt([{type:"list",name:"type",message:"\u9009\u62e9\u6a21\u7248",default:"web",choices:[{name:"web template(umi framework)",value:"umi-web"},{name:"mobile template(umi framework)",value:"umi-mobile"},{name:"web template(ice framework)",value:"ice-web"},{name:"mobile template(ice framework)",value:"ice-mobile"},{name:"miniprogram template",value:"miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:c().default.basename(c().default.basename(process.cwd()))},{type:"list",name:"dependenciesInstallType",message:"\u9009\u62e9\u4f9d\u8d56\u5b89\u88c5\u65b9\u5f0f",default:!1,choices:[{name:"yarn install",value:"yarn"},{name:"npm install",value:"npm"},{name:"\u4e0d\u521d\u59cb\u5316",value:!1}]}]).then((r=>{const i={projectName:r.projectName,mobile:"umi-mobile"===r.type,dependenciesInstallType:r.dependenciesInstallType,yolkVersion:k.default.version};t||(t=c().default.join(__dirname,`../templates/${r.type}`)),T(`\u590d\u5236\u6a21\u7248 ${c().default.basename(t)}`);const o=m().default.sync("**/*",{cwd:t,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(o.forEach((n=>{if(!t)return;const r=c().default.join(t,n);if(!a().default.statSync(r).isDirectory())if(n.endsWith(".tpl")){const t=a().default.readFileSync(r,F),o=c().default.join(e,n.replace(/\.tpl$/u,"")),s=g().default.render(t,i);h().default.sync(c().default.dirname(o)),T(`\u521b\u5efa ${c().default.relative(e,o)}`),a().default.writeFileSync(o,s,F)}else{T(`\u521b\u5efa ${n}`);const t=c().default.join(e,n);h().default.sync(c().default.dirname(t)),a().default.copyFileSync(r,t)}})),T("\u590d\u5236\u6a21\u7248 success!"),n&&a().default.existsSync(t)&&(0,b().default)(t,(()=>{T(`\u7f13\u5b58\u5220\u9664 success! ${c().default.basename(t||"")}`)})),r.dependenciesInstallType)switch(T("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),r.dependenciesInstallType){case"npm":A({command:"npm",args:["install"]});break;case"yarn":default:A({command:"yarn",args:["install"]});break}T("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")}))},C=(e,t)=>K(e,t,!0),J=()=>{const e=m().default.sync("*.yolkrc*",{cwd:P,dot:!0});if(!e.length)return{};const t=c().default.join(P,e[0]);if(!a().default.existsSync(t))return{};try{return JSON.parse(a().default.readFileSync(t,F))||{}}catch(n){return Q(n.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}},U=()=>{const e=c().default.join(P,".prettierrc");if(!a().default.existsSync(e)){if(a().default.existsSync(require.resolve("@umijs/fabric/dist/prettier"))){const e=require("@umijs/fabric/dist/prettier");return e}return{}}try{return JSON.parse(a().default.readFileSync(e,F))||{}}catch(t){return Q(t.message||".prettierrc\u8f6c\u6362\u9519\u8bef"),{}}},W=()=>{const e=c().default.join(P,"project.config.json");if(!a().default.existsSync(e))return{};try{return JSON.parse(a().default.readFileSync(e,F))||{}}catch(t){return Q(t.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}},V=()=>{const e=c().default.join(P,"package.json");if(!a().default.existsSync(e))return{};try{return JSON.parse(a().default.readFileSync(e,F))||{}}catch(t){return Q(t.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}},G=()=>a().default.existsSync(c().default.join(P,"project.config.json")),H=()=>a().default.existsSync(c().default.join(P,".icerc.ts"))||a().default.existsSync(c().default.join(P,".icerc.js"))||a().default.existsSync(c().default.join(P,".ice.ts"))||a().default.existsSync(c().default.join(P,".ice.js")),Y=()=>a().default.existsSync(c().default.join(P,".icerc.ts"))?".icerc.ts":a().default.existsSync(c().default.join(P,".icerc.js"))?".icerc.js":a().default.existsSync(c().default.join(P,".ice.ts"))?".ice.ts":".ice.js",z=()=>{const e=c().default.join(P,"project.config.json");if(a().default.existsSync(e)){const t=require(e);return t.appid}return""},X=()=>a().default.existsSync(c().default.join(P,"project.tt.json"))&&0===z().indexOf("tt"),Z=()=>0===z().indexOf("20"),ee=()=>{const e=J(),t=G()?require.resolve("@baic/eslint-config-yolk-miniprogram"):require.resolve("@baic/eslint-config-yolk"),n=m().default.sync("*.eslintrc*",{cwd:P,dot:!0}),r=n[0];return!1===e.strict&&r&&a().default.existsSync(r)?r:t},te=()=>{const e=m().default.sync("*.stylelintrc*",{cwd:P,dot:!0}),t=e[0];return t},ne=()=>{const e=c().default.join(P,".git/"),t=c().default.join(P,".git/hooks"),n=c().default.join(t,"pre-commit"),r=a().default.existsSync(e),i=a().default.existsSync(n),o=i&&a().default.readFileSync(n,"utf8").includes(q);if(r&&(!i||!o)){h().default.sync(t),a().default.writeFileSync(n,["#!/usr/bin/env bash","npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",q].join(u().default.EOL),"utf8");try{a().default.chmodSync(n,"777")}catch(s){Q(`chmod ${n} failed: ${s.message}`)}T("Create pre-commit hook")}},re=()=>{const e=J(),t=!1!==e.strict,n=e.eslintIgnore,r=e.stylelintIgnore;O().then((e=>{const i=new Promise(((n,i)=>{const o=te();if(o){const u=e.map((e=>e.filename)).filter((e=>/^(src|tests)/iu.test(e))).filter((e=>/\.(le|sa|sc|c)s{2}$/iu.test(e))).filter((e=>B.every((t=>!(0,y().default)(e,t,{matchBase:!0}))))).filter((e=>"string"===typeof r?!(0,y().default)(e,r,{matchBase:!0}):r instanceof RegExp?!r.test(e):!Array.isArray(r)||r.every((t=>"string"===typeof t?!(0,y().default)(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e))))).map((e=>{const t=c().default.join(P,e);return a().default.existsSync(t)?t:null})).filter((e=>!!e));if(u.forEach((e=>{if(e&&a().default.existsSync(e)){const t=c().default.extname(e).replace(/^\./u,""),n=a().default.readFileSync(e,"utf8"),r=(0,j().format)(n,$({parser:E[t]},U()));a().default.writeFileSync(e,r,"utf8")}})),T("style prettier success!"),u.length>=D){const e=[];(0,s().default)(u,20).forEach((n=>{e.push(new Promise(((e,r)=>{A({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--config",o,...n],complete:e,close:r,exit:!1})})))}));const r=process.getMaxListeners(),a=(0,s().default)(e,r?r/2:2);let c=0;const l=()=>{c<a.length?Promise.all(a[c]).then((()=>{c++,l()})).catch(i):n()};l()}else u.length&&A({command:"stylelint",args:[t?"--ignore-disables":"","--allow-empty-input","--config",o,...u],complete:n,close:i,exit:!1})}else n()})),o=()=>{const r=e.map((e=>e.filename)).filter((e=>/^(src|tests)/iu.test(e))).filter((e=>/\.([t|j]sx?)$/iu.test(e))).map((e=>{const t=c().default.join(P,e);return a().default.existsSync(t)?t:null})).filter((e=>!!e));if(r.length){r.forEach((e=>{if(e&&a().default.existsSync(e)){const t=c().default.extname(e).replace(/^\./u,""),n=a().default.readFileSync(e,"utf8"),r=(0,j().format)(n,$({parser:E[t]},U()));a().default.writeFileSync(e,r,"utf8")}})),T("script prettier success!");const e=ee();if(e){const i=r.filter((e=>B.every((t=>!(0,y().default)(e,t,{matchBase:!0}))))).filter((e=>"string"===typeof n?!(0,y().default)(e,n,{matchBase:!0}):n instanceof RegExp?!n.test(e):!Array.isArray(n)||n.every((t=>"string"===typeof t?!(0,y().default)(e,t,{matchBase:!0}):!(t instanceof RegExp)||!t.test(e)))));if(t&&(R("git commit\u7981\u6b62eslint\u7684ignore\u65b9\u5f0f(eslint-disable\u3001.eslintrc*\u3001ignore\u7b49)\u3002"),n&&R(`\u901a\u8fc7yolkrc\u914d\u7f6eeslintIgnore\uff1a${n}\u3002`)),i.length>=D){const n=[];(0,s().default)(i,20).forEach((r=>{n.push(new Promise((n=>{A({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",e,...r],complete:n,exit:!1})})))}));const r=process.getMaxListeners(),o=(0,s().default)(n,r?r/2:2);let a=0;const c=()=>{a<o.length?Promise.all(o[a]).then((()=>{a++,c()})):M()};c()}else i.length&&A({command:"eslint",args:[t?"--no-inline-config --no-ignore":"","--no-error-on-unmatched-pattern","--config",e,...i]})}else R("\u6ca1\u6709eslint\u914d\u7f6e\u6587\u4ef6")}else M()};R("\u8981\u6c42\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),i.then(o)}))},ie=({mProject:e,mPrivateKeyPath:t,mVersion:n,mDesc:r,mRobot:i,mQrcodeFormat:o,mQrcodeOutputDest:s,mPagePath:u,mSearchQuery:l})=>{const f=a().default.existsSync(c().default.join(P,".git"))?(0,d().execSync)("git log -1 --pretty=format:%H").toString():"",p=W(),m=p.appid,y=e||c().default.join(P,"dist"),g=t||c().default.join(P,`private.${m}.key`);if(a().default.existsSync(y)){if(a().default.existsSync(g)){const e=V(),t=n||e.version||p.version||"1.0.0",a=r||e.description||p.description,c=`version: ${t};${f?` commit: ${f};`:""}${a?` description: ${a};`:""}`;f&&_(`commit: ${f}`),_(`dist: ${y}`),_(`key: ${g}`),_(`appid: ${m}`),_(`version: ${t}`),_(`desc: ${c}`);const d=new(S().Project)({appid:m,type:"miniProgram",projectPath:y,privateKeyPath:g,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:m,options:{project:d,version:t,desc:c,setting:p.setting,robot:i,qrcodeFormat:o,qrcodeOutputDest:s,pagePath:u,searchQuery:l}}}throw Error(`\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(${g})`)}throw Error(`\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(${y})`)},oe=()=>{ne(),process.argv.length>2?l().default.version(k.default.version).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,n)=>{const s=(0,t().default)(n),l=s[0],f=s.slice(1),d=e.clone,p=e.template,m=e.docs;if(l)switch(_(`yolk version: ${k.default.version}`),_(`node version: ${process.version}`),_(`platform: ${u().default.platform()}`),_(`memory: ${(0,o().default)(u().default.freemem()/1024/1024)} MB(${(0,o().default)(u().default.totalmem()/1024/1024)} MB)`),l){case"init":if(T(`yolk ${l} \u5f00\u59cb`),d)if(p){const e=".yolk",t=c().default.join(P,e);a().default.existsSync(t)&&(0,b().default)(t,(()=>{T(`\u7f13\u5b58\u5220\u9664 success! ${t}`)})),A({command:"git",args:["clone","-b","master","--depth","1",p,e].concat(f)}),C(P,t)}else Q("--clone \u6a21\u5f0f\u5fc5\u987b\u6709--template");else K(P);break;case"start":G()?X()?A({command:"taro",args:["build","--type","tt","--watch"].concat(f)}):Z()?A({command:"taro",args:["build","--type","alipay","--watch"].concat(f)}):A({command:"taro",args:["build","--type","weapp","--watch"].concat(f)}):m?A({command:"dumi",args:["dev"].concat(f)}):H()?A({command:"icejs",args:["start","--config",Y()].concat(f)}):A({command:"umi",args:["dev"].concat(f)});break;case"build":G()?X()?A({command:"taro",args:["build","--type","tt"].concat(f)}):Z()?A({command:"taro",args:["build","--type","alipay"].concat(f)}):A({command:"taro",args:["build","--type","weapp"].concat(f)}):m?A({command:"dumi",args:["build"].concat(f)}):H()?A({command:"icejs",args:["build","--config",Y()].concat(f)}):A({command:"umi",args:["build"].concat(f)});break;case"pre-commit":re();break;case"test":A({command:"umi-test",args:["--no-cache","--update-snapshot","--runInBand","--detectOpenHandles"].concat(f)});break;case"miniapp-upload":case"miniprogram-upload":if(G())if(X());else if(Z());else{const t=ie(e),n=t.appid,o=t.options;_(`${n}\u4e0a\u4f20\u5f00\u59cb`),S().upload($($({},(0,i().default)(o,["project","version","desc","setting","robot"])),{},{onProgressUpdate:e=>{if((0,r().default)(e))_(`task: ${e}`);else{const t=e.status,n=e.message;_(`task(${t}): ${n}`)}}})).then((()=>{T(`${n}\u4e0a\u4f20\u5b8c\u6210`)}))}break;case"miniapp-preview":case"miniprogram-preview":if(G())if(X());else if(Z());else{const t=ie(e),n=t.appid,o=t.options;_(`${n}\u4e0a\u4f20\u9884\u89c8\u5f00\u59cb`),S().preview($($({},(0,i().default)(o,["project","version","desc","setting","robot","qrcodeFormat","qrcodeOutputDest","pagePath","searchQuery"])),{},{onProgressUpdate:e=>{if((0,r().default)(e))_(`task: ${e}`);else{const t=e.status,n=e.message;_(`task(${t}): ${n}`)}}})).then((()=>{T(`${n}\u4e0a\u4f20\u9884\u89c8\u5b8c\u6210`)}))}break;default:N()}})).parse(process.argv):N()};oe();
|
package/package.json
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baic/yolk-cli",
|
|
3
|
-
"version": "2.0.1-alpha.
|
|
3
|
+
"version": "2.0.1-alpha.44",
|
|
4
4
|
"author": "Baic <303394539@qq.com>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
7
7
|
"yolk": "lib/index.js"
|
|
8
8
|
},
|
|
9
9
|
"main": "lib/index.js",
|
|
10
|
+
"module": "es/index.js",
|
|
11
|
+
"typings": "lib/index.d.ts",
|
|
10
12
|
"files": [
|
|
11
13
|
"lib",
|
|
14
|
+
"es",
|
|
12
15
|
"templates"
|
|
13
16
|
],
|
|
14
17
|
"repository": {
|
|
@@ -38,5 +41,5 @@
|
|
|
38
41
|
"publishConfig": {
|
|
39
42
|
"access": "public"
|
|
40
43
|
},
|
|
41
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "62ace64794b97b84c33536e17fae8237533f1f35"
|
|
42
45
|
}
|