@baic/yolk-cli 2.1.0-alpha.265 → 2.1.0-alpha.267
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/_util.js +1 -1
- package/es/lintstagedrc.js +1 -1
- package/es/yolk.js +1 -1
- package/lib/_util.js +1 -1
- package/lib/lintstagedrc.js +1 -1
- package/lib/yolk.js +1 -1
- package/package.json +7 -7
- package/templates/taro-miniprogram/tsconfig.json +1 -1
package/es/_util.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{spawn as o}from"node:child_process";import{existsSync as r,readFileSync as e}from"node:fs";import{join as t}from"node:path";import
|
|
1
|
+
import{spawn as o}from"node:child_process";import{existsSync as r,readFileSync as e}from"node:fs";import{join as t}from"node:path";import c from"chalk";import{globSync as n}from"glob";import{rimrafSync as s,windowsSync as i}from"rimraf";import{program as p}from"../compiled/commander";export const cwd=process.cwd();const a=console;export const ENCODING="utf-8";export const warn=o=>o&&a.log(c.yellow("warn -"),o);export const error=o=>o&&a.log(c.red("error -"),o);export const ready=o=>o&&a.log(c.green("ready -"),o);export const info=o=>o&&a.log(c.blue("info -"),o);const g=()=>"win32"===process.platform,l=o=>g()?`${o}.cmd`:o;export const rimrafSync=o=>g()?i(o):s(o);export const completeExit=()=>{info("yolk complete!"),process.exit(0)};export const breakExit=()=>{warn("yolk break!"),process.exit(0)};export const execCommand=({command:r,args:e,complete:t,close:c,exit:n=!0})=>{const s=o(l(r),e||[],{stdio:"inherit"}).on("close",o=>{o?(c&&c(),error("yolk close!"),process.exit(o)):(t&&t(),n&&completeExit())});process.on("SIGINT",()=>{p.exitOverride(),s.kill(),breakExit()})};export const getYolkConfig=()=>{const o=n("*.yolkrc*",{cwd:cwd,dot:!0});if(!o.length)return{};const c=t(cwd,o[0]);if(!r(c))return{};try{return JSON.parse(e(c,ENCODING))||{}}catch(error){return error(error.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}};export const getProjectConfigJSON=()=>{const o=t(cwd,"project.config.json");if(!r(o))return{};try{return JSON.parse(e(o,ENCODING))||{}}catch(error){return error(error.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}};export const getPackageJSON=()=>{const o=t(cwd,"package.json");if(!r(o))return{};try{return JSON.parse(e(o,ENCODING))||{}}catch(error){return error(error.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}};export const getConfigFilePath=o=>{const e=getYolkConfig();let t="";try{t=require.resolve(`@baic/${o}-config-yolk`)}catch(error){}const c=n(`*.${o}rc*`,{cwd:cwd,dot:!0}),s=c?.[0];return!1===e.strict&&s&&r(s)?s:r(t)?t:s};export const getEsLintConfigPath=()=>getConfigFilePath("eslint");export const getStyleLintConfigPath=()=>getConfigFilePath("stylelint");export const getPrettierConfigPath=()=>getConfigFilePath("prettier");export const getBiomeConfigPath=()=>getConfigFilePath("biome");
|
package/es/lintstagedrc.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const{join:t}=require("node:path"),{getBiomeConfigPath:e,getEsLintConfigPath:n,getPrettierConfigPath:s,getStyleLintConfigPath:o,getYolkConfig:c}=require("./_util"),i=["**/node_modules/**","**/build/**","**/dist/**","**/lib/**","**/es/**","**/mock/**","**/test/**","**/public/**","**/assets/**","**/.umi/**","**/.umi-production/**","**/h5+app/**","**/*uni*/**","**/android/**","**/ios/**","**/*.ignore/**"],{strict:a=!0,eslintIgnorePattern:r,stylelintIgnorePattern:l}=c(),g=t(process.cwd(),"node_modules",".cache"),h=`prettier --write --cache --cache-strategy=content --cache-location=${t(g,".prettiercache")} --config ${s()} --no-error-on-unmatched-pattern`,p=`eslint --fix ${a?"--no-inline-config":""} --no-error-on-unmatched-pattern --cache --cache-strategy=content --cache-location=${t(g,".eslintcache")} --config ${n()} ${i.concat(r?[r]:[]).map(t=>`--ignore-pattern ${t}`).join(" ")}`,u=`stylelint --fix ${a?"--ignore-disables":""} --allow-empty-input --cache --cache-strategy=content --cache-location=${t(g,".stylelintcache")} --config ${o()} ${i.concat(l?[l]:[]).map(t=>`--ignore-pattern ${t}`).join(" ")}`,m=`biome check --write --unsafe --no-errors-on-unmatched --log-level=error --files-ignore-unknown=true --config-path=${e()}`,$={"*.{md,json,jsonc}":[h],"*.css":[h,`${u} --custom-syntax postcss`],"*.less":[h,`${u} --custom-syntax postcss-less`],"*.{sass,scss}":[h,`${u} --custom-syntax postcss-scss`],"*.{js,jsx,cjs,mjs}":[h,p],"*.{ts,tsx,cts,mts}":[`${h} --parser=typescript`,p]};module.exports={...$,[`!(${Object.keys($).join("|")})`]:[m]};
|
package/es/yolk.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
import e from"@babel/runtime/helpers/defineProperty";function t(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,r)}return o}function o(o){for(var r=1;r<arguments.length;r++){var a=null!=arguments[r]?arguments[r]:{};r%2?t(Object(a),!0).forEach(function(t){e(o,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(a)):t(Object(a)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(a,e))})}return o}import{execSync as r}from"node:child_process";import{chmodSync as a,copyFileSync as i,existsSync as n,readFileSync as c,statSync as m,writeFileSync as s}from"node:fs";import p from"node:os";import{basename as d,dirname as l,join as u,relative as g}from"node:path";import{floor as f,isString as y}from"lodash";import{defaultRunCommandOptions as h}from"@baic/yolk-test";import{globSync as b}from"glob";import v from"inquirer";import*as $ from"miniprogram-ci";import{mkdirpSync as O}from"mkdirp";import{program as j}from"../compiled/commander";import k from"../compiled/mustache";import w from"../package.json";import{breakExit as P,cwd as x,ENCODING as D,error as E,execCommand as S,getPackageJSON as q,getProjectConfigJSON as _,getYolkConfig as Q,info as B,ready as F,rimrafSync as K,warn as L}from"./_util";const N="##### CREATED BY YOLK #####",R=(e,t,o)=>{v.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 HBuilderX uni-app template(umi framework)",value:"umi-mobile-uni-app"},{name:"mobile native template(umi framework)",value:"umi-mobile-native"},{name:"taro-miniprogram template",value:"taro-miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:d(d(process.cwd()))},{type:"list",name:"packageManager",message:"\u9009\u62e9\u5305\u7ba1\u7406\u5668(\u9ed8\u8ba4\uff1apnpm\uff0c\u63a8\u8350\uff1apnpm)",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(({type:r,projectName:a,packageManager:p})=>{const f={projectName:a,packageManager:"default"===p?"pnpm":p,yolkVersion:w.version};if("umi-mobile-uni-app"===r)return void L("\u6682\u4e0d\u652f\u6301");const y=t||u(__dirname,`../templates/${r}`);F(`\u590d\u5236\u6a21\u7248 ${d(y)}`);const h=b("**/*",{cwd:y,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(h.forEach(t=>{if(!y)return;const o=u(y,t);if(!m(o).isDirectory())if(t.endsWith(".tpl")){const r=c(o,D),a=u(e,t.replace(/\.tpl$/,"")),i=k.render(r,f);O(l(a)),F(`\u521b\u5efa ${g(e,a)}`),s(a,i,D)}else{F(`\u521b\u5efa ${t}`);const r=u(e,t);O(l(r)),i(o,r)}}),F("\u590d\u5236\u6a21\u7248 success!"),o&&n(y)&&K(y)&&F(`\u7f13\u5b58\u5220\u9664 success! ${d(y||"")}`),p)switch(F("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),p){case"default":case"pnpm":S({command:"pnpm",args:["install"]});break;case"yarn":S({command:"yarn",args:["install"]});break;case"npm":S({command:"npm",args:["install"]});break;default:}F("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")})},M=(e,t)=>R(e,t,!0),I=()=>n(u(x,"project.config.json")),U=()=>{let e=n(u(x,"node_modules/.bin/umi"));try{if(!e)try{e=n(require.resolve("umi"))}catch(t){}}catch(t){}return e},V=()=>{let e=n(u(x,"node_modules/.bin/max"));try{if(!e)try{e=n(require.resolve("@umijs/max"))}catch(t){}}catch(t){}return e},W=()=>{const e=u(x,"project.config.json");if(n(e)){const t=require(e);return t.appid}return""},A=()=>n(u(x,"project.tt.json"))&&0===W().indexOf("tt"),T=()=>0===W().indexOf("20"),X=()=>{const e=Q(),t=u(x,".husky/pre-commit"),o=u(x,".git/"),r=u(x,".git/hooks"),i=u(r,"pre-commit"),m=n(t),d=n(o),l=n(r),g=n(i),f=!1!==e.initPreCommit&&!m,y=[N,"npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",N].join(p.EOL),h=e=>{let t=e||"";return t&&t.indexOf(N)>=0&&(t=`${t.substring(0,t.indexOf(N))}${t.substring(t.lastIndexOf(N)+N.length)}`.replace(/(\r|\n)+$/gu,"")),t};if(d)if(f)if(l||(O(r),F("create .git/hooks")),g){try{a(i,"777")}catch(b){E(`chmod ${i} failed: ${b.message}`)}const e=h(c(i,D).toString());s(i,(e.indexOf("#!/")<0?["#!/bin/sh"]:[]).concat([e,y]).filter(e=>!!e).join(p.EOL),D)}else s(i,["#!/bin/sh",y].join(p.EOL),D),F("create pre-commit");else if(g){const e=h(c(i,D).toString());s(i,e,D)}},C=()=>{L("\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),S({command:"lint-staged",args:["-c",require.resolve("./lintstagedrc"),"--allow-empty"]})},H=({mAppid:e,mProject:t,mPrivateKeyPath:a,mVersion:i,mDesc:c,mRobot:m,mQrcodeFormat:s,mQrcodeOutputDest:p,mPagePath:d,mSearchQuery:l})=>{let g="";try{g=n(u(x,".git"))?r("git log -1 --pretty=format:%H").toString():""}catch(v){}const f=_(),y=e||f.appid,h=t||u(x,"dist"),b=a||u(x,`private.${y}.key`);if(n(h)){if(n(b)){const e=q(),t=i||e.version||f.version||"1.0.0",r=c||e.description||f.description,a=`${g?` commit: ${g};`:""}${r?` description: ${r};`:""}`;g&&B(`commit: ${g}`),B(`dist: ${h}`),B(`key: ${b}`),B(`appid: ${y}`),B(`version: ${t}`),B(`desc: ${a}`);const n=new $.Project({appid:y,type:"miniProgram",projectPath:h,privateKeyPath:b,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:y,options:{project:n,version:t,desc:a,setting:o(o({},f.setting),{},{es6:!1,es7:!1,minifyJS:!1,minifyWXML:!1,minifyWXSS:!1,minify:!1}),robot:m,qrcodeFormat:s,qrcodeOutputDest:p,pagePath:d,searchQuery:l}}}throw Error(`\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(${b})`)}throw Error(`\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(${h})`)},Y=()=>{let e="";try{e=r(`npm view ${w.name} version`,{timeout:3e3}).toString().replace(/\n/g,"")}catch(t){}B(`yolk version: ${w.version}${e&&e!==w.version?`(latest\uff1a${e})`:""}`),B(`node version: ${process.version}`),B(`platform: ${p.platform()}`),B(`memory: ${f(p.freemem()/1024/1024)} MB(${f(p.totalmem()/1024/1024)} MB)`)},G=e=>e.option("--appid, --mAppid <appid>","\u5c0f\u7a0b\u5e8fappid").option("--project, --mProject <project>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u5de5\u7a0b\u76ee\u5f55").option("--privateKeyPath, --mPrivateKeyPath <privateKeyPath>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20key\u6587\u4ef6\uff0c\u9ed8\u8ba4\uff1a{\u5f53\u524d\u76ee\u5f55}/private.{appid}.key").option("--version, --mVersion <version>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u7248\u672c\u53f7").option("--desc, --mDesc <desc>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u63cf\u8ff0").option("--robot, --mRobot <robot>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20ci\u673a\u5668\u4eba1~30").option("--qrcodeFormat, --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("--qrcodeOutputDest, --mQrcodeOutputDest <qrcodeOutputDest>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u4e8c\u7ef4\u7801\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84").option("--pagePath, --mPagePath <pagePath>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84").option("--searchQuery, --mSearchQuery <searchQuery>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84\u542f\u52a8\u53c2\u6570"),J=/(\w+)=('(.*)'|"(.*)"|(.*))/giu,z=e=>{process.env.DID_YOU_KNOW="none",process.env.VITE_CJS_IGNORE_WARNING="true";const t=[];return null===e||void 0===e||e.forEach(e=>{if(J.test(e)){const[t,o]=e.split("=");process.env[t]=o,B(`\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff1a${t}=${o}`)}else t.push(e)}),t},Z=()=>{X(),process.argv.length>2?(j.version(w.version,"-v,--version","\u8f93\u51fa\u7248\u672c\u53f7").usage("[command] [options]"),j.command("init").description("\u521d\u59cb\u5316\u9879\u76ee").option("--clone <template>","\u5982\u679c\u9700\u8981\uff0c\u53ef\u901a\u8fc7git clone\u62c9\u53d6\u6a21\u7248\uff0c\u9ed8\u8ba4\u53d6cli\u9ed8\u8ba4\u6a21\u7248").action(({clone:e},{args:t})=>{if(Y(),F("yolk init \u5f00\u59cb"),e){const o=".yolk",r=u(x,o);n(r)&&K(r)&&F(`\u7f13\u5b58\u5220\u9664 success! ${r}`),S({command:"git",args:["clone","-b","master","--depth","1",e,o].concat(t)}),M(x,r)}else R(x)}),j.command("start").description("\u542f\u52a8\u9879\u76ee").option("--docs","\u6587\u6863\u6a21\u5f0f").action(({docs:e},{args:t})=>{Y();const o=z(t);I()?A()?S({command:"taro",args:["build","--type","tt","--watch"].concat(o)}):T()?S({command:"taro",args:["build","--type","alipay","--watch"].concat(o)}):S({command:"taro",args:["build","--type","weapp","--watch"].concat(o)}):e?S({command:"dumi",args:["dev"].concat(o)}):V()?S({command:"max",args:["dev"].concat(o)}):U()?S({command:"umi",args:["dev"].concat(o)}):P()}),j.command("build").description("\u7f16\u8bd1\u9879\u76ee").option("--docs","\u6587\u6863\u6a21\u5f0f").action(({docs:e},{args:t})=>{Y();const o=z(t);I()?A()?S({command:"taro",args:["build","--type","tt"].concat(o)}):T()?S({command:"taro",args:["build","--type","alipay"].concat(o)}):S({command:"taro",args:["build","--type","weapp"].concat(o)}):e?S({command:"dumi",args:["build"].concat(o)}):V()?S({command:"max",args:["setup"].concat(o),complete:()=>S({command:"max",args:["build"].concat(o)}),exit:!1}):U()?S({command:"max",args:["setup"].concat(o),complete:()=>S({command:"umi",args:["build"].concat(o)}),exit:!1}):P()}),j.command("init-pre-commit").description("\u521d\u59cb\u5316 commit hook").action(X),j.command("pre-commit").description("\u6267\u884ccommit hook").action(C),G(j.command("miniprogram-upload").description("\u4f7f\u7528 miniprogram-ci \u4e0a\u4f20\u5c0f\u7a0b\u5e8f")).action(e=>{if(I())if(A());else if(T());else{const{appid:t,options:{project:o,version:r,desc:a,setting:i,robot:n}}=H(e);B(`${t} \u4e0a\u4f20\u5f00\u59cb`),$.upload({project:o,version:r,desc:a,setting:i,robot:n,onProgressUpdate:e=>{if(y(e))B(`task: ${e}`);else{const{status:t,message:o}=e;B(`task(${t}): ${o}`)}}}).then(()=>{F(`${t} \u4e0a\u4f20\u5b8c\u6210`)})}else E("\u975e\u5c0f\u7a0b\u5e8f\u9879\u76ee\u76ee\u5f55")}),G(j.command("miniprogram-preview").description("\u4f7f\u7528 miniprogram-ci \u9884\u89c8\u5c0f\u7a0b\u5e8f")).action(e=>{if(I())if(A());else if(T());else{const{appid:t,options:{project:o,version:r,desc:a,setting:i,robot:n,qrcodeFormat:c,qrcodeOutputDest:m,pagePath:s,searchQuery:p}}=H(e);B(`${t} \u4e0a\u4f20\u9884\u89c8\u5f00\u59cb`),$.preview({project:o,version:r,desc:a,setting:i,robot:n,qrcodeFormat:c,qrcodeOutputDest:m,pagePath:s,searchQuery:p,onProgressUpdate:e=>{if(y(e))B(`task: ${e}`);else{const{status:t,message:o}=e;B(`task(${t}): ${o}`)}}}).then(()=>{F(`${t} \u4e0a\u4f20\u9884\u89c8\u5b8c\u6210`)})}else E("\u975e\u5c0f\u7a0b\u5e8f\u9879\u76ee\u76ee\u5f55")}),j.command("exec").description("\u6267\u884cts\u6587\u4ef6").argument("<path>","\u6267\u884c\u7684ts\u6587\u4ef6").action((e,t,{args:o})=>{const r=z(o);S({command:"tsx",args:[e].concat(r)})}),(e=>{let t=j.command("test").description("\u6267\u884c\u6d4b\u8bd5");return e.forEach(({name:e,isBoolean:o,description:r,defaultValue:a})=>{t=t.option(o?`--${e}`:`--${e} <${e}>`,r,a)}),t})(h).action((e,{args:t})=>{const o=h.filter(({isBoolean:e})=>!!e).map(({name:e})=>e),r=z(t);let a=["run"];Object.keys(e).forEach(t=>{const r=e[t];a=a.concat(r?[o.indexOf(t)>=0?`--${t}`:`--${t}=${r}`]:[])}),V()?S({command:"max",args:["setup"].concat(r),complete:()=>S({command:"yest",args:a.concat(r),exit:!1}),exit:!1}):U()?S({command:"umi",args:["setup"].concat(r),complete:()=>S({command:"yest",args:a.concat(r),exit:!1}),exit:!1}):S({command:"yest",args:a.concat(r),exit:!1})}),j.parse(process.argv)):P()};Z();
|
|
2
|
+
import e from"lodash/isString";import t from"lodash/floor";import{execSync as o}from"node:child_process";import{chmodSync as a,copyFileSync as i,existsSync as r,readFileSync as n,statSync as m,writeFileSync as s}from"node:fs";import c from"node:os";import{basename as p,dirname as d,join as l,relative as u}from"node:path";import{defaultRunCommandOptions as g}from"@baic/yolk-test";import{globSync as f}from"glob";import h from"inquirer";import*as y from"miniprogram-ci";import{mkdirpSync as v}from"mkdirp";import{program as $}from"../compiled/commander";import b from"../compiled/mustache";import k from"../package.json";import{breakExit as x,cwd as j,ENCODING as w,error as P,execCommand as O,getPackageJSON as q,getProjectConfigJSON as E,getYolkConfig as S,info as D,ready as _,rimrafSync as Q,warn as N}from"./_util";const B="##### CREATED BY YOLK #####",F=(e,t,o)=>{h.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 HBuilderX uni-app template(umi framework)",value:"umi-mobile-uni-app"},{name:"mobile native template(umi framework)",value:"umi-mobile-native"},{name:"taro-miniprogram template",value:"taro-miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:p(p(process.cwd()))},{type:"list",name:"packageManager",message:"\u9009\u62e9\u5305\u7ba1\u7406\u5668(\u9ed8\u8ba4\uff1apnpm\uff0c\u63a8\u8350\uff1apnpm)",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(({type:a,projectName:c,packageManager:g})=>{const h={projectName:c,packageManager:"default"===g?"pnpm":g,yolkVersion:k.version};if("umi-mobile-uni-app"===a)return void N("\u6682\u4e0d\u652f\u6301");const y=t||l(__dirname,`../templates/${a}`);_(`\u590d\u5236\u6a21\u7248 ${p(y)}`);const $=f("**/*",{cwd:y,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if($.forEach(t=>{if(!y)return;const o=l(y,t);if(!m(o).isDirectory())if(t.endsWith(".tpl")){const a=n(o,w),i=l(e,t.replace(/\.tpl$/,"")),r=b.render(a,h);v(d(i)),_(`\u521b\u5efa ${u(e,i)}`),s(i,r,w)}else{_(`\u521b\u5efa ${t}`);const a=l(e,t);v(d(a)),i(o,a)}}),_("\u590d\u5236\u6a21\u7248 success!"),o&&r(y)&&Q(y)&&_(`\u7f13\u5b58\u5220\u9664 success! ${p(y||"")}`),g)switch(_("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),g){case"default":case"pnpm":O({command:"pnpm",args:["install"]});break;case"yarn":O({command:"yarn",args:["install"]});break;case"npm":O({command:"npm",args:["install"]});break;default:}_("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")})},K=(e,t)=>F(e,t,!0),L=()=>r(l(j,"project.config.json")),R=()=>{let e=r(l(j,"node_modules/.bin/umi"));try{if(!e)try{e=r(require.resolve("umi"))}catch(t){}}catch(t){}return e},M=()=>{let e=r(l(j,"node_modules/.bin/max"));try{if(!e)try{e=r(require.resolve("@umijs/max"))}catch(t){}}catch(t){}return e},I=()=>{const e=l(j,"project.config.json");if(r(e)){const t=require(e);return t.appid}return""},U=()=>r(l(j,"project.tt.json"))&&0===I().indexOf("tt"),V=()=>0===I().indexOf("20"),W=()=>{const e=S(),t=l(j,".husky/pre-commit"),o=l(j,".git/"),i=l(j,".git/hooks"),m=l(i,"pre-commit"),p=r(t),d=r(o),u=r(i),g=r(m),f=!1!==e.initPreCommit&&!p,h=[B,"npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",B].join(c.EOL),y=e=>{let t=e||"";return t&&t.indexOf(B)>=0&&(t=`${t.substring(0,t.indexOf(B))}${t.substring(t.lastIndexOf(B)+B.length)}`.replace(/(\r|\n)+$/gu,"")),t};if(d)if(f)if(u||(v(i),_("create .git/hooks")),g){try{a(m,"777")}catch($){P(`chmod ${m} failed: ${$.message}`)}const e=y(n(m,w).toString());s(m,(e.indexOf("#!/")<0?["#!/bin/sh"]:[]).concat([e,h]).filter(e=>!!e).join(c.EOL),w)}else s(m,["#!/bin/sh",h].join(c.EOL),w),_("create pre-commit");else if(g){const e=y(n(m,w).toString());s(m,e,w)}},A=()=>{N("\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),O({command:"lint-staged",args:["-c",require.resolve("./lintstagedrc"),"--allow-empty"]})},T=({mAppid:e,mProject:t,mPrivateKeyPath:a,mVersion:i,mDesc:n,mRobot:m,mQrcodeFormat:s,mQrcodeOutputDest:c,mPagePath:p,mSearchQuery:d})=>{let u="";try{u=r(l(j,".git"))?o("git log -1 --pretty=format:%H").toString():""}catch($){}const g=E(),f=e||g.appid,h=t||l(j,"dist"),v=a||l(j,`private.${f}.key`);if(r(h)){if(r(v)){const e=q(),t=i||e.version||g.version||"1.0.0",o=n||e.description||g.description,a=`${u?` commit: ${u};`:""}${o?` description: ${o};`:""}`;u&&D(`commit: ${u}`),D(`dist: ${h}`),D(`key: ${v}`),D(`appid: ${f}`),D(`version: ${t}`),D(`desc: ${a}`);const r=new y.Project({appid:f,type:"miniProgram",projectPath:h,privateKeyPath:v,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:f,options:{project:r,version:t,desc:a,setting:{...g.setting,es6:!1,es7:!1,minifyJS:!1,minifyWXML:!1,minifyWXSS:!1,minify:!1},robot:m,qrcodeFormat:s,qrcodeOutputDest:c,pagePath:p,searchQuery:d}}}throw Error(`\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(${v})`)}throw Error(`\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(${h})`)},X=()=>{let e="";try{e=o(`npm view ${k.name} version`,{timeout:3e3}).toString().replace(/\n/g,"")}catch(a){}D(`yolk version: ${k.version}${e&&e!==k.version?`(latest\uff1a${e})`:""}`),D(`node version: ${process.version}`),D(`platform: ${c.platform()}`),D(`memory: ${t(c.freemem()/1024/1024)} MB(${t(c.totalmem()/1024/1024)} MB)`)},C=e=>e.option("--appid, --mAppid <appid>","\u5c0f\u7a0b\u5e8fappid").option("--project, --mProject <project>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u5de5\u7a0b\u76ee\u5f55").option("--privateKeyPath, --mPrivateKeyPath <privateKeyPath>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20key\u6587\u4ef6\uff0c\u9ed8\u8ba4\uff1a{\u5f53\u524d\u76ee\u5f55}/private.{appid}.key").option("--version, --mVersion <version>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u7248\u672c\u53f7").option("--desc, --mDesc <desc>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u63cf\u8ff0").option("--robot, --mRobot <robot>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20ci\u673a\u5668\u4eba1~30").option("--qrcodeFormat, --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("--qrcodeOutputDest, --mQrcodeOutputDest <qrcodeOutputDest>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u4e8c\u7ef4\u7801\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84").option("--pagePath, --mPagePath <pagePath>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84").option("--searchQuery, --mSearchQuery <searchQuery>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84\u542f\u52a8\u53c2\u6570"),H=/(\w+)=('(.*)'|"(.*)"|(.*))/giu,Y=e=>{process.env.DID_YOU_KNOW="none",process.env.VITE_CJS_IGNORE_WARNING="true";const t=[];return e?.forEach(e=>{if(H.test(e)){const[t,o]=e.split("=");process.env[t]=o,D(`\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff1a${t}=${o}`)}else t.push(e)}),t},G=()=>{W(),process.argv.length>2?($.version(k.version,"-v,--version","\u8f93\u51fa\u7248\u672c\u53f7").usage("[command] [options]"),$.command("init").description("\u521d\u59cb\u5316\u9879\u76ee").option("--clone <template>","\u5982\u679c\u9700\u8981\uff0c\u53ef\u901a\u8fc7git clone\u62c9\u53d6\u6a21\u7248\uff0c\u9ed8\u8ba4\u53d6cli\u9ed8\u8ba4\u6a21\u7248").action(({clone:e},{args:t})=>{if(X(),_("yolk init \u5f00\u59cb"),e){const o=".yolk",a=l(j,o);r(a)&&Q(a)&&_(`\u7f13\u5b58\u5220\u9664 success! ${a}`),O({command:"git",args:["clone","-b","master","--depth","1",e,o].concat(t)}),K(j,a)}else F(j)}),$.command("start").description("\u542f\u52a8\u9879\u76ee").option("--docs","\u6587\u6863\u6a21\u5f0f").action(({docs:e},{args:t})=>{X();const o=Y(t);L()?U()?O({command:"taro",args:["build","--type","tt","--watch"].concat(o)}):V()?O({command:"taro",args:["build","--type","alipay","--watch"].concat(o)}):O({command:"taro",args:["build","--type","weapp","--watch"].concat(o)}):e?O({command:"dumi",args:["dev"].concat(o)}):M()?O({command:"max",args:["dev"].concat(o)}):R()?O({command:"umi",args:["dev"].concat(o)}):x()}),$.command("build").description("\u7f16\u8bd1\u9879\u76ee").option("--docs","\u6587\u6863\u6a21\u5f0f").action(({docs:e},{args:t})=>{X();const o=Y(t);if(L())U()?O({command:"taro",args:["build","--type","tt"].concat(o)}):V()?O({command:"taro",args:["build","--type","alipay"].concat(o)}):O({command:"taro",args:["build","--type","weapp"].concat(o)});else if(e)O({command:"dumi",args:["build"].concat(o)});else if(M())O({command:"max",args:["setup"].concat(o),complete:()=>O({command:"max",args:["build"].concat(o)}),exit:!1});else if(R()){const e=require("umi/package.json"),t=Number((e.version||"").split(".")[0]||0);O(t>=4?{command:"umi",args:["setup"].concat(o),complete:()=>O({command:"umi",args:["build"].concat(o)}),exit:!1}:{command:"umi",args:["generate","tmp"].concat(o),complete:()=>O({command:"umi",args:["build"].concat(o)}),exit:!1})}else x()}),$.command("init-pre-commit").description("\u521d\u59cb\u5316 commit hook").action(W),$.command("pre-commit").description("\u6267\u884ccommit hook").action(A),C($.command("miniprogram-upload").description("\u4f7f\u7528 miniprogram-ci \u4e0a\u4f20\u5c0f\u7a0b\u5e8f")).action(t=>{if(L())if(U());else if(V());else{const{appid:o,options:{project:a,version:i,desc:r,setting:n,robot:m}}=T(t);D(`${o} \u4e0a\u4f20\u5f00\u59cb`),y.upload({project:a,version:i,desc:r,setting:n,robot:m,onProgressUpdate:t=>{if(e(t))D(`task: ${t}`);else{const{status:e,message:o}=t;D(`task(${e}): ${o}`)}}}).then(()=>{_(`${o} \u4e0a\u4f20\u5b8c\u6210`)})}else P("\u975e\u5c0f\u7a0b\u5e8f\u9879\u76ee\u76ee\u5f55")}),C($.command("miniprogram-preview").description("\u4f7f\u7528 miniprogram-ci \u9884\u89c8\u5c0f\u7a0b\u5e8f")).action(t=>{if(L())if(U());else if(V());else{const{appid:o,options:{project:a,version:i,desc:r,setting:n,robot:m,qrcodeFormat:s,qrcodeOutputDest:c,pagePath:p,searchQuery:d}}=T(t);D(`${o} \u4e0a\u4f20\u9884\u89c8\u5f00\u59cb`),y.preview({project:a,version:i,desc:r,setting:n,robot:m,qrcodeFormat:s,qrcodeOutputDest:c,pagePath:p,searchQuery:d,onProgressUpdate:t=>{if(e(t))D(`task: ${t}`);else{const{status:e,message:o}=t;D(`task(${e}): ${o}`)}}}).then(()=>{_(`${o} \u4e0a\u4f20\u9884\u89c8\u5b8c\u6210`)})}else P("\u975e\u5c0f\u7a0b\u5e8f\u9879\u76ee\u76ee\u5f55")}),$.command("exec").description("\u6267\u884cts\u6587\u4ef6").argument("<path>","\u6267\u884c\u7684ts\u6587\u4ef6").action((e,t,{args:o})=>{const a=Y(o);O({command:"tsx",args:[e].concat(a)})}),(e=>{let t=$.command("test").description("\u6267\u884c\u6d4b\u8bd5");return e.forEach(({name:e,isBoolean:o,description:a,defaultValue:i})=>{t=t.option(o?`--${e}`:`--${e} <${e}>`,a,i)}),t})(g).action((e,{args:t})=>{const o=g.filter(({isBoolean:e})=>!!e).map(({name:e})=>e),a=Y(t);let i=["run"];if(Object.keys(e).forEach(t=>{const a=e[t];i=i.concat(a?[o.indexOf(t)>=0?`--${t}`:`--${t}=${a}`]:[])}),M())O({command:"max",args:["setup"].concat(a),complete:()=>O({command:"yest",args:i.concat(a),exit:!1}),exit:!1});else if(R()){const e=require("umi/package.json"),t=Number((e.version||"").split(".")[0]||0);O(t>=4?{command:"umi",args:["setup"].concat(a),complete:()=>O({command:"yest",args:i.concat(a),exit:!1}),exit:!1}:{command:"umi",args:["generate","tmp"].concat(a),complete:()=>O({command:"yest",args:i.concat(a),exit:!1}),exit:!1})}else O({command:"yest",args:i.concat(a),exit:!1})}),$.parse(process.argv)):x()};G();
|
package/lib/_util.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.warn=exports.rimrafSync=exports.ready=exports.info=exports.getYolkConfig=exports.getStyleLintConfigPath=exports.getProjectConfigJSON=exports.getPrettierConfigPath=exports.getPackageJSON=exports.getEsLintConfigPath=exports.getConfigFilePath=exports.getBiomeConfigPath=exports.execCommand=exports.error=exports.cwd=exports.completeExit=exports.breakExit=exports.ENCODING=void 0;var t=require("node:child_process"),r=require("node:fs"),o=require("node:path"),s=e(require("chalk")),n=require("glob"),c=require("rimraf"),i=require("../compiled/commander");const a=exports.cwd=process.cwd(),p=console,l=exports.ENCODING="utf-8",x=e=>e&&p.log(s.default.yellow("warn -"),e);exports.warn=x;const g=e=>e&&p.log(s.default.red("error -"),e);exports.error=g;const f=e=>e&&p.log(s.default.green("ready -"),e);exports.ready=f;const d=e=>e&&p.log(s.default.blue("info -"),e);exports.info=d;const u=()=>"win32"===process.platform,y=e=>u()?`${e}.cmd`:e,m=e=>u()?(0,c.windowsSync)(e):(0,c.rimrafSync)(e);exports.rimrafSync=m;const S=()=>{d("yolk complete!"),process.exit(0)};exports.completeExit=S;const h=()=>{x("yolk break!"),process.exit(0)};exports.breakExit=h;const C=({command:e,args:r,complete:o,close:s,exit:n=!0})=>{const c=(0,t.spawn)(y(e),r||[],{stdio:"inherit"}).on("close",e=>{e?(s&&s(),g("yolk close!"),process.exit(e)):(o&&o(),n&&S())});process.on("SIGINT",()=>{i.program.exitOverride(),c.kill(),h()})};exports.execCommand=C;const k=()=>{const e=(0,n.globSync)("*.yolkrc*",{cwd:a,dot:!0});if(!e.length)return{};const t=(0,o.join)(a,e[0]);if(!(0,r.existsSync)(t))return{};try{return JSON.parse((0,r.readFileSync)(t,l))||{}}catch(g){return g(g.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}};exports.getYolkConfig=k;const P=()=>{const e=(0,o.join)(a,"project.config.json");if(!(0,r.existsSync)(e))return{};try{return JSON.parse((0,r.readFileSync)(e,l))||{}}catch(g){return g(g.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}};exports.getProjectConfigJSON=P;const w=()=>{const e=(0,o.join)(a,"package.json");if(!(0,r.existsSync)(e))return{};try{return JSON.parse((0,r.readFileSync)(e,l))||{}}catch(g){return g(g.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}};exports.getPackageJSON=w;const b=e=>{const t=k();let o="";try{o=require.resolve(`@baic/${e}-config-yolk`)}catch(g){}const s=(0,n.globSync)(`*.${e}rc*`,{cwd:a,dot:!0}),c=
|
|
1
|
+
"use strict";var e=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.warn=exports.rimrafSync=exports.ready=exports.info=exports.getYolkConfig=exports.getStyleLintConfigPath=exports.getProjectConfigJSON=exports.getPrettierConfigPath=exports.getPackageJSON=exports.getEsLintConfigPath=exports.getConfigFilePath=exports.getBiomeConfigPath=exports.execCommand=exports.error=exports.cwd=exports.completeExit=exports.breakExit=exports.ENCODING=void 0;var t=require("node:child_process"),r=require("node:fs"),o=require("node:path"),s=e(require("chalk")),n=require("glob"),c=require("rimraf"),i=require("../compiled/commander");const a=exports.cwd=process.cwd(),p=console,l=exports.ENCODING="utf-8",x=e=>e&&p.log(s.default.yellow("warn -"),e);exports.warn=x;const g=e=>e&&p.log(s.default.red("error -"),e);exports.error=g;const f=e=>e&&p.log(s.default.green("ready -"),e);exports.ready=f;const d=e=>e&&p.log(s.default.blue("info -"),e);exports.info=d;const u=()=>"win32"===process.platform,y=e=>u()?`${e}.cmd`:e,m=e=>u()?(0,c.windowsSync)(e):(0,c.rimrafSync)(e);exports.rimrafSync=m;const S=()=>{d("yolk complete!"),process.exit(0)};exports.completeExit=S;const h=()=>{x("yolk break!"),process.exit(0)};exports.breakExit=h;const C=({command:e,args:r,complete:o,close:s,exit:n=!0})=>{const c=(0,t.spawn)(y(e),r||[],{stdio:"inherit"}).on("close",e=>{e?(s&&s(),g("yolk close!"),process.exit(e)):(o&&o(),n&&S())});process.on("SIGINT",()=>{i.program.exitOverride(),c.kill(),h()})};exports.execCommand=C;const k=()=>{const e=(0,n.globSync)("*.yolkrc*",{cwd:a,dot:!0});if(!e.length)return{};const t=(0,o.join)(a,e[0]);if(!(0,r.existsSync)(t))return{};try{return JSON.parse((0,r.readFileSync)(t,l))||{}}catch(g){return g(g.message||".yolkrc\u8f6c\u6362\u9519\u8bef"),{}}};exports.getYolkConfig=k;const P=()=>{const e=(0,o.join)(a,"project.config.json");if(!(0,r.existsSync)(e))return{};try{return JSON.parse((0,r.readFileSync)(e,l))||{}}catch(g){return g(g.message||"project.config.json\u8f6c\u6362\u9519\u8bef"),{}}};exports.getProjectConfigJSON=P;const w=()=>{const e=(0,o.join)(a,"package.json");if(!(0,r.existsSync)(e))return{};try{return JSON.parse((0,r.readFileSync)(e,l))||{}}catch(g){return g(g.message||"package.json\u8f6c\u6362\u9519\u8bef"),{}}};exports.getPackageJSON=w;const b=e=>{const t=k();let o="";try{o=require.resolve(`@baic/${e}-config-yolk`)}catch(g){}const s=(0,n.globSync)(`*.${e}rc*`,{cwd:a,dot:!0}),c=s?.[0];return!1===t.strict&&c&&(0,r.existsSync)(c)?c:(0,r.existsSync)(o)?o:c};exports.getConfigFilePath=b;const j=()=>b("eslint");exports.getEsLintConfigPath=j;const N=()=>b("stylelint");exports.getStyleLintConfigPath=N;const O=()=>b("prettier");exports.getPrettierConfigPath=O;const q=()=>b("biome");exports.getBiomeConfigPath=q;
|
package/lib/lintstagedrc.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";const{join:t}=require("node:path"),{getBiomeConfigPath:e,getEsLintConfigPath:n,getPrettierConfigPath:s,getStyleLintConfigPath:o,getYolkConfig:c}=require("./_util"),i=["**/node_modules/**","**/build/**","**/dist/**","**/lib/**","**/es/**","**/mock/**","**/test/**","**/public/**","**/assets/**","**/.umi/**","**/.umi-production/**","**/h5+app/**","**/*uni*/**","**/android/**","**/ios/**","**/*.ignore/**"],{strict:r=!0,eslintIgnorePattern:a,stylelintIgnorePattern:l}=c(),g=t(process.cwd(),"node_modules",".cache"),h=`prettier --write --cache --cache-strategy=content --cache-location=${t(g,".prettiercache")} --config ${s()} --no-error-on-unmatched-pattern`,p=`eslint --fix ${r?"--no-inline-config":""} --no-error-on-unmatched-pattern --cache --cache-strategy=content --cache-location=${t(g,".eslintcache")} --config ${n()} ${i.concat(a?[a]:[]).map(t=>`--ignore-pattern ${t}`).join(" ")}`,u=`stylelint --fix ${r?"--ignore-disables":""} --allow-empty-input --cache --cache-strategy=content --cache-location=${t(g,".stylelintcache")} --config ${o()} ${i.concat(l?[l]:[]).map(t=>`--ignore-pattern ${t}`).join(" ")}`,m=`biome check --write --unsafe --no-errors-on-unmatched --log-level=error --files-ignore-unknown=true --config-path=${e()}`,$={"*.{md,json,jsonc}":[h],"*.css":[h,`${u} --custom-syntax postcss`],"*.less":[h,`${u} --custom-syntax postcss-less`],"*.{sass,scss}":[h,`${u} --custom-syntax postcss-scss`],"*.{js,jsx,cjs,mjs}":[h,p],"*.{ts,tsx,cts,mts}":[`${h} --parser=typescript`,p]};module.exports={...$,[`!(${Object.keys($).join("|")})`]:[m]};
|
package/lib/yolk.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
"use strict";var e=require("@babel/runtime/helpers/interopRequireDefault"),t=e(require("@babel/runtime/helpers/defineProperty")),o=require("node:child_process"),r=require("node:fs"),n=e(require("node:os")),a=require("node:path"),i=require("lodash"),c=require("@baic/yolk-test"),s=require("glob"),m=e(require("inquirer")),p=b(require("miniprogram-ci")),d=require("mkdirp"),l=require("../compiled/commander"),u=e(require("../compiled/mustache")),f=e(require("../package.json")),g=require("./_util");function y(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(y=function(e){return e?o:t})(e)}function b(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=y(t);if(o&&o.has(e))return o.get(e);var r={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=n?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(r,a,i):r[a]=e[a]}return r.default=e,o&&o.set(e,r),r}function x(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,r)}return o}function h(e){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?x(Object(r),!0).forEach(function(o){(0,t.default)(e,o,r[o])}):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 v="##### CREATED BY YOLK #####",j=(e,t,o)=>{m.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 HBuilderX uni-app template(umi framework)",value:"umi-mobile-uni-app"},{name:"mobile native template(umi framework)",value:"umi-mobile-native"},{name:"taro-miniprogram template",value:"taro-miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:(0,a.basename)((0,a.basename)(process.cwd()))},{type:"list",name:"packageManager",message:"\u9009\u62e9\u5305\u7ba1\u7406\u5668(\u9ed8\u8ba4\uff1apnpm\uff0c\u63a8\u8350\uff1apnpm)",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(({type:n,projectName:i,packageManager:c})=>{const m={projectName:i,packageManager:"default"===c?"pnpm":c,yolkVersion:f.default.version};if("umi-mobile-uni-app"===n)return void(0,g.warn)("\u6682\u4e0d\u652f\u6301");const p=t||(0,a.join)(__dirname,`../templates/${n}`);(0,g.ready)(`\u590d\u5236\u6a21\u7248 ${(0,a.basename)(p)}`);const l=(0,s.globSync)("**/*",{cwd:p,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(l.forEach(t=>{if(!p)return;const o=(0,a.join)(p,t);if(!(0,r.statSync)(o).isDirectory())if(t.endsWith(".tpl")){const n=(0,r.readFileSync)(o,g.ENCODING),i=(0,a.join)(e,t.replace(/\.tpl$/,"")),c=u.default.render(n,m);(0,d.mkdirpSync)((0,a.dirname)(i)),(0,g.ready)(`\u521b\u5efa ${(0,a.relative)(e,i)}`),(0,r.writeFileSync)(i,c,g.ENCODING)}else{(0,g.ready)(`\u521b\u5efa ${t}`);const n=(0,a.join)(e,t);(0,d.mkdirpSync)((0,a.dirname)(n)),(0,r.copyFileSync)(o,n)}}),(0,g.ready)("\u590d\u5236\u6a21\u7248 success!"),o&&(0,r.existsSync)(p)&&(0,g.rimrafSync)(p)&&(0,g.ready)(`\u7f13\u5b58\u5220\u9664 success! ${(0,a.basename)(p||"")}`),c)switch((0,g.ready)("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),c){case"default":case"pnpm":(0,g.execCommand)({command:"pnpm",args:["install"]});break;case"yarn":(0,g.execCommand)({command:"yarn",args:["install"]});break;case"npm":(0,g.execCommand)({command:"npm",args:["install"]});break;default:}(0,g.ready)("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")})},w=(e,t)=>j(e,t,!0),O=()=>(0,r.existsSync)((0,a.join)(g.cwd,"project.config.json")),S=()=>{let e=(0,r.existsSync)((0,a.join)(g.cwd,"node_modules/.bin/umi"));try{if(!e)try{e=(0,r.existsSync)(require.resolve("umi"))}catch(t){}}catch(t){}return e},$=()=>{let e=(0,r.existsSync)((0,a.join)(g.cwd,"node_modules/.bin/max"));try{if(!e)try{e=(0,r.existsSync)(require.resolve("@umijs/max"))}catch(t){}}catch(t){}return e},k=()=>{const e=(0,a.join)(g.cwd,"project.config.json");if((0,r.existsSync)(e)){const t=require(e);return t.appid}return""},P=()=>(0,r.existsSync)((0,a.join)(g.cwd,"project.tt.json"))&&0===k().indexOf("tt"),C=()=>0===k().indexOf("20"),q=()=>{const e=(0,g.getYolkConfig)(),t=(0,a.join)(g.cwd,".husky/pre-commit"),o=(0,a.join)(g.cwd,".git/"),i=(0,a.join)(g.cwd,".git/hooks"),c=(0,a.join)(i,"pre-commit"),s=(0,r.existsSync)(t),m=(0,r.existsSync)(o),p=(0,r.existsSync)(i),l=(0,r.existsSync)(c),u=!1!==e.initPreCommit&&!s,f=[v,"npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",v].join(n.default.EOL),y=e=>{let t=e||"";return t&&t.indexOf(v)>=0&&(t=`${t.substring(0,t.indexOf(v))}${t.substring(t.lastIndexOf(v)+v.length)}`.replace(/(\r|\n)+$/gu,"")),t};if(m)if(u)if(p||((0,d.mkdirpSync)(i),(0,g.ready)("create .git/hooks")),l){try{(0,r.chmodSync)(c,"777")}catch(b){(0,g.error)(`chmod ${c} failed: ${b.message}`)}const e=y((0,r.readFileSync)(c,g.ENCODING).toString());(0,r.writeFileSync)(c,(e.indexOf("#!/")<0?["#!/bin/sh"]:[]).concat([e,f]).filter(e=>!!e).join(n.default.EOL),g.ENCODING)}else(0,r.writeFileSync)(c,["#!/bin/sh",f].join(n.default.EOL),g.ENCODING),(0,g.ready)("create pre-commit");else if(l){const e=y((0,r.readFileSync)(c,g.ENCODING).toString());(0,r.writeFileSync)(c,e,g.ENCODING)}},D=()=>{(0,g.warn)("\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),(0,g.execCommand)({command:"lint-staged",args:["-c",require.resolve("./lintstagedrc"),"--allow-empty"]})},E=({mAppid:e,mProject:t,mPrivateKeyPath:n,mVersion:i,mDesc:c,mRobot:s,mQrcodeFormat:m,mQrcodeOutputDest:d,mPagePath:l,mSearchQuery:u})=>{let f="";try{f=(0,r.existsSync)((0,a.join)(g.cwd,".git"))?(0,o.execSync)("git log -1 --pretty=format:%H").toString():""}catch(j){}const y=(0,g.getProjectConfigJSON)(),b=e||y.appid,x=t||(0,a.join)(g.cwd,"dist"),v=n||(0,a.join)(g.cwd,`private.${b}.key`);if((0,r.existsSync)(x)){if((0,r.existsSync)(v)){const e=(0,g.getPackageJSON)(),t=i||e.version||y.version||"1.0.0",o=c||e.description||y.description,r=`${f?` commit: ${f};`:""}${o?` description: ${o};`:""}`;f&&(0,g.info)(`commit: ${f}`),(0,g.info)(`dist: ${x}`),(0,g.info)(`key: ${v}`),(0,g.info)(`appid: ${b}`),(0,g.info)(`version: ${t}`),(0,g.info)(`desc: ${r}`);const n=new p.Project({appid:b,type:"miniProgram",projectPath:x,privateKeyPath:v,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:b,options:{project:n,version:t,desc:r,setting:h(h({},y.setting),{},{es6:!1,es7:!1,minifyJS:!1,minifyWXML:!1,minifyWXSS:!1,minify:!1}),robot:s,qrcodeFormat:m,qrcodeOutputDest:d,pagePath:l,searchQuery:u}}}throw Error(`\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(${v})`)}throw Error(`\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(${x})`)},N=()=>{let e="";try{e=(0,o.execSync)(`npm view ${f.default.name} version`,{timeout:3e3}).toString().replace(/\n/g,"")}catch(t){}(0,g.info)(`yolk version: ${f.default.version}${e&&e!==f.default.version?`(latest\uff1a${e})`:""}`),(0,g.info)(`node version: ${process.version}`),(0,g.info)(`platform: ${n.default.platform()}`),(0,g.info)(`memory: ${(0,i.floor)(n.default.freemem()/1024/1024)} MB(${(0,i.floor)(n.default.totalmem()/1024/1024)} MB)`)},_=e=>e.option("--appid, --mAppid <appid>","\u5c0f\u7a0b\u5e8fappid").option("--project, --mProject <project>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u5de5\u7a0b\u76ee\u5f55").option("--privateKeyPath, --mPrivateKeyPath <privateKeyPath>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20key\u6587\u4ef6\uff0c\u9ed8\u8ba4\uff1a{\u5f53\u524d\u76ee\u5f55}/private.{appid}.key").option("--version, --mVersion <version>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u7248\u672c\u53f7").option("--desc, --mDesc <desc>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u63cf\u8ff0").option("--robot, --mRobot <robot>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20ci\u673a\u5668\u4eba1~30").option("--qrcodeFormat, --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("--qrcodeOutputDest, --mQrcodeOutputDest <qrcodeOutputDest>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u4e8c\u7ef4\u7801\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84").option("--pagePath, --mPagePath <pagePath>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84").option("--searchQuery, --mSearchQuery <searchQuery>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84\u542f\u52a8\u53c2\u6570"),F=/(\w+)=('(.*)'|"(.*)"|(.*))/giu,I=e=>{process.env.DID_YOU_KNOW="none",process.env.VITE_CJS_IGNORE_WARNING="true";const t=[];return null===e||void 0===e||e.forEach(e=>{if(F.test(e)){const[t,o]=e.split("=");process.env[t]=o,(0,g.info)(`\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff1a${t}=${o}`)}else t.push(e)}),t},Q=()=>{q(),process.argv.length>2?(l.program.version(f.default.version,"-v,--version","\u8f93\u51fa\u7248\u672c\u53f7").usage("[command] [options]"),l.program.command("init").description("\u521d\u59cb\u5316\u9879\u76ee").option("--clone <template>","\u5982\u679c\u9700\u8981\uff0c\u53ef\u901a\u8fc7git clone\u62c9\u53d6\u6a21\u7248\uff0c\u9ed8\u8ba4\u53d6cli\u9ed8\u8ba4\u6a21\u7248").action(({clone:e},{args:t})=>{if(N(),(0,g.ready)("yolk init \u5f00\u59cb"),e){const o=".yolk",n=(0,a.join)(g.cwd,o);(0,r.existsSync)(n)&&(0,g.rimrafSync)(n)&&(0,g.ready)(`\u7f13\u5b58\u5220\u9664 success! ${n}`),(0,g.execCommand)({command:"git",args:["clone","-b","master","--depth","1",e,o].concat(t)}),w(g.cwd,n)}else j(g.cwd)}),l.program.command("start").description("\u542f\u52a8\u9879\u76ee").option("--docs","\u6587\u6863\u6a21\u5f0f").action(({docs:e},{args:t})=>{N();const o=I(t);O()?P()?(0,g.execCommand)({command:"taro",args:["build","--type","tt","--watch"].concat(o)}):C()?(0,g.execCommand)({command:"taro",args:["build","--type","alipay","--watch"].concat(o)}):(0,g.execCommand)({command:"taro",args:["build","--type","weapp","--watch"].concat(o)}):e?(0,g.execCommand)({command:"dumi",args:["dev"].concat(o)}):$()?(0,g.execCommand)({command:"max",args:["dev"].concat(o)}):S()?(0,g.execCommand)({command:"umi",args:["dev"].concat(o)}):(0,g.breakExit)()}),l.program.command("build").description("\u7f16\u8bd1\u9879\u76ee").option("--docs","\u6587\u6863\u6a21\u5f0f").action(({docs:e},{args:t})=>{N();const o=I(t);O()?P()?(0,g.execCommand)({command:"taro",args:["build","--type","tt"].concat(o)}):C()?(0,g.execCommand)({command:"taro",args:["build","--type","alipay"].concat(o)}):(0,g.execCommand)({command:"taro",args:["build","--type","weapp"].concat(o)}):e?(0,g.execCommand)({command:"dumi",args:["build"].concat(o)}):$()?(0,g.execCommand)({command:"max",args:["setup"].concat(o),complete:()=>(0,g.execCommand)({command:"max",args:["build"].concat(o)}),exit:!1}):S()?(0,g.execCommand)({command:"max",args:["setup"].concat(o),complete:()=>(0,g.execCommand)({command:"umi",args:["build"].concat(o)}),exit:!1}):(0,g.breakExit)()}),l.program.command("init-pre-commit").description("\u521d\u59cb\u5316 commit hook").action(q),l.program.command("pre-commit").description("\u6267\u884ccommit hook").action(D),_(l.program.command("miniprogram-upload").description("\u4f7f\u7528 miniprogram-ci \u4e0a\u4f20\u5c0f\u7a0b\u5e8f")).action(e=>{if(O())if(P());else if(C());else{const{appid:t,options:{project:o,version:r,desc:n,setting:a,robot:c}}=E(e);(0,g.info)(`${t} \u4e0a\u4f20\u5f00\u59cb`),p.upload({project:o,version:r,desc:n,setting:a,robot:c,onProgressUpdate:e=>{if((0,i.isString)(e))(0,g.info)(`task: ${e}`);else{const{status:t,message:o}=e;(0,g.info)(`task(${t}): ${o}`)}}}).then(()=>{(0,g.ready)(`${t} \u4e0a\u4f20\u5b8c\u6210`)})}else(0,g.error)("\u975e\u5c0f\u7a0b\u5e8f\u9879\u76ee\u76ee\u5f55")}),_(l.program.command("miniprogram-preview").description("\u4f7f\u7528 miniprogram-ci \u9884\u89c8\u5c0f\u7a0b\u5e8f")).action(e=>{if(O())if(P());else if(C());else{const{appid:t,options:{project:o,version:r,desc:n,setting:a,robot:c,qrcodeFormat:s,qrcodeOutputDest:m,pagePath:d,searchQuery:l}}=E(e);(0,g.info)(`${t} \u4e0a\u4f20\u9884\u89c8\u5f00\u59cb`),p.preview({project:o,version:r,desc:n,setting:a,robot:c,qrcodeFormat:s,qrcodeOutputDest:m,pagePath:d,searchQuery:l,onProgressUpdate:e=>{if((0,i.isString)(e))(0,g.info)(`task: ${e}`);else{const{status:t,message:o}=e;(0,g.info)(`task(${t}): ${o}`)}}}).then(()=>{(0,g.ready)(`${t} \u4e0a\u4f20\u9884\u89c8\u5b8c\u6210`)})}else(0,g.error)("\u975e\u5c0f\u7a0b\u5e8f\u9879\u76ee\u76ee\u5f55")}),l.program.command("exec").description("\u6267\u884cts\u6587\u4ef6").argument("<path>","\u6267\u884c\u7684ts\u6587\u4ef6").action((e,t,{args:o})=>{const r=I(o);(0,g.execCommand)({command:"tsx",args:[e].concat(r)})}),(e=>{let t=l.program.command("test").description("\u6267\u884c\u6d4b\u8bd5");return e.forEach(({name:e,isBoolean:o,description:r,defaultValue:n})=>{t=t.option(o?`--${e}`:`--${e} <${e}>`,r,n)}),t})(c.defaultRunCommandOptions).action((e,{args:t})=>{const o=c.defaultRunCommandOptions.filter(({isBoolean:e})=>!!e).map(({name:e})=>e),r=I(t);let n=["run"];Object.keys(e).forEach(t=>{const r=e[t];n=n.concat(r?[o.indexOf(t)>=0?`--${t}`:`--${t}=${r}`]:[])}),$()?(0,g.execCommand)({command:"max",args:["setup"].concat(r),complete:()=>(0,g.execCommand)({command:"yest",args:n.concat(r),exit:!1}),exit:!1}):S()?(0,g.execCommand)({command:"umi",args:["setup"].concat(r),complete:()=>(0,g.execCommand)({command:"yest",args:n.concat(r),exit:!1}),exit:!1}):(0,g.execCommand)({command:"yest",args:n.concat(r),exit:!1})}),l.program.parse(process.argv)):(0,g.breakExit)()};Q();
|
|
2
|
+
"use strict";var e=require("@babel/runtime/helpers/interopRequireDefault"),t=e(require("lodash/isString")),o=e(require("lodash/floor")),a=require("node:child_process"),n=require("node:fs"),r=e(require("node:os")),i=require("node:path"),c=require("@baic/yolk-test"),m=require("glob"),s=e(require("inquirer")),d=x(require("miniprogram-ci")),p=require("mkdirp"),l=require("../compiled/commander"),u=e(require("../compiled/mustache")),f=e(require("../package.json")),g=require("./_util");function y(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,o=new WeakMap;return(y=function(e){return e?o:t})(e)}function x(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var o=y(t);if(o&&o.has(e))return o.get(e);var a={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var i=n?Object.getOwnPropertyDescriptor(e,r):null;i&&(i.get||i.set)?Object.defineProperty(a,r,i):a[r]=e[r]}return a.default=e,o&&o.set(e,a),a}const h="##### CREATED BY YOLK #####",b=(e,t,o)=>{s.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 HBuilderX uni-app template(umi framework)",value:"umi-mobile-uni-app"},{name:"mobile native template(umi framework)",value:"umi-mobile-native"},{name:"taro-miniprogram template",value:"taro-miniprogram"}]},{type:"input",name:"projectName",message:"\u9879\u76ee\u540d\u79f0",default:(0,i.basename)((0,i.basename)(process.cwd()))},{type:"list",name:"packageManager",message:"\u9009\u62e9\u5305\u7ba1\u7406\u5668(\u9ed8\u8ba4\uff1apnpm\uff0c\u63a8\u8350\uff1apnpm)",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(({type:a,projectName:r,packageManager:c})=>{const s={projectName:r,packageManager:"default"===c?"pnpm":c,yolkVersion:f.default.version};if("umi-mobile-uni-app"===a)return void(0,g.warn)("\u6682\u4e0d\u652f\u6301");const d=t||(0,i.join)(__dirname,`../templates/${a}`);(0,g.ready)(`\u590d\u5236\u6a21\u7248 ${(0,i.basename)(d)}`);const l=(0,m.globSync)("**/*",{cwd:d,dot:!0,ignore:["**/node_modules/**","**/.git/**","**/.DS_Store","**/.idea/**"]});if(l.forEach(t=>{if(!d)return;const o=(0,i.join)(d,t);if(!(0,n.statSync)(o).isDirectory())if(t.endsWith(".tpl")){const a=(0,n.readFileSync)(o,g.ENCODING),r=(0,i.join)(e,t.replace(/\.tpl$/,"")),c=u.default.render(a,s);(0,p.mkdirpSync)((0,i.dirname)(r)),(0,g.ready)(`\u521b\u5efa ${(0,i.relative)(e,r)}`),(0,n.writeFileSync)(r,c,g.ENCODING)}else{(0,g.ready)(`\u521b\u5efa ${t}`);const a=(0,i.join)(e,t);(0,p.mkdirpSync)((0,i.dirname)(a)),(0,n.copyFileSync)(o,a)}}),(0,g.ready)("\u590d\u5236\u6a21\u7248 success!"),o&&(0,n.existsSync)(d)&&(0,g.rimrafSync)(d)&&(0,g.ready)(`\u7f13\u5b58\u5220\u9664 success! ${(0,i.basename)(d||"")}`),c)switch((0,g.ready)("\u521d\u59cb\u5316\u4f9d\u8d56\u5305"),c){case"default":case"pnpm":(0,g.execCommand)({command:"pnpm",args:["install"]});break;case"yarn":(0,g.execCommand)({command:"yarn",args:["install"]});break;case"npm":(0,g.execCommand)({command:"npm",args:["install"]});break;default:}(0,g.ready)("\u53ef\u67e5\u9605<<https://303394539.github.io/yolk-docs/>>\u4e86\u89e3\u76f8\u5173\u6587\u6863")})},v=(e,t)=>b(e,t,!0),j=()=>(0,n.existsSync)((0,i.join)(g.cwd,"project.config.json")),$=()=>{let e=(0,n.existsSync)((0,i.join)(g.cwd,"node_modules/.bin/umi"));try{if(!e)try{e=(0,n.existsSync)(require.resolve("umi"))}catch(t){}}catch(t){}return e},w=()=>{let e=(0,n.existsSync)((0,i.join)(g.cwd,"node_modules/.bin/max"));try{if(!e)try{e=(0,n.existsSync)(require.resolve("@umijs/max"))}catch(t){}}catch(t){}return e},S=()=>{const e=(0,i.join)(g.cwd,"project.config.json");if((0,n.existsSync)(e)){const t=require(e);return t.appid}return""},k=()=>(0,n.existsSync)((0,i.join)(g.cwd,"project.tt.json"))&&0===S().indexOf("tt"),C=()=>0===S().indexOf("20"),O=()=>{const e=(0,g.getYolkConfig)(),t=(0,i.join)(g.cwd,".husky/pre-commit"),o=(0,i.join)(g.cwd,".git/"),a=(0,i.join)(g.cwd,".git/hooks"),c=(0,i.join)(a,"pre-commit"),m=(0,n.existsSync)(t),s=(0,n.existsSync)(o),d=(0,n.existsSync)(a),l=(0,n.existsSync)(c),u=!1!==e.initPreCommit&&!m,f=[h,"npx yolk pre-commit","RESULT=$?","[ $RESULT -ne 0 ] && exit 1","exit 0",h].join(r.default.EOL),y=e=>{let t=e||"";return t&&t.indexOf(h)>=0&&(t=`${t.substring(0,t.indexOf(h))}${t.substring(t.lastIndexOf(h)+h.length)}`.replace(/(\r|\n)+$/gu,"")),t};if(s)if(u)if(d||((0,p.mkdirpSync)(a),(0,g.ready)("create .git/hooks")),l){try{(0,n.chmodSync)(c,"777")}catch(x){(0,g.error)(`chmod ${c} failed: ${x.message}`)}const e=y((0,n.readFileSync)(c,g.ENCODING).toString());(0,n.writeFileSync)(c,(e.indexOf("#!/")<0?["#!/bin/sh"]:[]).concat([e,f]).filter(e=>!!e).join(r.default.EOL),g.ENCODING)}else(0,n.writeFileSync)(c,["#!/bin/sh",f].join(r.default.EOL),g.ENCODING),(0,g.ready)("create pre-commit");else if(l){const e=y((0,n.readFileSync)(c,g.ENCODING).toString());(0,n.writeFileSync)(c,e,g.ENCODING)}},q=()=>{(0,g.warn)("\u7edf\u4e00\u4ee3\u7801\u89c4\u8303\uff0c\u8fdb\u884c\u4e25\u683c\u7684\u8bed\u6cd5\u68c0\u67e5\u3002"),(0,g.execCommand)({command:"lint-staged",args:["-c",require.resolve("./lintstagedrc"),"--allow-empty"]})},P=({mAppid:e,mProject:t,mPrivateKeyPath:o,mVersion:r,mDesc:c,mRobot:m,mQrcodeFormat:s,mQrcodeOutputDest:p,mPagePath:l,mSearchQuery:u})=>{let f="";try{f=(0,n.existsSync)((0,i.join)(g.cwd,".git"))?(0,a.execSync)("git log -1 --pretty=format:%H").toString():""}catch(v){}const y=(0,g.getProjectConfigJSON)(),x=e||y.appid,h=t||(0,i.join)(g.cwd,"dist"),b=o||(0,i.join)(g.cwd,`private.${x}.key`);if((0,n.existsSync)(h)){if((0,n.existsSync)(b)){const e=(0,g.getPackageJSON)(),t=r||e.version||y.version||"1.0.0",o=c||e.description||y.description,a=`${f?` commit: ${f};`:""}${o?` description: ${o};`:""}`;f&&(0,g.info)(`commit: ${f}`),(0,g.info)(`dist: ${h}`),(0,g.info)(`key: ${b}`),(0,g.info)(`appid: ${x}`),(0,g.info)(`version: ${t}`),(0,g.info)(`desc: ${a}`);const n=new d.Project({appid:x,type:"miniProgram",projectPath:h,privateKeyPath:b,ignores:["node_modules/**/*","**/*.txt","**/*.key","**/*.less","**/*.sass","**/*.scss","**/*.css","**/*.jsx","**/*.ts","**/*.tsx","**/*.md"]});return{appid:x,options:{project:n,version:t,desc:a,setting:{...y.setting,es6:!1,es7:!1,minifyJS:!1,minifyWXML:!1,minifyWXSS:!1,minify:!1},robot:m,qrcodeFormat:s,qrcodeOutputDest:p,pagePath:l,searchQuery:u}}}throw Error(`\u6ca1\u6709\u627e\u5230\u4e0a\u4f20\u5bc6\u94a5(${b})`)}throw Error(`\u6ca1\u6709\u627e\u5230dist\u76ee\u5f55(${h})`)},E=()=>{let e="";try{e=(0,a.execSync)(`npm view ${f.default.name} version`,{timeout:3e3}).toString().replace(/\n/g,"")}catch(t){}(0,g.info)(`yolk version: ${f.default.version}${e&&e!==f.default.version?`(latest\uff1a${e})`:""}`),(0,g.info)(`node version: ${process.version}`),(0,g.info)(`platform: ${r.default.platform()}`),(0,g.info)(`memory: ${(0,o.default)(r.default.freemem()/1024/1024)} MB(${(0,o.default)(r.default.totalmem()/1024/1024)} MB)`)},N=e=>e.option("--appid, --mAppid <appid>","\u5c0f\u7a0b\u5e8fappid").option("--project, --mProject <project>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u5de5\u7a0b\u76ee\u5f55").option("--privateKeyPath, --mPrivateKeyPath <privateKeyPath>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20key\u6587\u4ef6\uff0c\u9ed8\u8ba4\uff1a{\u5f53\u524d\u76ee\u5f55}/private.{appid}.key").option("--version, --mVersion <version>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u7248\u672c\u53f7").option("--desc, --mDesc <desc>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u63cf\u8ff0").option("--robot, --mRobot <robot>","\u5c0f\u7a0b\u5e8f\u4e0a\u4f20ci\u673a\u5668\u4eba1~30").option("--qrcodeFormat, --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("--qrcodeOutputDest, --mQrcodeOutputDest <qrcodeOutputDest>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u4e8c\u7ef4\u7801\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84").option("--pagePath, --mPagePath <pagePath>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84").option("--searchQuery, --mSearchQuery <searchQuery>","\u5c0f\u7a0b\u5e8f\u9884\u89c8\u9884\u89c8\u9875\u9762\u8def\u5f84\u542f\u52a8\u53c2\u6570"),D=/(\w+)=('(.*)'|"(.*)"|(.*))/giu,_=e=>{process.env.DID_YOU_KNOW="none",process.env.VITE_CJS_IGNORE_WARNING="true";const t=[];return e?.forEach(e=>{if(D.test(e)){const[t,o]=e.split("=");process.env[t]=o,(0,g.info)(`\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff1a${t}=${o}`)}else t.push(e)}),t},F=()=>{O(),process.argv.length>2?(l.program.version(f.default.version,"-v,--version","\u8f93\u51fa\u7248\u672c\u53f7").usage("[command] [options]"),l.program.command("init").description("\u521d\u59cb\u5316\u9879\u76ee").option("--clone <template>","\u5982\u679c\u9700\u8981\uff0c\u53ef\u901a\u8fc7git clone\u62c9\u53d6\u6a21\u7248\uff0c\u9ed8\u8ba4\u53d6cli\u9ed8\u8ba4\u6a21\u7248").action(({clone:e},{args:t})=>{if(E(),(0,g.ready)("yolk init \u5f00\u59cb"),e){const o=".yolk",a=(0,i.join)(g.cwd,o);(0,n.existsSync)(a)&&(0,g.rimrafSync)(a)&&(0,g.ready)(`\u7f13\u5b58\u5220\u9664 success! ${a}`),(0,g.execCommand)({command:"git",args:["clone","-b","master","--depth","1",e,o].concat(t)}),v(g.cwd,a)}else b(g.cwd)}),l.program.command("start").description("\u542f\u52a8\u9879\u76ee").option("--docs","\u6587\u6863\u6a21\u5f0f").action(({docs:e},{args:t})=>{E();const o=_(t);j()?k()?(0,g.execCommand)({command:"taro",args:["build","--type","tt","--watch"].concat(o)}):C()?(0,g.execCommand)({command:"taro",args:["build","--type","alipay","--watch"].concat(o)}):(0,g.execCommand)({command:"taro",args:["build","--type","weapp","--watch"].concat(o)}):e?(0,g.execCommand)({command:"dumi",args:["dev"].concat(o)}):w()?(0,g.execCommand)({command:"max",args:["dev"].concat(o)}):$()?(0,g.execCommand)({command:"umi",args:["dev"].concat(o)}):(0,g.breakExit)()}),l.program.command("build").description("\u7f16\u8bd1\u9879\u76ee").option("--docs","\u6587\u6863\u6a21\u5f0f").action(({docs:e},{args:t})=>{E();const o=_(t);if(j())k()?(0,g.execCommand)({command:"taro",args:["build","--type","tt"].concat(o)}):C()?(0,g.execCommand)({command:"taro",args:["build","--type","alipay"].concat(o)}):(0,g.execCommand)({command:"taro",args:["build","--type","weapp"].concat(o)});else if(e)(0,g.execCommand)({command:"dumi",args:["build"].concat(o)});else if(w())(0,g.execCommand)({command:"max",args:["setup"].concat(o),complete:()=>(0,g.execCommand)({command:"max",args:["build"].concat(o)}),exit:!1});else if($()){const e=require("umi/package.json"),t=Number((e.version||"").split(".")[0]||0);t>=4?(0,g.execCommand)({command:"umi",args:["setup"].concat(o),complete:()=>(0,g.execCommand)({command:"umi",args:["build"].concat(o)}),exit:!1}):(0,g.execCommand)({command:"umi",args:["generate","tmp"].concat(o),complete:()=>(0,g.execCommand)({command:"umi",args:["build"].concat(o)}),exit:!1})}else(0,g.breakExit)()}),l.program.command("init-pre-commit").description("\u521d\u59cb\u5316 commit hook").action(O),l.program.command("pre-commit").description("\u6267\u884ccommit hook").action(q),N(l.program.command("miniprogram-upload").description("\u4f7f\u7528 miniprogram-ci \u4e0a\u4f20\u5c0f\u7a0b\u5e8f")).action(e=>{if(j())if(k());else if(C());else{const{appid:o,options:{project:a,version:n,desc:r,setting:i,robot:c}}=P(e);(0,g.info)(`${o} \u4e0a\u4f20\u5f00\u59cb`),d.upload({project:a,version:n,desc:r,setting:i,robot:c,onProgressUpdate:e=>{if((0,t.default)(e))(0,g.info)(`task: ${e}`);else{const{status:t,message:o}=e;(0,g.info)(`task(${t}): ${o}`)}}}).then(()=>{(0,g.ready)(`${o} \u4e0a\u4f20\u5b8c\u6210`)})}else(0,g.error)("\u975e\u5c0f\u7a0b\u5e8f\u9879\u76ee\u76ee\u5f55")}),N(l.program.command("miniprogram-preview").description("\u4f7f\u7528 miniprogram-ci \u9884\u89c8\u5c0f\u7a0b\u5e8f")).action(e=>{if(j())if(k());else if(C());else{const{appid:o,options:{project:a,version:n,desc:r,setting:i,robot:c,qrcodeFormat:m,qrcodeOutputDest:s,pagePath:p,searchQuery:l}}=P(e);(0,g.info)(`${o} \u4e0a\u4f20\u9884\u89c8\u5f00\u59cb`),d.preview({project:a,version:n,desc:r,setting:i,robot:c,qrcodeFormat:m,qrcodeOutputDest:s,pagePath:p,searchQuery:l,onProgressUpdate:e=>{if((0,t.default)(e))(0,g.info)(`task: ${e}`);else{const{status:t,message:o}=e;(0,g.info)(`task(${t}): ${o}`)}}}).then(()=>{(0,g.ready)(`${o} \u4e0a\u4f20\u9884\u89c8\u5b8c\u6210`)})}else(0,g.error)("\u975e\u5c0f\u7a0b\u5e8f\u9879\u76ee\u76ee\u5f55")}),l.program.command("exec").description("\u6267\u884cts\u6587\u4ef6").argument("<path>","\u6267\u884c\u7684ts\u6587\u4ef6").action((e,t,{args:o})=>{const a=_(o);(0,g.execCommand)({command:"tsx",args:[e].concat(a)})}),(e=>{let t=l.program.command("test").description("\u6267\u884c\u6d4b\u8bd5");return e.forEach(({name:e,isBoolean:o,description:a,defaultValue:n})=>{t=t.option(o?`--${e}`:`--${e} <${e}>`,a,n)}),t})(c.defaultRunCommandOptions).action((e,{args:t})=>{const o=c.defaultRunCommandOptions.filter(({isBoolean:e})=>!!e).map(({name:e})=>e),a=_(t);let n=["run"];if(Object.keys(e).forEach(t=>{const a=e[t];n=n.concat(a?[o.indexOf(t)>=0?`--${t}`:`--${t}=${a}`]:[])}),w())(0,g.execCommand)({command:"max",args:["setup"].concat(a),complete:()=>(0,g.execCommand)({command:"yest",args:n.concat(a),exit:!1}),exit:!1});else if($()){const e=require("umi/package.json"),t=Number((e.version||"").split(".")[0]||0);t>=4?(0,g.execCommand)({command:"umi",args:["setup"].concat(a),complete:()=>(0,g.execCommand)({command:"yest",args:n.concat(a),exit:!1}),exit:!1}):(0,g.execCommand)({command:"umi",args:["generate","tmp"].concat(a),complete:()=>(0,g.execCommand)({command:"yest",args:n.concat(a),exit:!1}),exit:!1})}else(0,g.execCommand)({command:"yest",args:n.concat(a),exit:!1})}),l.program.parse(process.argv)):(0,g.breakExit)()};F();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baic/yolk-cli",
|
|
3
|
-
"version": "2.1.0-alpha.
|
|
3
|
+
"version": "2.1.0-alpha.267",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/303394539/yolk.git"
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"prebundle": "father prebundle"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@baic/biome-config-yolk": "2.1.0-alpha.
|
|
29
|
-
"@baic/eslint-config-yolk": "2.1.0-alpha.
|
|
30
|
-
"@baic/prettier-config-yolk": "2.1.0-alpha.
|
|
31
|
-
"@baic/stylelint-config-yolk": "2.1.0-alpha.
|
|
32
|
-
"@baic/yolk-test": "2.1.0-alpha.
|
|
28
|
+
"@baic/biome-config-yolk": "2.1.0-alpha.267",
|
|
29
|
+
"@baic/eslint-config-yolk": "2.1.0-alpha.267",
|
|
30
|
+
"@baic/prettier-config-yolk": "2.1.0-alpha.267",
|
|
31
|
+
"@baic/stylelint-config-yolk": "2.1.0-alpha.267",
|
|
32
|
+
"@baic/yolk-test": "2.1.0-alpha.267",
|
|
33
33
|
"@democrance/imagemin-lint-staged": "5.0.x",
|
|
34
34
|
"@types/lodash": "4.x",
|
|
35
35
|
"chalk": "4.x",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"publishConfig": {
|
|
62
62
|
"access": "public"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "3a7acb07abbd7f692b7195409d92c164776ddb3d"
|
|
65
65
|
}
|