taro-ci 3.0.1-alpha.3 → 3.1.2
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/README.md +30 -2
- package/bin/patch.require.js +23 -0
- package/bin/taro-ci.js +2 -0
- package/dist/core/command/fortify.d.ts +2 -0
- package/dist/core/command/tag.d.ts +2 -0
- package/dist/core/files/appEntry.d.ts +31 -0
- package/dist/core/files/index.d.ts +12 -0
- package/dist/core/files/parse.d.ts +32 -0
- package/dist/taro-ci.js +6 -1
- package/dist/types/index.d.ts +36 -7
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/files/babel.d.ts +47 -0
- package/dist/utils/files/index.d.ts +47 -0
- package/dist/utils/files/parse.d.ts +48 -0
- package/dist/utils/files/patch/config.d.ts +29 -0
- package/dist/utils/files/patch/constructor.d.ts +11 -0
- package/dist/utils/files/patch/import.d.ts +11 -0
- package/dist/utils/files/patch/index.d.ts +9 -0
- package/dist/utils/files/patch/usingComponents.d.ts +10 -0
- package/dist/utils/files/patch/utils.d.ts +43 -0
- package/dist/utils/files/postcss.d.ts +65 -0
- package/dist/utils/index.d.ts +54 -5
- package/dist/utils/install.d.ts +5 -0
- package/dist/utils/log.d.ts +6 -0
- package/package.json +12 -9
- package/dist/utils/extend.d.ts +0 -8
- package/dist/utils/lodash.d.ts +0 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# taro-ci
|
|
2
2
|
|
|
3
|
-
基于[微信:miniprogram-ci](https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html)、[支付宝:
|
|
3
|
+
基于[微信:miniprogram-ci](https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html)、[支付宝:minidev](https://opendocs.alipay.com/mini/02q29z?pathHash=be1e11ff)开发,使用 swan-toolkit 支持百度小程序自动上传,用于同时打包 weapp、alipay、swan、weapp.third 多版本发布管理;第一个横线后半部分会作为环境变量注入到 Taro 框架小程序中【process.env.MODE_ENV=third】;执行 taro build 时置入的环境变量还包括 process.env.ROOT_PATH=当前文件包输出路径,例:dist/weapp.dev;process.env.PLATFORM_ENV=weapp|alipay|swan;
|
|
4
4
|
|
|
5
5
|
扩展编译平台使用 [taro-plugin-build](https://www.npmjs.com/package/taro-plugin-build),并在 taro-ci.config 中配置 useTaroPluginBuildBy="",插件编译时自动注册对应的编译平台,可实现多版本公用框架并针对特殊版本处理,具体可参考:[Taro 跨平台开发](https://taro-docs.jd.com/taro/docs/2.x/envs)
|
|
6
6
|
|
|
@@ -43,11 +43,25 @@ module.exports = {
|
|
|
43
43
|
version: "1.0.0",
|
|
44
44
|
description: "通用描述信息",
|
|
45
45
|
type: ["weapp", "alipay", "weapp.pro", "alipay.pro"],
|
|
46
|
+
sourceRoot: ".taro-ci-src", // 资源入口,不配置,默认 .taro-ci-src,需要在项目config中sourceRoot相关配置,改用process.env.SOURCE_ROOT_PATH
|
|
47
|
+
modes: [''], // 支持的类型:重要:过滤以及查找文件时依赖此配置;
|
|
48
|
+
modesExclude: [''], // 排除的路径,此路径的文件,不按照modes过滤更新文件名,即使用原有文件名;
|
|
49
|
+
copy: () => ['文件路径',['文件路径','分包(空表示主包)']],
|
|
50
|
+
insertImport: { // 为了兼容taro3.x 需要注入一些引用,别名位置可以是default或者alias.default,表示引入default
|
|
51
|
+
'导入路径':(['导出名', '文件类型PAGE|COMPONENT|ENTRY|void', '导出别名.default']|'导出名')[],
|
|
52
|
+
},
|
|
53
|
+
defaultMode: '', // 默认mode
|
|
54
|
+
taroVersion: '', // @tarojs/cli版本
|
|
46
55
|
info: {
|
|
47
56
|
weapp: {
|
|
57
|
+
patch404: true, // app.json缺少的文件,自动用src/404.jsx补充;
|
|
48
58
|
version: "1.1.0",
|
|
49
59
|
description: "对应版本的针对性描述",
|
|
50
60
|
appId: "wx.................",
|
|
61
|
+
audit: {
|
|
62
|
+
versionScreenshot: ['','',''], // 必填,可以配置截图,以支持自动提审 2-5张
|
|
63
|
+
...({}) // 其他提审配置,参考:https://opendocs.alipay.com/mini/0a3ehy?pathHash=1ec799a9
|
|
64
|
+
},
|
|
51
65
|
subs:{
|
|
52
66
|
'pages-0': {
|
|
53
67
|
/**
|
|
@@ -66,7 +80,7 @@ module.exports = {
|
|
|
66
80
|
},
|
|
67
81
|
}
|
|
68
82
|
},
|
|
69
|
-
"weapp
|
|
83
|
+
"weapp.third": {
|
|
70
84
|
appId: "wx.................",
|
|
71
85
|
label: "普通", // 特殊版本的标签
|
|
72
86
|
tag: "N", // 特殊版本的标签体现在版本号上 N1.2.0
|
|
@@ -76,6 +90,20 @@ module.exports = {
|
|
|
76
90
|
appId: "支付宝的APPID",
|
|
77
91
|
},
|
|
78
92
|
},
|
|
93
|
+
asyncComponents: {
|
|
94
|
+
// 异步分包组件
|
|
95
|
+
'async-components': {
|
|
96
|
+
root: '',
|
|
97
|
+
placeholder: 'view',
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
dynamicDependencies: {
|
|
101
|
+
// 动态依赖,taro-ci编译时会检查并安装
|
|
102
|
+
weapp: {},
|
|
103
|
+
alipay: {},
|
|
104
|
+
swan: {},
|
|
105
|
+
tt: {},
|
|
106
|
+
},
|
|
79
107
|
branchMap: {test:{type:'',robot:1}} | (branch) => ({type:'',robot:1}), // 分支对应信息,可为对象或者方法
|
|
80
108
|
minSwanVersion: "", // 最低基础库版本
|
|
81
109
|
useTaroPluginBuildBy: "normal", // type|mode|normal 自定义编译模式:mode - 按照MODE_ENV对应编译,type - 按照传入的全指令编译
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
try {
|
|
2
|
+
require('node:path')
|
|
3
|
+
} catch (e) {
|
|
4
|
+
const Module = require("module");
|
|
5
|
+
const originalRequire = Module.prototype.require;
|
|
6
|
+
Module.prototype.require = function (moduleName) {
|
|
7
|
+
if (moduleName.startsWith("node:")) {
|
|
8
|
+
const pureNode = moduleName.replace("node:", "");
|
|
9
|
+
let res;
|
|
10
|
+
try {
|
|
11
|
+
res = originalRequire.call(this, pureNode);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
if (pureNode === "fs/promises") {
|
|
14
|
+
res = require("fs").promises;
|
|
15
|
+
} else {
|
|
16
|
+
console.log("当前版本不支持且未兼容的module:", pureNode);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return res;
|
|
20
|
+
}
|
|
21
|
+
return originalRequire.apply(this, arguments);
|
|
22
|
+
};
|
|
23
|
+
}
|
package/bin/taro-ci.js
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface SubPackagesItem {
|
|
2
|
+
preloadRule?: string;
|
|
3
|
+
plugins?: Record<string, Record<string, any>>;
|
|
4
|
+
pages: string[];
|
|
5
|
+
root: string;
|
|
6
|
+
network?: "all" | "wifi";
|
|
7
|
+
}
|
|
8
|
+
declare type PreloadRuleType = Record<string, {
|
|
9
|
+
packages: string[];
|
|
10
|
+
network: SubPackagesItem["network"];
|
|
11
|
+
}>;
|
|
12
|
+
export interface ConfigType {
|
|
13
|
+
preloadRule?: PreloadRuleType;
|
|
14
|
+
subPackages?: SubPackagesItem[];
|
|
15
|
+
pages: string[];
|
|
16
|
+
tabBar?: {
|
|
17
|
+
custom: boolean;
|
|
18
|
+
list?: {
|
|
19
|
+
pagePath: string;
|
|
20
|
+
iconPath: string;
|
|
21
|
+
selectedIconPath: string;
|
|
22
|
+
text: "\u67E5\u5FEB\u9012";
|
|
23
|
+
}[];
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* @description 解析入口
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseAppEntry(): Promise<import("../../utils/files/parse").RunParseReturn>;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ConfigOptions } from "types";
|
|
2
|
+
interface CopyFilesOptions {
|
|
3
|
+
isWatch?: boolean;
|
|
4
|
+
copy?: ConfigOptions['copy'];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @description 注意:复制时,需要判断当前文件所有依赖文件所在分包是否有变化:更新import路径;
|
|
9
|
+
* @param opts
|
|
10
|
+
*/
|
|
11
|
+
export declare function triggerCopyFiles(opts: CopyFilesOptions): Promise<void>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ConfigType } from "./appEntry";
|
|
2
|
+
import { DependenciesMapType } from 'utils/files/parse';
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @description 收集tabBar文件
|
|
6
|
+
* @param tabBar
|
|
7
|
+
* @param allDependenciesMap
|
|
8
|
+
*/
|
|
9
|
+
export declare function collectTabBarImage(tabBar: ConfigType['tabBar'], allDependenciesMap: DependenciesMapType): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @description 解析自定义tabBar
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseCustomTabBar(tabBar: ConfigType['tabBar']): Promise<{}>;
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @description 是否为入口关联文件
|
|
18
|
+
* @param filePath
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
export declare function checkIsEntryRelatedFile(filePath: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @description 收集依赖关系
|
|
25
|
+
*/
|
|
26
|
+
export declare function collectDependencies(): Promise<any>;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @description 收集依赖关系:变化或新增文件
|
|
30
|
+
* 1、检查文件是否需要复制:
|
|
31
|
+
*/
|
|
32
|
+
export declare function collectChangedDependencies(filePath: string): Promise<any>;
|
package/dist/taro-ci.js
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
"use strict";var chalk=require("chalk"),ora=require("ora"),path=require("path"),fs=require("fs"),minimist=require("minimist"),dayjs=require("dayjs"),child_process=require("child_process"),os=require("os"),assert=require("assert"),events=require("events"),buffer$1=require("buffer"),stream$1=require("stream"),ci=require("miniprogram-ci"),miniu=require("miniu"),semver=require("semver"),tma=require("tt-ide-cli"),Robot=require("dingtalk-robot-sender");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var TaroEnv,chalk__default=_interopDefaultLegacy(chalk),ora__default=_interopDefaultLegacy(ora),path__default=_interopDefaultLegacy(path),fs__default=_interopDefaultLegacy(fs),minimist__default=_interopDefaultLegacy(minimist),dayjs__default=_interopDefaultLegacy(dayjs),child_process__default=_interopDefaultLegacy(child_process),os__default=_interopDefaultLegacy(os),assert__default=_interopDefaultLegacy(assert),events__default=_interopDefaultLegacy(events),buffer__default=_interopDefaultLegacy(buffer$1),stream__default=_interopDefaultLegacy(stream$1),ci__default=_interopDefaultLegacy(ci),miniu__default=_interopDefaultLegacy(miniu),semver__default=_interopDefaultLegacy(semver),tma__default=_interopDefaultLegacy(tma),Robot__default=_interopDefaultLegacy(Robot),__assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function __rest(e,t){var r={};for(o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,o=Object.getOwnPropertySymbols(e);n<o.length;n++)t.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(r[o[n]]=e[o[n]]);return r}function __awaiter(a,i,s,c){return new(s=s||Promise)(function(e,t){function r(e){try{o(c.next(e))}catch(e){t(e)}}function n(e){try{o(c.throw(e))}catch(e){t(e)}}function o(t){t.done?e(t.value):new s(function(e){e(t.value)}).then(r,n)}o((c=c.apply(a,i||[])).next())})}function __generator(r,n){var o,a,i,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,a&&(i=2&t[0]?a.return:t[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,t[1])).done)return i;switch(a=0,(t=i?[2&t[0],i.value]:t)[0]){case 0:case 1:i=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,a=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(i=0<(i=s.trys).length&&i[i.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!i||t[1]>i[0]&&t[1]<i[3])){s.label=t[1];break}if(6===t[0]&&s.label<i[1]){s.label=i[1],i=t;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(t);break}i[2]&&s.ops.pop(),s.trys.pop();continue}t=n.call(r,s)}catch(e){t=[6,e],a=0}finally{o=i=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}!function(e){e.WEAPP="weapp",e.ALIPAY="alipay",e.SWAN="swan",e.QUICKAPP="quickapp",e.H5="h5",e.RN="rn",e.TT="tt"}(TaroEnv=TaroEnv||{});var TaroConfig,taroPlatform=TaroEnv.WEAPP+"|"+TaroEnv.ALIPAY+"|"+TaroEnv.QUICKAPP+"|"+TaroEnv.SWAN+"|"+TaroEnv.H5+"|"+TaroEnv.RN,taroPlatformAndMode="("+taroPlatform+")([.|-]{1})?(.+)?";!function(e){e.WEAPP="project.config.json",e.ALIPAY="mini.project.json",e.SWAN="project.swan.json",e.QUICKAPP="project.quickapp.json",e.TT="project.config.json"}(TaroConfig=TaroConfig||{});var reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reHasRegExpChar=RegExp(reRegExpChar.source);function escapeRegExp(e){return e&&reHasRegExpChar.test(e)?e.replace(reRegExpChar,"\\$&"):e||""}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(e,t,r){return e(r={path:t,exports:{},require:function(e,t){return commonjsRequire(e,null==t?r.path:t)}},r.exports),r.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var windows=isexe$2;function checkPathExt(e,t){var r=void 0!==t.pathExt?t.pathExt:process.env.PATHEXT;if(!r)return!0;if(-1!==(r=r.split(";")).indexOf(""))return!0;for(var n=0;n<r.length;n++){var o=r[n].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}function checkStat$1(e,t,r){return!(!e.isSymbolicLink()&&!e.isFile())&&checkPathExt(t,r)}function isexe$2(r,n,o){fs__default.default.stat(r,function(e,t){o(e,!e&&checkStat$1(t,r,n))})}function sync$4(e,t){return checkStat$1(fs__default.default.statSync(e),e,t)}isexe$2.sync=sync$4;var mode=isexe$1;function isexe$1(e,r,n){fs__default.default.stat(e,function(e,t){n(e,!e&&checkStat(t,r))})}function sync$3(e,t){return checkStat(fs__default.default.statSync(e),t)}function checkStat(e,t){return e.isFile()&&checkMode(e,t)}function checkMode(e,t){var r=e.mode,n=e.uid,o=e.gid,a=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),i=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),e=parseInt("100",8),t=parseInt("010",8);return r&parseInt("001",8)||r&t&&o===i||r&e&&n===a||r&(e|t)&&0===a}isexe$1.sync=sync$3;var core$1="win32"===process.platform||commonjsGlobal.TESTING_WINDOWS?windows:mode,isexe_1=isexe;function isexe(e,o,r){if("function"==typeof o&&(r=o,o={}),!r){if("function"!=typeof Promise)throw new TypeError("callback not provided");return new Promise(function(r,n){isexe(e,o||{},function(e,t){e?n(e):r(t)})})}core$1(e,o||{},function(e,t){e&&("EACCES"===e.code||o&&o.ignoreErrors)&&(e=null,t=!1),r(e,t)})}function sync$2(e,t){try{return core$1.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}}isexe.sync=sync$2;const isWindows="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,COLON=isWindows?";":":",getNotFoundError=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),getPathInfo=(e,t)=>{var r=t.colon||COLON,n=e.match(/\//)||isWindows&&e.match(/\\/)?[""]:[...isWindows?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)];const o=isWindows?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",a=isWindows?o.split(r):[""];return isWindows&&-1!==e.indexOf(".")&&""!==a[0]&&a.unshift(""),{pathEnv:n,pathExt:a,pathExtExe:o}},which=(a,s,t)=>{"function"==typeof s&&(t=s,s={}),s=s||{};const{pathEnv:i,pathExt:c,pathExtExe:l}=getPathInfo(a,s),u=[],d=o=>new Promise((e,t)=>{if(o===i.length)return s.all&&u.length?e(u):t(getNotFoundError(a));const r=i[o];var n=/^".*"$/.test(r)?r.slice(1,-1):r,t=path__default.default.join(n,a),t=!n&&/^\.[\\\/]/.test(a)?a.slice(0,2)+t:t;e(f(t,o,0))}),f=(o,a,i)=>new Promise((r,e)=>{if(i===c.length)return r(d(a+1));const n=c[i];isexe_1(o+n,{pathExt:l},(e,t)=>{if(!e&&t){if(!s.all)return r(o+n);u.push(o+n)}return r(f(o,a,i+1))})});return t?d(0).then(e=>t(null,e),t):d(0)},whichSync=(t,r)=>{r=r||{};var{pathEnv:n,pathExt:o,pathExtExe:a}=getPathInfo(t,r);const i=[];for(let e=0;e<n.length;e++){const d=n[e];var s=/^".*"$/.test(d)?d.slice(1,-1):d,c=path__default.default.join(s,t),l=!s&&/^\.[\\\/]/.test(t)?t.slice(0,2)+c:c;for(let e=0;e<o.length;e++){var u=l+o[e];try{if(isexe_1.sync(u,{pathExt:a})){if(!r.all)return u;i.push(u)}}catch(e){}}}if(r.all&&i.length)return i;if(r.nothrow)return null;throw getNotFoundError(t)};var which_1=which;which.sync=whichSync;const pathKey=(e={})=>{var t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find(e=>"PATH"===e.toUpperCase())||"Path"};var pathKey_1=pathKey,_default$3=pathKey;function resolveCommandAttempt(e,t){var r=e.options.env||process.env,n=process.cwd(),o=null!=e.options.cwd,a=o&&void 0!==process.chdir&&!process.chdir.disabled;if(a)try{process.chdir(e.options.cwd)}catch(e){}let i;try{i=which_1.sync(e.command,{path:r[pathKey_1({env:r})],pathExt:t?path__default.default.delimiter:void 0})}catch(e){}finally{a&&process.chdir(n)}return i=i&&path__default.default.resolve(o?e.options.cwd:"",i),i}function resolveCommand(e){return resolveCommandAttempt(e)||resolveCommandAttempt(e,!0)}pathKey_1.default=_default$3;var resolveCommand_1=resolveCommand;const metaCharsRegExp=/([()\][%!^"`<>&|;, *?])/g;function escapeCommand(e){return e=e.replace(metaCharsRegExp,"^$1")}function escapeArgument(e,t){return e=(e=`"${e=(e=(e=`${e}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1")}"`).replace(metaCharsRegExp,"^$1"),e=t?e.replace(metaCharsRegExp,"^$1"):e}var command$2=escapeCommand,argument=escapeArgument,_escape={command:escapeCommand,argument:escapeArgument},shebangRegex=/^#!(.*)/,shebangCommand=(e="")=>{const t=e.match(shebangRegex);if(!t)return null;const[r,n]=t[0].replace(/#! ?/,"").split(" ");e=r.split("/").pop();return"env"===e?n:n?`${e} ${n}`:e};function readShebang(e){var t;const r=Buffer.alloc(150);try{t=fs__default.default.openSync(e,"r"),fs__default.default.readSync(t,r,0,150,0),fs__default.default.closeSync(t)}catch(e){}return shebangCommand(r.toString())}var readShebang_1=readShebang;const isWin$2="win32"===process.platform,isExecutableRegExp=/\.(?:com|exe)$/i,isCmdShimRegExp=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function detectShebang(e){e.file=resolveCommand_1(e);var t=e.file&&readShebang_1(e.file);return t?(e.args.unshift(e.file),e.command=t,resolveCommand_1(e)):e.file}function parseNonShell(e){if(!isWin$2)return e;var t=detectShebang(e),r=!isExecutableRegExp.test(t);if(e.options.forceShell||r){const n=isCmdShimRegExp.test(t);e.command=path__default.default.normalize(e.command),e.command=_escape.command(e.command),e.args=e.args.map(e=>_escape.argument(e,n));t=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${t}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function parse(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null);t={command:e,args:t=t?t.slice(0):[],options:r=Object.assign({},r),file:void 0,original:{command:e,args:t}};return r.shell?t:parseNonShell(t)}var parse_1=parse;const isWin$1="win32"===process.platform;function notFoundError(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function hookChildProcess(r,n){if(isWin$1){const o=r.emit;r.emit=function(e,t){if("exit"===e){t=verifyENOENT(t,n);if(t)return o.call(r,"error",t)}return o.apply(r,arguments)}}}function verifyENOENT(e,t){return isWin$1&&1===e&&!t.file?notFoundError(t.original,"spawn"):null}function verifyENOENTSync(e,t){return isWin$1&&1===e&&!t.file?notFoundError(t.original,"spawnSync"):null}var enoent={hookChildProcess:hookChildProcess,verifyENOENT:verifyENOENT,verifyENOENTSync:verifyENOENTSync,notFoundError:notFoundError};function spawn(e,t,r){t=parse_1(e,t,r),r=child_process__default.default.spawn(t.command,t.args,t.options);return enoent.hookChildProcess(r,t),r}function spawnSync(e,t,r){r=parse_1(e,t,r);const n=child_process__default.default.spawnSync(r.command,r.args,r.options);return n.error=n.error||enoent.verifyENOENTSync(n.status,r),n}var crossSpawn=spawn,spawn_1=spawn,sync$1=spawnSync,_parse=parse_1,_enoent=enoent;crossSpawn.spawn=spawn,crossSpawn.sync=sync$1,crossSpawn._parse=_parse,crossSpawn._enoent=_enoent;var stripFinalNewline=e=>{var t="string"==typeof e?"\n":"\n".charCodeAt(),r="string"==typeof e?"\r":"\r".charCodeAt();return e=(e=e[e.length-1]===t?e.slice(0,e.length-1):e)[e.length-1]===r?e.slice(0,e.length-1):e},npmRunPath_1=createCommonjsModule(function(n){var e=e=>{e={cwd:process.cwd(),path:process.env[pathKey_1()],execPath:process.execPath,...e};let t,r=path__default.default.resolve(e.cwd);const n=[];for(;t!==r;)n.push(path__default.default.join(r,"node_modules/.bin")),t=r,r=path__default.default.resolve(r,"..");var o=path__default.default.resolve(e.cwd,e.execPath,"..");return n.push(o),n.concat(e.path).join(path__default.default.delimiter)};n.exports=e,n.exports.default=e,n.exports.env=e=>{const t={...(e={env:process.env,...e}).env};var r=pathKey_1({env:t});return e.path=t[r],t[r]=n.exports(e),t}});const mimicFn=(e,t)=>{for(const r of Reflect.ownKeys(t))Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));return e};var mimicFn_1=mimicFn,_default$2=mimicFn;mimicFn_1.default=_default$2;const calledFunctions=new WeakMap,onetime=(t,r={})=>{if("function"!=typeof t)throw new TypeError("Expected a function");let n,o=0;const a=t.displayName||t.name||"<anonymous>",i=function(...e){if(calledFunctions.set(i,++o),1===o)n=t.apply(this,e),t=null;else if(!0===r.throw)throw new Error(`Function \`${a}\` can only be called once`);return n};return mimicFn_1(i,t),calledFunctions.set(i,o),i};var onetime_1=onetime,_default$1=onetime,callCount=e=>{if(!calledFunctions.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return calledFunctions.get(e)};onetime_1.default=_default$1,onetime_1.callCount=callCount;var core=createCommonjsModule(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SIGNALS=void 0;t.SIGNALS=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}]}),realtime=createCommonjsModule(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SIGRTMAX=t.getRealtimeSignals=void 0;t.getRealtimeSignals=function(){var e=o-n+1;return Array.from({length:e},r)};const r=function(e,t){return{name:`SIGRT${t+1}`,number:n+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}},n=34,o=64;t.SIGRTMAX=o}),signals$2=createCommonjsModule(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getSignals=void 0;t.getSignals=function(){var e=(0,realtime.getRealtimeSignals)();return[...core.SIGNALS,...e].map(r)};const r=function({name:e,number:t,description:r,action:n,forced:o=!1,standard:a}){var{signals:{[e]:i}}=os__default.default.constants,s=void 0!==i;return{name:e,number:s?i:t,description:r,supported:s,action:n,forced:o,standard:a}}}),main=createCommonjsModule(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.signalsByNumber=t.signalsByName=void 0;const r=function(e,{name:t,number:r,description:n,supported:o,action:a,forced:i,standard:s}){return{...e,[t]:{name:t,number:r,description:n,supported:o,action:a,forced:i,standard:s}}};var n=function(){const e=(0,signals$2.getSignals)();return e.reduce(r,{})}();t.signalsByName=n;const o=function(e,t){var r=s(e,t);if(void 0===r)return{};var{name:n,description:o,supported:a,action:i,forced:t,standard:r}=r;return{[e]:{name:n,number:e,description:o,supported:a,action:i,forced:t,standard:r}}},s=function(t,e){var r=e.find(({name:e})=>os__default.default.constants.signals[e]===t);return void 0!==r?r:e.find(e=>e.number===t)};n=function(){const r=(0,signals$2.getSignals)();var e=realtime.SIGRTMAX+1,e=Array.from({length:e},(e,t)=>o(t,r));return Object.assign({},...e)}();t.signalsByNumber=n});const{signalsByName}=main,getErrorPrefix=({timedOut:e,timeout:t,errorCode:r,signal:n,signalDescription:o,exitCode:a,isCanceled:i})=>e?`timed out after ${t} milliseconds`:i?"was canceled":void 0!==r?`failed with ${r}`:void 0!==n?`was killed with ${n} (${o})`:void 0!==a?`failed with exit code ${a}`:"failed",makeError=({stdout:e,stderr:t,all:r,error:n,signal:o,exitCode:a,command:i,timedOut:s,isCanceled:c,killed:l,parsed:{options:{timeout:u}}})=>{a=null===a?void 0:a;var d=void 0===(o=null===o?void 0:o)?void 0:signalsByName[o].description,f=n&&n.code,u=`Command ${getErrorPrefix({timedOut:s,timeout:u,errorCode:f,signal:o,signalDescription:d,exitCode:a,isCanceled:c})}: ${i}`,f="[object Error]"===Object.prototype.toString.call(n);const p=f?`${u}\n${n.message}`:u;u=[p,t,e].filter(Boolean).join("\n");return f?(n.originalMessage=n.message,n.message=u):n=new Error(u),n.shortMessage=p,n.command=i,n.exitCode=a,n.signal=o,n.signalDescription=d,n.stdout=e,n.stderr=t,void 0!==r&&(n.all=r),"bufferedData"in n&&delete n.bufferedData,n.failed=!0,n.timedOut=Boolean(s),n.isCanceled=c,n.killed=l&&!s,n};var error=makeError;const aliases=["stdin","stdout","stderr"],hasAlias=t=>aliases.some(e=>void 0!==t[e]),normalizeStdio=t=>{if(t){const{stdio:r}=t;if(void 0===r)return aliases.map(e=>t[e]);if(hasAlias(t))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${aliases.map(e=>`\`${e}\``).join(", ")}`);if("string"==typeof r)return r;if(!Array.isArray(r))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof r}\``);var e=Math.max(r.length,aliases.length);return Array.from({length:e},(e,t)=>r[t])}};var stdio=normalizeStdio,node$1=e=>{const t=normalizeStdio(e);return"ipc"===t?"ipc":void 0===t||"string"==typeof t?[t,t,t,"ipc"]:t.includes("ipc")?t:[...t,"ipc"]};stdio.node=node$1;var emitter,signals$1=createCommonjsModule(function(e){e.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"],"win32"!==process.platform&&e.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),"linux"===process.platform&&e.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")}),signals=signals$1,isWin=/^win/i.test(process.platform),EE=events__default.default;"function"!=typeof EE&&(EE=EE.EventEmitter),process.__signal_exit_emitter__?emitter=process.__signal_exit_emitter__:((emitter=process.__signal_exit_emitter__=new EE).count=0,emitter.emitted={}),emitter.infinite||(emitter.setMaxListeners(1/0),emitter.infinite=!0);var signalExit=function(e,t){assert__default.default.equal(typeof e,"function","a callback must be provided for exit handler"),!1===loaded&&load();var r="exit";t&&t.alwaysLast&&(r="afterexit");return emitter.on(r,e),function(){emitter.removeListener(r,e),0===emitter.listeners("exit").length&&0===emitter.listeners("afterexit").length&&unload()}},unload_1=unload;function unload(){loaded&&(loaded=!1,signals.forEach(function(e){try{process.removeListener(e,sigListeners[e])}catch(e){}}),process.emit=originalProcessEmit,process.reallyExit=originalProcessReallyExit,--emitter.count)}function emit(e,t,r){emitter.emitted[e]||(emitter.emitted[e]=!0,emitter.emit(e,t,r))}var sigListeners={};signals.forEach(function(e){sigListeners[e]=function(){process.listeners(e).length===emitter.count&&(unload(),emit("exit",null,e),emit("afterexit",null,e),isWin&&"SIGHUP"===e&&(e="SIGINT"),process.kill(process.pid,e))}});var signals_1=function(){return signals},load_1=load,loaded=!1;function load(){loaded||(loaded=!0,emitter.count+=1,signals=signals.filter(function(e){try{return process.on(e,sigListeners[e]),!0}catch(e){return!1}}),process.emit=processEmit,process.reallyExit=processReallyExit)}var originalProcessReallyExit=process.reallyExit;function processReallyExit(e){process.exitCode=e||0,emit("exit",process.exitCode,null),emit("afterexit",process.exitCode,null),originalProcessReallyExit.call(process,process.exitCode)}var originalProcessEmit=process.emit;function processEmit(e,t){if("exit"!==e)return originalProcessEmit.apply(this,arguments);void 0!==t&&(process.exitCode=t);t=originalProcessEmit.apply(this,arguments);return emit("exit",process.exitCode,null),emit("afterexit",process.exitCode,null),t}signalExit.unload=unload_1,signalExit.signals=signals_1,signalExit.load=load_1;const DEFAULT_FORCE_KILL_TIMEOUT=5e3,spawnedKill$1=(e,t="SIGTERM",r={})=>{var n=e(t);return setKillTimeout(e,t,r,n),n},setKillTimeout=(e,t,r,n)=>{if(shouldForceKill(t,r,n)){r=getForceKillAfterTimeout(r);const o=setTimeout(()=>{e("SIGKILL")},r);o.unref&&o.unref()}},shouldForceKill=(e,{forceKillAfterTimeout:t},r)=>isSigterm(e)&&!1!==t&&r,isSigterm=e=>e===os__default.default.constants.signals.SIGTERM||"string"==typeof e&&"SIGTERM"===e.toUpperCase(),getForceKillAfterTimeout=({forceKillAfterTimeout:e=!0})=>{if(!0===e)return DEFAULT_FORCE_KILL_TIMEOUT;if(!Number.isFinite(e)||e<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e},spawnedCancel$1=(e,t)=>{e.kill()&&(t.isCanceled=!0)},timeoutKill=(e,t,r)=>{e.kill(t),r(Object.assign(new Error("Timed out"),{timedOut:!0,signal:t}))},setupTimeout$1=(r,{timeout:n,killSignal:o="SIGTERM"},e)=>{if(0===n||void 0===n)return e;if(!Number.isFinite(n)||n<0)throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${n}\` (${typeof n})`);let a;var t=new Promise((e,t)=>{a=setTimeout(()=>{timeoutKill(r,o,t)},n)}),e=e.finally(()=>{clearTimeout(a)});return Promise.race([t,e])},setExitHandler$1=async(e,{cleanup:t,detached:r},n)=>{if(!t||r)return n;const o=signalExit(()=>{e.kill()});return n.finally(()=>{o()})};var kill={spawnedKill:spawnedKill$1,spawnedCancel:spawnedCancel$1,setupTimeout:setupTimeout$1,setExitHandler:setExitHandler$1};const isStream=e=>null!==e&&"object"==typeof e&&"function"==typeof e.pipe;isStream.writable=e=>isStream(e)&&!1!==e.writable&&"function"==typeof e._write&&"object"==typeof e._writableState,isStream.readable=e=>isStream(e)&&!1!==e.readable&&"function"==typeof e._read&&"object"==typeof e._readableState,isStream.duplex=e=>isStream.writable(e)&&isStream.readable(e),isStream.transform=e=>isStream.duplex(e)&&"function"==typeof e._transform&&"object"==typeof e._transformState;var isStream_1=isStream,wrappy_1=wrappy;function wrappy(o,e){if(o&&e)return wrappy(o)(e);if("function"!=typeof o)throw new TypeError("need wrapper function");return Object.keys(o).forEach(function(e){t[e]=o[e]}),t;function t(){for(var e=new Array(arguments.length),t=0;t<e.length;t++)e[t]=arguments[t];var r=o.apply(this,e),n=e[e.length-1];return"function"==typeof r&&r!==n&&Object.keys(n).forEach(function(e){r[e]=n[e]}),r}}var once_1=wrappy_1(once),strict=wrappy_1(onceStrict);function once(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function onceStrict(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},r=e.name||"Function wrapped with `once`";return t.onceError=r+" shouldn't be called more than once",t.called=!1,t}once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:!0})}),once_1.strict=strict;var noop$1=function(){},isRequest$1=function(e){return e.setHeader&&"function"==typeof e.abort},isChildProcess=function(e){return e.stdio&&Array.isArray(e.stdio)&&3===e.stdio.length},eos=function(t,e,r){if("function"==typeof e)return eos(t,null,e);e=e||{},r=once_1(r||noop$1);function n(){t.writable||m()}function o(){d=!1,f||r.call(t)}function a(e){r.call(t,e?new Error("exited with error code: "+e):null)}function i(e){r.call(t,e)}function s(){process.nextTick(g)}function c(){t.req.on("finish",m)}var l=t._writableState,u=t._readableState,d=e.readable||!1!==e.readable&&t.readable,f=e.writable||!1!==e.writable&&t.writable,p=!1,m=function(){f=!1,d||r.call(t)},g=function(){if(!p)return(!d||u&&u.ended&&!u.destroyed)&&(!f||l&&l.ended&&!l.destroyed)?void 0:r.call(t,new Error("premature close"))};return isRequest$1(t)?(t.on("complete",m),t.on("abort",s),t.req?c():t.on("request",c)):f&&!l&&(t.on("end",n),t.on("close",n)),isChildProcess(t)&&t.on("exit",a),t.on("end",o),t.on("finish",m),!1!==e.error&&t.on("error",i),t.on("close",s),function(){p=!0,t.removeListener("complete",m),t.removeListener("abort",s),t.removeListener("request",c),t.req&&t.req.removeListener("finish",m),t.removeListener("end",n),t.removeListener("close",n),t.removeListener("finish",m),t.removeListener("exit",a),t.removeListener("end",o),t.removeListener("error",i),t.removeListener("close",s)}},endOfStream=eos,noop=function(){},ancient=/^v?\.0/.test(process.version),isFn=function(e){return"function"==typeof e},isFS=function(e){return!!ancient&&(!!fs__default.default&&((e instanceof(fs__default.default.ReadStream||noop)||e instanceof(fs__default.default.WriteStream||noop))&&isFn(e.close)))},isRequest=function(e){return e.setHeader&&isFn(e.abort)},destroyer=function(t,e,r,n){n=once_1(n);var o=!1;t.on("close",function(){o=!0}),endOfStream(t,{readable:e,writable:r},function(e){return e?n(e):(o=!0,void n())});var a=!1;return function(e){if(!o&&!a)return a=!0,isFS(t)?t.close(noop):isRequest(t)?t.abort():isFn(t.destroy)?t.destroy():void n(e||new Error("stream was destroyed"))}},call=function(e){e()},pipe=function(e,t){return e.pipe(t)},pump=function(){var n,o=Array.prototype.slice.call(arguments),a=isFn(o[o.length-1]||noop)&&o.pop()||noop;if((o=Array.isArray(o[0])?o[0]:o).length<2)throw new Error("pump requires two streams per minimum");var i=o.map(function(e,t){var r=t<o.length-1;return destroyer(e,r,0<t,function(e){n=n||e,e&&i.forEach(call),r||(i.forEach(call),a(n))})});return o.reduce(pipe)},pump_1=pump;const{PassThrough:PassThroughStream}=stream__default.default;var bufferStream=e=>{const{array:t}=e={...e};let{encoding:r}=e;const n="buffer"===r;let o=!1;t?o=!(r||n):r=r||"utf8",n&&(r=null);const a=new PassThroughStream({objectMode:o});r&&a.setEncoding(r);let i=0;const s=[];return a.on("data",e=>{s.push(e),o?i=s.length:i+=e.length}),a.getBufferedValue=()=>t?s:n?Buffer.concat(s,i):s.join(""),a.getBufferedLength=()=>i,a};const{constants:BufferConstants}=buffer__default.default;class MaxBufferError extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}}async function getStream(e,o){if(!e)return Promise.reject(new Error("Expected a stream"));const{maxBuffer:a}=o={maxBuffer:1/0,...o};let i;return await new Promise((t,r)=>{const n=e=>{e&&i.getBufferedLength()<=BufferConstants.MAX_LENGTH&&(e.bufferedData=i.getBufferedValue()),r(e)};i=pump_1(e,bufferStream(o),e=>{e?n(e):t()}),i.on("data",()=>{i.getBufferedLength()>a&&n(new MaxBufferError)})}),i.getBufferedValue()}var getStream_1=getStream,_default=getStream,buffer=(e,t)=>getStream(e,{...t,encoding:"buffer"}),array=(e,t)=>getStream(e,{...t,array:!0}),MaxBufferError_1=MaxBufferError;getStream_1.default=getStream,getStream_1.buffer=buffer,getStream_1.array=array,getStream_1.MaxBufferError=MaxBufferError_1;const{PassThrough}=stream__default.default;var mergeStream=function(){var r=[],n=new PassThrough({objectMode:!0});return n.setMaxListeners(0),n.add=t,n.isEmpty=function(){return 0==r.length},n.on("unpipe",o),Array.prototype.slice.call(arguments).forEach(t),n;function t(e){return Array.isArray(e)?e.forEach(t):(r.push(e),e.once("end",o.bind(null,e)),e.once("error",n.emit.bind(n,"error")),e.pipe(n,{end:!1})),this}function o(t){!(r=r.filter(function(e){return e!==t})).length&&n.readable&&n.end()}};const handleInput$1=(e,t)=>{void 0!==t&&void 0!==e.stdin&&(isStream_1(t)?t.pipe(e.stdin):e.stdin.end(t))},makeAllStream$1=(e,{all:t})=>{if(t&&(e.stdout||e.stderr)){const r=mergeStream();return e.stdout&&r.add(e.stdout),e.stderr&&r.add(e.stderr),r}},getBufferedData=async(e,t)=>{if(e){e.destroy();try{return await t}catch(e){return e.bufferedData}}},getStreamPromise=(e,{encoding:t,buffer:r,maxBuffer:n})=>{if(e&&r)return t?getStream_1(e,{encoding:t,maxBuffer:n}):getStream_1.buffer(e,{maxBuffer:n})},getSpawnedResult$1=async({stdout:t,stderr:r,all:n},{encoding:e,buffer:o,maxBuffer:a},i)=>{var s=getStreamPromise(t,{encoding:e,buffer:o,maxBuffer:a}),c=getStreamPromise(r,{encoding:e,buffer:o,maxBuffer:a}),a=getStreamPromise(n,{encoding:e,buffer:o,maxBuffer:2*a});try{return await Promise.all([i,s,c,a])}catch(e){return Promise.all([{error:e,signal:e.signal,timedOut:e.timedOut},getBufferedData(t,s),getBufferedData(r,c),getBufferedData(n,a)])}},validateInputSync$1=({input:e})=>{if(isStream_1(e))throw new TypeError("The `input` option cannot be a stream in sync mode")};var stream={handleInput:handleInput$1,makeAllStream:makeAllStream$1,getSpawnedResult:getSpawnedResult$1,validateInputSync:validateInputSync$1};const nativePromisePrototype=(async()=>{})().constructor.prototype,descriptors=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(nativePromisePrototype,e)]),mergePromise$1=(e,t)=>{for(const[n,o]of descriptors){var r="function"==typeof t?(...e)=>Reflect.apply(o.value,t(),e):o.value.bind(t);Reflect.defineProperty(e,n,{...o,value:r})}return e},getSpawnedPromise$1=e=>new Promise((r,t)=>{e.on("exit",(e,t)=>{r({exitCode:e,signal:t})}),e.on("error",e=>{t(e)}),e.stdin&&e.stdin.on("error",e=>{t(e)})});var promise={mergePromise:mergePromise$1,getSpawnedPromise:getSpawnedPromise$1};const SPACES_REGEXP=/ +/g,joinCommand$1=(e,t=[])=>Array.isArray(t)?[e,...t].join(" "):e,parseCommand$1=e=>{const t=[];for(const r of e.trim().split(SPACES_REGEXP)){const n=t[t.length-1];n&&n.endsWith("\\")?t[t.length-1]=`${n.slice(0,-1)} ${r}`:t.push(r)}return t};var command$1={joinCommand:joinCommand$1,parseCommand:parseCommand$1};const{spawnedKill,spawnedCancel,setupTimeout,setExitHandler}=kill,{handleInput,getSpawnedResult,makeAllStream,validateInputSync}=stream,{mergePromise,getSpawnedPromise}=promise,{joinCommand,parseCommand}=command$1,DEFAULT_MAX_BUFFER=1e8,getEnv=({env:e,extendEnv:t,preferLocal:r,localDir:n,execPath:o})=>{e=t?{...process.env,...e}:e;return r?npmRunPath_1.env({env:e,cwd:n,execPath:o}):e},handleArguments=(e,t,r={})=>{var n=crossSpawn._parse(e,t,r);return e=n.command,t=n.args,r=n.options,(r={maxBuffer:DEFAULT_MAX_BUFFER,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:r.cwd||process.cwd(),execPath:process.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,...r}).env=getEnv(r),r.stdio=stdio(r),"win32"===process.platform&&"cmd"===path__default.default.basename(e,".exe")&&t.unshift("/q"),{file:e,args:t,options:r,parsed:n}},handleOutput=(e,t,r)=>"string"==typeof t||Buffer.isBuffer(t)?e.stripFinalNewline?stripFinalNewline(t):t:void 0===r?void 0:"",execa=(e,t,r)=>{const s=handleArguments(e,t,r),c=joinCommand(e,t);let l;try{l=child_process__default.default.spawn(s.file,s.args,s.options)}catch(e){var t=new child_process__default.default.ChildProcess,n=Promise.reject(error({error:e,stdout:"",stderr:"",all:"",command:c,parsed:s,timedOut:!1,isCanceled:!1,killed:!1}));return mergePromise(t,n)}n=getSpawnedPromise(l),n=setupTimeout(l,s.options,n);const u=setExitHandler(l,s.options,n),d={isCanceled:!1};l.kill=spawnedKill.bind(null,l.kill.bind(l)),l.cancel=spawnedCancel.bind(null,l,d);n=onetime_1(async()=>{var[{error:e,exitCode:t,signal:r,timedOut:n},o,a,i]=await getSpawnedResult(l,s.options,u),o=handleOutput(s.options,o),a=handleOutput(s.options,a),i=handleOutput(s.options,i);if(e||0!==t||null!==r){n=error({error:e,exitCode:t,signal:r,stdout:o,stderr:a,all:i,command:c,parsed:s,timedOut:n,isCanceled:d.isCanceled,killed:l.killed});if(!s.options.reject)return n;throw n}return{command:c,exitCode:0,stdout:o,stderr:a,all:i,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return crossSpawn._enoent.hookChildProcess(l,s.parsed),handleInput(l,s.options.input),l.all=makeAllStream(l,s.options),mergePromise(l,n)};var execa_1=execa,sync=(e,t,r)=>{var n=handleArguments(e,t,r),o=joinCommand(e,t);validateInputSync(n.options);let a;try{a=child_process__default.default.spawnSync(n.file,n.args,n.options)}catch(e){throw error({error:e,stdout:"",stderr:"",all:"",command:o,parsed:n,timedOut:!1,isCanceled:!1,killed:!1})}r=handleOutput(n.options,a.stdout,a.error),e=handleOutput(n.options,a.stderr,a.error);if(a.error||0!==a.status||null!==a.signal){t=error({stdout:r,stderr:e,error:a.error,signal:a.signal,exitCode:a.status,command:o,parsed:n,timedOut:a.error&&"ETIMEDOUT"===a.error.code,isCanceled:!1,killed:null!==a.signal});if(!n.options.reject)return t;throw t}return{command:o,exitCode:0,stdout:r,stderr:e,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}},command=(e,t)=>{var[r,...e]=parseCommand(e);return execa(r,e,t)},commandSync=(e,t)=>{var[r,...e]=parseCommand(e);return execa.sync(r,e,t)},node=(e,t,r={})=>{t&&!Array.isArray(t)&&"object"==typeof t&&(r=t,t=[]);var n=stdio.node(r),o=process.execArgv.filter(e=>!e.startsWith("--inspect")),{nodePath:a=process.execPath,nodeOptions:o=o}=r;return execa(a,[...o,e,...Array.isArray(t)?t:[]],{...r,stdin:void 0,stdout:void 0,stderr:void 0,stdio:n,shell:!1})};execa_1.sync=sync,execa_1.command=command,execa_1.commandSync=commandSync,execa_1.node=node;var TS_REG=/^[0-9]{8}$/;function keywordTheme(e,t,r,n){void 0===n&&(n=!1);var o=new RegExp(escapeRegExp(t)),a=n?e.includes(t):o.test(e),r=chalk__default.default[r]||chalk__default.default.hex(r);return a?n?r(e):e.replace(o,r(t)):""}function CreateProgress(e,t){var r=this;this.text="项目["+t+"]"+{build:"构建",upload:"上传"}[e],this.start=function(){r.spinner=ora__default.default().start(chalk__default.default.yellow(r.text+"中... \n"))},this.fail=function(e){r.spinner||(r.spinner=ora__default.default()),r.spinner.fail(chalk__default.default.red(r.text+"失败:"+e+" \n"))},this.succeed=function(){r.spinner||(r.spinner=ora__default.default()),r.spinner.succeed(chalk__default.default.green(r.text+"成功! \n"))},this.stop=function(){r.spinner&&r.spinner.stop()}}function consoleBufferByTheme(e){e=e.toString().replace(/\n$/g,"");return e?(e=keywordTheme(e,"Tips:","yellowBright",!0)||keywordTheme(e,"预览模式","yellowBright",!0)||keywordTheme(e,"Example:","yellowBright",!0)||keywordTheme(e,"$ NODE_ENV=production taro build","yellowBright",!0)||keywordTheme(e,"建议开启","yellowBright",!0)||keywordTheme(e,"Prebundle dependencies:","cyan",!0)||keywordTheme(e,"生成","#b278ff")||keywordTheme(e,"编译","#00ee76")||keywordTheme(e,"编译成功","#00ee76",!0)||keywordTheme(e,"监听文件","#6c6f7d",!0)||keywordTheme(e,"创建","#00aad1")||keywordTheme(e,"修改","#e3eb00")||keywordTheme(e,"Listening","gray",!0)||keywordTheme(e,"Watching","gray",!0)||keywordTheme(e,"[WARNING]","bgYellowBright")||keywordTheme(keywordTheme(e,"✔ Webpack","green"),"Compiled","gray",!0)||e,console.log(e),e):""}var pkgMap={1:{label:"体验",key:"Beta"},2:{label:"候选",key:"Rc"},3:{label:"正式",key:""}};function commandTrigger(a,i,s,c,l){return new Promise(function(n){var o,e=a.split(/\s/g),t=e[0],e=e.slice(1),e=execa_1(t,e,{env:__assign(__assign({},process.env),l)}),r=new CreateProgress("build",c);i||s?(e.stdout.on("data",consoleBufferByTheme),e.stderr.on("data",function(e){if(i){var t=e.toString().trim(),r="● Webpack";if(t.includes(r))return void(o=o||ora__default.default()).info(keywordTheme(t.replace(/\n/g,""),r,"green"));(t.includes("编译成功")||t.includes("successfully"))&&setTimeout(function(){n({code:0})},1e3)}consoleBufferByTheme(e)})):(e.stdout.on("data",function(){}),e.stderr.on("data",function(){}),r.start()),e.on("exit",function(){i||(n({code:0}),r.succeed())}),e.on("error",function(e){console.error(e),r.fail(e)})})}var taroCiCfg=null;function readConfig(e){void 0===e&&(e="taro-ci");var t,r,n,o,a,i,s=taroCiCfg||require(path__default.default.resolve("./"+e+".config.js")),c=process.env.PLATFORM_ENV,s="function"==typeof s?s(merge):s;s.minSwanVersion||(s.minSwanVersion="3.310.35");try{!c||(r=(t=resolvePath(path__default.default.resolve("./"+e+".release"),".json"))?require(t):null)&&0<r.length&&(o=(n=r[0].split("-")).splice(0,1)[0],a=n.splice(-1,1)[0],i=n.join("-"),TS_REG.test(a)||(a&&(n.push(a),i=n.join("-")),a=dayjs__default.default().format("YYYYMMDD")),s=__assign(__assign({},s),{ts:a,version:o,description:i}))}catch(e){}return taroCiCfg=s}function getRobotAndTypeByMessage(e){if(!e)return{};var t=new RegExp("\\[(("+taroPlatform+")((\\.[a-zA-Z,]+)+)?,?)\\]"),t=(e.match(t)||[])[1];return t?{type:t.split(",")}:{}}function getRobotAndTypeByBranch(e,t){return t&&e?"function"==typeof t?t(e):t[e]:{}}var argMap=null;function getArgs(e){if(argMap)return argMap;var t=minimist__default.default(process.argv.slice(2),{boolean:["watch","debug","upload","multi"]}),r=t.ci,n=void 0===r?"":r,o=t.dd,a=void 0===o?"":o,i=t.privacy,s=void 0===i?"":i,c=t.tt,l=void 0===c?"":c,u=t.watch,d=t.debug,f=t.upload,p=t.branch,m=t.multi,g=t.message,h=__rest(t,["ci","dd","privacy","tt","watch","debug","upload","branch","multi","message"]),_=n.split(","),v=_[0],y=_[1],w=_[2],b=l.split(","),E=b[0],S=b[1],r=a.split(","),o=r[0],i=r[1],c=s.split(","),t=c[0],_=c[1],b=(""+(g||"")).replace(/\n/g,""),r=getRobotAndTypeByMessage(b),c=r.type,g=r.robot,r=void 0===g?1:g,g=getRobotAndTypeByBranch(p,e),e=g.type,e=void 0===e?c:e,g=g.robot,g=void 0===g?r:g;return argMap=__assign({ci:n?{toolId:v,privateKey:y,token:w}:void 0,dd:a?{accessToken:o,secret:i}:void 0,privacy:s?{accessToken:t,secret:_}:void 0,tt:l?{email:E,password:S}:void 0,watch:u,debug:d,isWatch:Boolean(u),isDebug:Boolean(d),isUpload:Boolean(f),isCi:Boolean(g),isMulti:Boolean(m),branch:p,robot:g,type:e,message:b},h)}function getTARO_ENV(){return process.env.PLATFORM_ENV}function createOutPath(e,t,r){return e+"."+(t?"dev":"build")+(r?".debug":"")}function getProjectConfigPath(){var e=getTARO_ENV();return path__default.default.resolve("./",TaroConfig[e.toLocaleUpperCase()]||TaroConfig.WEAPP)}function readProjectConfig(){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){return t=getProjectConfigPath(),t=fs__default.default.readFileSync(t),[2,JSON.parse(t.toString())]})})}var compileTypeMap={miniprogram:"miniProgram",plugin:"miniProgramPlugin",game:"miniGame",gamePlugin:"miniGamePlugin"};function rewriteExt(a){return __awaiter(this,void 0,void 0,function(){var t,r,n,o;return __generator(this,function(e){if(r=getArgs(),t=r.isWatch,r=r.isDebug,t||r)return[2,a];try{n=path__default.default.resolve("./ext.json"),(o=require(n)).extEnable=!1,fs__default.default.writeFileSync(n,JSON.stringify(o,null,4))}catch(e){console.log("ext-extEnable",e)}return[2,a]})})}function rewriteProjectConfig(c){return __awaiter(this,void 0,void 0,function(){var t,r,n,o,a,i,s;return __generator(this,function(e){switch(e.label){case 0:return(n=readConfig().info,o=getArgs(),t=o.isWatch,a=o.isDebug,s=o.isUpload,r=o.isMulti,o=n[c]||{},n=o.appId,o=o.template,a="dist/"+createOutPath(c,t,a),process.env.ROOT_PATH=a,process.env.PROJECT_ENV=r?"MULTI":"MINI",process.env.FIX_ENV===TaroEnv.QUICKAPP||s)?[2,c]:(i=getProjectConfigPath(),[4,readProjectConfig()]);case 1:return s=e.sent(),"swan"===process.env.PLATFORM_ENV?s.smartProgramRoot=a:s.miniprogramRoot=a,s.projectArchitecture=r?"multiPlatform":"miniprogram",s.appid=n,fs__default.default.writeFileSync(i,JSON.stringify(s,null,4)),1!==o?[3,3]:[4,rewriteExt(c)];case 2:e.sent(),e.label=3;case 3:return[2,c]}})})}function formatStrWithLine(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.filter(function(e){return!!e}).join("-")}function trimStr(e){return e?e.trim():void 0}function getVersionAndDescriptionFromMessage(e){if(!e)return{};var t=e.replace(/\n/g,""),e=(t.match(/v:(.+)d:/)||[])[1],t=(t.match(/d:(.+)See merge request/)||[])[1];return{version:trimStr(e),description:trimStr(t)}}function getAndFormatConfigInfo(e){var t=readConfig(),r=t.version,n=t.description,o=t.info,a=t.minSwanVersion,i=getArgs(t.branchMap),s=i.robot,c=i.message,l=o[e]||{},t=l.version,i=void 0===t?r:t,o=l.description,e=void 0===o?n:o,r=l.tag,t=void 0===r?"":r,n=l.label,o=void 0===n?"":n,r=l.robot,n=void 0===r?1:r,l=getVersionAndDescriptionFromMessage(c),r=l.version,i=void 0===r?i:r,r=l.description,l=void 0===r?e:r,e=pkgMap[s+""],r=e.label,e=e.key,o=formatStrWithLine(r,o);return{minSwanVersion:a,robot:s+2*(n-1),versionPure:i,version:formatStrWithLine(e,t+i),description:"【"+o+"版-"+dayjs__default.default().format("YYYYMMDDHHmmss")+"】:"+c+"【"+l+"】",label:o}}function formateCommand(e){var t=new RegExp(taroPlatformAndMode),r=e.match(t)||[],e=r[1],t=r[3],r="";return e===TaroEnv.QUICKAPP&&(r=e,e=TaroEnv.WEAPP),[e,void 0===t?"":t,r]}function isObject(e){return"[object Object]"===Object.prototype.toString.call(e)}function isArray(e){return Array.isArray(e)}function merge(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return t.reduce(function(e,t){return Object.keys(t).reduce(function(n,o){var e=t[o];return isObject(e)?n[o]=merge(n[o]||{},e):isArray(e)?n[o]=e.map(function(e,t){if(isObject(e)){var r=n[o]||[];return merge(r[t]||{},e)}return e}):n[o]=e,n},e)},e)}function resolvePath(e,t){var r=process.env.PLATFORM_ENV,n=process.env.MODE_ENV,o=[r],a="";n&&o.unshift(r+"."+n,n);for(var i=0,s=o.length;i<s;i++){var c=o[i];if(fs__default.default.existsSync(a=e+"."+c+t))return a;if(fs__default.default.existsSync(a=""+e+path__default.default.sep+"index."+c+t))return a;var l=/\/index$/;if(l.test(e)&&fs__default.default.existsSync(a=""+e.replace(l,"."+c+"/index")+t))return a}return fs__default.default.existsSync(a=""+e+t)||fs__default.default.existsSync(a=""+e+path__default.default.sep+"index"+t)?a:""}function installCommand(e){return new Promise(function(t){console.log(chalk__default.default.red("缺少指令:"),chalk__default.default.gray(e)),execa_1("npm",["install",e,"-g"],{shell:!0}).on("close",function(e){0===e?console.log(chalk__default.default.green("指令安装成功")):console.log(chalk__default.default.red("指令安装失败")),t(e)})})}function build(c){return __awaiter(this,void 0,void 0,function(){var t,r,n,o,a,i,s;return __generator(this,function(e){switch(e.label){case 0:return(i=getArgs(),t=i.isWatch,r=i.isDebug,n=i.isUpload,o=readConfig(),s=o.useTaroPluginBuildBy,a=o.info,i=o.version,o=(a[c]||{}).version,a=void 0===o?i:o,process.env.APP_VERSION=a,i=process.env,o=i.MODE_ENV,a=i.PLATFORM_ENV,i=i.FIX_ENV,n)?[2,c]:(s="taro build --type "+("type"===s?c:"mode"===s&&o?o:a),t&&(s+=" --watch"),console.log(chalk__default.default.grey("编译平台:"),chalk__default.default.red(i||a),chalk__default.default.grey("版本模式:"),chalk__default.default.red(o||"默认")),[4,commandTrigger(s,t,r,c)]);case 1:return e.sent(),[2,c]}})})}function weapp(c){return __awaiter(this,void 0,void 0,function(){var t,r,n,o,a,i,s;return __generator(this,function(e){switch(e.label){case 0:return[4,readConfig()];case 1:return n=e.sent().info,i=(void 0===n?{}:n)[c].appId,o=getAndFormatConfigInfo(c),t=o.version,r=o.description,n=o.robot,[4,readProjectConfig()];case 2:return(o=e.sent(),s=o.setting,s=void 0===s?{}:s,o=o.compileType,o=void 0===o?"miniprogram":o,a=null,i)?(i=new ci__default.default.Project({appid:i,type:compileTypeMap[o]||"miniProgram",projectPath:path__default.default.resolve("./"),privateKeyPath:path__default.default.resolve("./","private."+i+".key"),ignores:["node_modules/**/*"]}),[4,ci__default.default.upload({robot:n,project:i,version:t,desc:r,setting:s,onProgressUpdate:function(){}}).catch(function(e){return a=e})]):(a=new Error("缺少appId,无法上传到微信平台"),[2,{item:c,error:a,errorCode:3}]);case 3:return s=e.sent(),[2,{item:c,error:a,result:s}]}})})}function alipay(s){return __awaiter(this,void 0,void 0,function(){var t,r,n,o,a,i;return __generator(this,function(e){switch(e.label){case 0:return r=getArgs().ci,[4,readConfig()];case 1:return(a=e.sent(),t=a.info,n=void 0===t?{}:t,t=a.ci,a=n[s].appId,n=__assign(__assign({},t),r),t=n.toolId,r=n.privateKey,n=getAndFormatConfigInfo(s).versionPure,o=null,a&&t)?(miniu__default.default.setConfig({toolId:t,privateKey:r}),i={project:path__default.default.resolve("./"),appId:a,clientType:"alipay",experience:!0,onProgressUpdate:function(){}},n&&"-1"!==n?[4,miniu__default.default.getUploadVersion({appId:a,clientType:"alipay"})]:[3,3]):(o=new Error("缺少"+(a?"toolId":"appId")+",无法上传到支付宝平台"),[2,{item:s,error:o,errorCode:3}]);case 2:a=e.sent(),semver__default.default.gt(n,a)||(n=semver__default.default.inc(a,"patch")),i.packageVersion=n,e.label=3;case 3:return[4,miniu__default.default.miniUpload(i).catch(function(e){return o=new Error(""+e.message)})];case 4:return i=e.sent(),[2,{item:s,result:i,error:o}]}})})}function createUploadFailMessage(e){return"上传失败"+((e=void 0===e?!0:e)?",缺少swan-toolkit包":"")}function upload$1(a,i){return void 0===i&&(i=!1),new Promise(function(t){var e=a.token,r=a.version,n=a.desc,r=("swan upload -p ./ --token "+e+" --min-swan-version "+a.minSwanVersion+" --release-version "+r+" -d "+n.replace(/\s/,"")).split(/\s/g),n=r[0],r=r.slice(1),r=execa_1(n,r,{shell:!0}),o="";r.stderr.on("data",function(e){o=""+e}),r.on("close",function(e){0===e?t({}):127===e?installCommand("swan-toolkit").then(function(){i?t({error:createUploadFailMessage()}):upload$1(a,!0).then(t).catch(t)}).catch(function(){t({error:createUploadFailMessage()})}):t({error:o||createUploadFailMessage(!1)})})})}function swan(i){return __awaiter(this,void 0,void 0,function(){var t,r,n,o,a;return __generator(this,function(e){switch(e.label){case 0:return n=getArgs().ci,[4,readConfig()];case 1:if(o=e.sent().ci,a=getAndFormatConfigInfo(i),t=a.versionPure,r=a.description,a=a.minSwanVersion,n=__assign(__assign({},o),n).token,o=null,!(n=void 0===n?"":n))return o=new Error("缺少token,无法上传到百度平台"),[2,{item:i,error:o,errorCode:3}];try{fs__default.default.writeFileSync(path__default.default.resolve("./ext.json"),"")}catch(e){}return[4,upload$1({token:n,version:t,desc:r,minSwanVersion:a})];case 2:return a=e.sent(),o=a.error,[2,{item:i,result:a,error:o}]}})})}function tt(s){return __awaiter(this,void 0,void 0,function(){var t,r,n,o,a,i;return __generator(this,function(e){switch(e.label){case 0:return r=getArgs().tt,[4,readConfig()];case 1:return o=e.sent().tt,n=__assign(__assign({},o),r),t=n.email,r=n.password,o=getAndFormatConfigInfo(s),n=o.versionPure,o=o.description,a=null,t&&r?[4,tma__default.default.loginByEmail({email:t,password:r})]:(a=new Error("缺少"+(t?"password":"email")+",无法上传到抖音平台"),[2,{item:s,error:a,errorCode:3}]);case 2:return e.sent(),[4,tma__default.default.upload({project:{path:path__default.default.resolve("./")},qrcode:{format:null,output:"",options:{small:!1}},version:n,changeLog:o,copyToClipboard:!1,needUploadSourcemap:!0}).catch(function(e){return a=e})];case 3:return i=e.sent(),[4,tma__default.default.logout()];case 4:return e.sent(),[2,{item:s,error:a,result:i}]}})})}function upload(i){return __awaiter(this,void 0,void 0,function(){var t,r,n,o,a;return __generator(this,function(e){switch(e.label){case 0:if(n=getArgs(),r=n.isCi,t=n.isWatch,n=n.isDebug,process.env.FIX_ENV)throw new Error("暂不支持快应用上传");if(t||!r)throw new Error(i+",未传入robot或者开发模式无法上传");if(n)throw new Error(i+",DEBUG模式无法上传");t=getTARO_ENV(),r={item:i},(n=new CreateProgress("upload",i)).start(),e.label=1;case 1:switch(e.trys.push([1,12,,13]),t){case TaroEnv.WEAPP:return[3,2];case TaroEnv.ALIPAY:return[3,4];case TaroEnv.SWAN:return[3,6];case TaroEnv.TT:return[3,8]}return[3,10];case 2:return[4,weapp(i)];case 3:return r=e.sent(),[3,11];case 4:return[4,alipay(i)];case 5:return r=e.sent(),[3,11];case 6:return[4,swan(i)];case 7:return r=e.sent(),[3,11];case 8:return[4,tt(i)];case 9:return r=e.sent(),[3,11];case 10:throw o=TaroEnv.WEAPP+"、"+TaroEnv.ALIPAY+"、"+TaroEnv.SWAN+"、"+TaroEnv.TT,o=new Error("不支持上传该平台,目前支持:"+o),n.fail(o.message||o),r={item:i,error:o,errorCode:1},o;case 11:return o=r.error,a=r.errorCode,o?(n.fail(o.message||o),a||(r.errorCode=2)):n.succeed(),[3,13];case 12:return a=e.sent(),n.fail(a.message||a),r={item:i,error:a},[3,13];case 13:return[2,r]}})})}function Markdown(){this.text="",this.title="",this.items=[],this.setTitle=function(e){return this.title=e,this},this.add=function(e){return Array.isArray(e)?this.items.concat(e):this.items.push(e),this.text=this.items.join("\n"),this}}function notice(p){return __awaiter(this,void 0,void 0,function(){var t,r,n,o,a,i,s,c,l,u,d,f;return __generator(this,function(e){return u=p.result,t=p.error,r=p.item,n=p.errorCode,s=readConfig(),a=getArgs(s.branchMap),i=a.dd,f=a.privacy,c=s.dd,o=void 0===c?i:c,d=s.privacy,a=void 0===d?f:d,i=s.name,c=s.git,f=void 0===c?"":c,d=getAndFormatConfigInfo(r),s=d.version,c=d.description,d=d.label,l=getTARO_ENV(),u=(u||{}).qrCodeUrl,d=("["+r+"]"+i).toUpperCase()+":"+d,d=(new Markdown).setTitle(d).add("["+d+"]("+f+")\n"),t?(f=l===TaroEnv.H5?"**上传结果:打包成功,自行部署发布**":'**上传结果:上传失败** \n<font color="red">('+t.message+")</font>",d.add(f)):d.add("**上传结果:上传成功**"),d.add("1. version:"+s).add("2. description:"+c),u&&d.add("\n"),a&&new Robot__default.default(__assign({baseUrl:"https://oapi.dingtalk.com/robot/send"},a)).markdown(d.title,d.text),o&&new Robot__default.default(__assign({baseUrl:"https://oapi.dingtalk.com/robot/send"},o)).markdown(d.title,d.text).then(function(){console.log(chalk__default.default.green("已发送钉钉通知!")),t&&l!==TaroEnv.H5&&1!==n&&process.exit(1)}),[2]})})}function run(o){return __awaiter(this,void 0,void 0,function(){var t,r,n;return __generator(this,function(e){switch(e.label){case 0:return e.trys.push([0,5,,6]),r=formateCommand(o),n=r[0],t=r[1],r=r[2],process.env.PLATFORM_ENV=n,process.env.MODE_ENV=t,process.env.FIX_ENV=r,n=notice,t=upload,r=build,[4,rewriteProjectConfig(o)];case 1:return[4,r.apply(void 0,[e.sent()])];case 2:return[4,t.apply(void 0,[e.sent()])];case 3:return[4,n.apply(void 0,[e.sent()])];case 4:return e.sent(),[3,6];case 5:return n=e.sent(),ora__default.default().fail(chalk__default.default.gray(n.message)),[3,6];case 6:return[2]}})})}function init(){return __awaiter(this,void 0,void 0,function(){var t,r,n;return __generator(this,function(e){switch(e.label){case 0:return[4,readConfig()];case 1:if(r=e.sent(),n=getArgs(r.branchMap),t=n.type,r=void 0===t?r.type:t,t=n.isDebug,n=n.robot,process.env.DEBUG_ENV=t||1===n?"OPEN":"CLOSE",!(n=r?Array.isArray(r)?r:[r]:null))return[2];r=0,n=n,e.label=2;case 2:return r<n.length?[4,run(n[r])]:[3,5];case 3:e.sent(),e.label=4;case 4:return r++,[3,2];case 5:return[2]}})})}init();
|
|
1
|
+
/*!
|
|
2
|
+
* taro-ci v3.1.1
|
|
3
|
+
* (c) 2021-2026 yym
|
|
4
|
+
* Released under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
"use strict";var e=require("chalk"),r=require("ora"),t=require("path"),n=require("fs-extra"),i=require("minimist"),o=require("dayjs"),s=require("execa"),a=require("semver"),c=require("dingtalk-robot-sender"),u=require("minigame-code-fortify-cli"),l=require("chokidar"),f=require("lodash"),d=require("child_process");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var v,h=p(e),g=p(r),m=p(t),y=p(n),b=p(i),w=p(o),E=p(s),P=p(a),C=p(c),T=p(l),j=function(){return j=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},j.apply(this,arguments)};function I(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)r.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(t[n[i]]=e[n[i]])}return t}function S(e,r,t,n){return new(t||(t=Promise))(function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function a(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var r;e.done?i(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(s,a)}c((n=n.apply(e,r||[])).next())})}function A(e,r){var t,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;s;)try{if(t=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=r.call(e,s)}catch(e){o=[6,e],n=0}finally{t=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function x(){for(var e=0,r=0,t=arguments.length;r<t;r++)e+=arguments[r].length;var n=Array(e),i=0;for(r=0;r<t;r++)for(var o=arguments[r],s=0,a=o.length;s<a;s++,i++)n[i]=o[s];return n}!function(e){e.WEAPP="weapp",e.ALIPAY="alipay",e.SWAN="swan",e.QUICKAPP="quickapp",e.H5="h5",e.RN="rn",e.TT="tt"}(v||(v={}));var O,k=v.WEAPP+"|"+v.ALIPAY+"|"+v.QUICKAPP+"|"+v.SWAN+"|"+v.H5+"|"+v.RN+"|"+v.TT,D="("+k+")([.|-]{1})?(.+)?";function _(e){void 0===e&&(e="");var r=g.default().start(h.default.yellow(e));return{succeed:function(e){return r.succeed(h.default.green(e))},fail:function(e){return r.fail(h.default.red(e))},warning:function(e){return r.warn(h.default.yellow(e))}}}!function(e){e.WEAPP="project.config.json",e.ALIPAY="mini.project.json",e.SWAN="project.swan.json",e.QUICKAPP="project.quickapp.json",e.TT="project.config.json"}(O||(O={}));var R="npm_package_dependencies__tarojs_cli",M=/^([A-Za-z0-9_.]+)-(\d+)\.(\d+)\.(\d+)$/;function q(){}var N=function(){var e=process.env,r=e.SOURCE_ROOT_PATH,t=e.INIT_CWD,n=m.default.resolve(t,"src");return{rootPath:t,npmDir:t+"/node_modules",sourceDir:n,destinationDir:m.default.resolve(t,r),sourceRoot:r,appEntryPath:n+"/app.jsx",appEntryConfigPath:n+"/app.config.js",needCopy:r&&"src"!==r}};function F(){var e=N().npmDir;return require(e+"/@tarojs/helper")}function U(){var e=process.env.INIT_CWD,r=F(),t=require(e+"/"+r.PROJECT_CONFIG),n=("function"==typeof t?t(ve):t).alias;if(n){var i=N(),o=i.sourceDir,s=i.destinationDir;return Object.keys(n).forEach(function(e){var r=n[e];n[e]=m.default.resolve(o,r.replace(s,o))}),n}return n}var V=[".js",".jsx",".ts",".tsx"],L=[".scss",".less"],W=[".png",".jpg",".jpeg",".gif"];function B(e){return L.includes(e)}function H(e){return W.includes(e)}function Y(e){return function(e){return V.includes(e)}(e)||B(e)||H(e)}x(V,L);var G=/^[0-9]{8}$/;function K(e,r){var t=this;this.text="项目["+r+"]"+{build:"构建",upload:"上传"}[e],this.start=function(){t.spinner=g.default().start(h.default.yellow(t.text+"中... \n"))},this.fail=function(e){t.spinner||(t.spinner=g.default()),t.spinner.fail(h.default.red(t.text+"失败:"+e+" \n"))},this.succeed=function(){t.spinner||(t.spinner=g.default()),t.spinner.succeed(h.default.green(t.text+"成功! \n"))},this.stop=function(){t.spinner&&t.spinner.stop()}}var $={1:{label:"体验",key:"Beta"},2:{label:"候选",key:"Rc"},3:{label:"正式",key:""}};function J(e,r,t,n,i){return new Promise(function(o,s){var a=e.split(/\s/g),c=a[0],u=a.slice(1),l=E.default(c,u,{env:j(j(j({},process.env),i),{FORCE_COLOR:"1"})}),f=new K("build",n),d=!1,p="",v=function(e){if(r){var t=e.toString().trim();(t.includes("编译成功")||t.includes("successfully")||t.startsWith("built"))&&o({code:0})}},h=function(e){var r=e.toString().trim();(r.includes("编译失败")||r.includes("failed")||r.includes("Error")||r.includes("SyntaxError"))&&(d=!0),d&&(p+=r+"\n")};r||t?(l.stdout.on("data",function(e){process.stdout.write(e),v(e)}),l.stderr.on("data",function(e){process.stderr.write(e),v(e)})):(l.stdout.on("data",h),l.stderr.on("data",h),f.start()),l.on("exit",function(){if(!r){if(d)return f.stop(),void s(new Error(p));o({code:0}),f.succeed()}}),l.on("error",function(e){console.error(e),f.fail(e)})})}var Q=null;function X(e){void 0===e&&(e="taro-ci");var r=Q;if(!r){try{r=require(m.default.resolve("./"+e+".private.config.js"))}catch(n){try{r=require(m.default.resolve("./"+e+".config.js"))}catch(e){var t=require(m.default.resolve("./package.json"));(r=t["taro-ci"]).name=t.name,r.version=t.version,r.description=t.description}}var n="function"==typeof r?r(ve):r;return n.minSwanVersion||(n.minSwanVersion="3.310.35"),n.compileType||(n.compileType="taro"),n.codeFortify||(n.codeFortify=!1),Q=n,n}return r}var z=null;function Z(e){void 0===e&&(e="taro-ci");var r=z;if(!r){var t=X(e);try{if(process.env.PLATFORM_ENV){var n=he(m.default.resolve("./"+e+".release"),".json"),i=n?require(n):null;if(i&&i.length>0){var o=i[0].split("-"),s=o.splice(0,1)[0],a=o.splice(-1,1)[0],c=o.join("-");G.test(a)||(a&&(o.push(a),c=o.join("-")),a=w.default().format("YYYYMMDD")),t=j(j({},t),{ts:a,version:s,description:c})}z=t}}catch(e){}return t}return r}function ee(){var e=process.env.CI_COMMIT_TAG||"";if(!M.test(e))return{};var r=e.split("-");return{type:r[0],version:r[1]}}var re=null;function te(e){if(re)return re;var r=b.default(process.argv.slice(2),{boolean:["watch","debug","upload","multi","tag"]}),t=r.ci,n=void 0===t?process.env.alipay_tool_id?process.env.alipay_tool_id+","+process.env.alipay_private_key+","+process.env.swan_token:"":t,i=r.dd,o=void 0===i?process.env.dd_access_token?process.env.dd_access_token+","+process.env.dd_secret:"":i,s=r.privacy,a=void 0===s?"":s,c=r.tt,u=void 0===c?process.env.tt_email?process.env.tt_email+","+process.env.tt_password:"":c,l=r.watch,f=r.debug,d=r.upload,p=r.branch,v=void 0===p?process.env.CI_COMMIT_BRANCH||"":p,h=r.multi,g=r.tag,m=r.message,y=void 0===m?process.env.CI_COMMIT_MESSAGE||"":m,w=I(r,["ci","dd","privacy","tt","watch","debug","upload","branch","multi","tag","message"]),E=n.split(","),P=E[0],C=E[1],T=E[2],S=u.split(","),A=S[0],x=S[1],O=o.split(","),D=O[0],_=O[1],R=a.split(","),M=R[0],q=R[1],N=(""+(y||"")).replace(/\n/g,""),F=function(e){if(!e)return{};var r=new RegExp("\\[(("+k+")((\\.[a-zA-Z,]+)+)?,?)\\]"),t=(e.match(r)||[])[1];return t?{type:t.split(",")}:{}}(N),U=F.type,V=F.robot,L=void 0===V?1:V,W=function(e,r){return r&&e?"function"==typeof r?r(e):r[e]:{}}(v,e),B=W.type,H=void 0===B?U:B,Y=W.robot,G=void 0===Y?L:Y,K=ee().type,$=j({ci:n?{toolId:P,privateKey:C,token:T}:void 0,dd:o?{accessToken:D,secret:_}:void 0,privacy:a?{accessToken:M,secret:q}:void 0,tt:u?{email:A,password:x}:void 0,watch:l,debug:f,isWatch:Boolean(l),isDebug:Boolean(f),isUpload:Boolean(d),isCi:Boolean(G),isMulti:Boolean(h),isAutoTag:Boolean(g),isTestRobot:Boolean(""+(w.robot||G)=="1"),branch:v,robot:G,type:K||H,message:N},w);return re=$,$}function ne(){return process.env.PLATFORM_ENV}function ie(){var e=ne();return m.default.resolve("./",O[e.toLocaleUpperCase()]||O.WEAPP)}function oe(){return S(this,void 0,void 0,function(){var e,r;return A(this,function(t){return e=ie(),r=y.default.readFileSync(e),[2,JSON.parse(r.toString())]})})}var se={miniprogram:"miniProgram",plugin:"miniProgramPlugin",game:"miniGame",gamePlugin:"miniGamePlugin"};function ae(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a;return A(this,function(c){if(r=te(),t=r.isWatch,n=r.isDebug,i=r.isTestRobot,"swan"!==process.env.PLATFORM_ENV&&(t||n))return[2,e];try{o=m.default.resolve("./ext.json"),(s=require(o)).extEnable=!1,"swan"===process.env.PLATFORM_ENV?(a=Z().info,s.extAppid=a[e].appId):i&&s.extAppid&&((0,_().warning)("版本将被直接上传到【"+s.extAppid+"】,如需上传三方平台,请将ext.json中的extAppid设置为空!"),s.extEnable=!0,s.directCommit=!0),y.default.writeFileSync(o,JSON.stringify(s,null,4))}catch(e){console.log("ext-extEnable",e)}return[2,e]})})}function ce(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,f,d,p;return A(this,function(h){switch(h.label){case 0:return r=Z().info,t=te(),n=t.isWatch,i=t.isDebug,o=t.isUpload,s=t.isMulti,a=r[e]||{},c=a.appId,u=a.template,l=a.projectName,f="dist/"+function(e,r,t,n){return e+"."+(r?"dev":"build")+(t?".debug":"")+(n?".multi":"")}(e,n,i,s),process.env.ROOT_PATH=f,process.env.PROJECT_ENV=s?"MULTI":"MINI",process.env.FIX_ENV===v.QUICKAPP||o||process.env.PLATFORM_ENV===v.H5?[2,e]:(d=ie(),[4,oe()]);case 1:return p=h.sent(),"swan"===process.env.PLATFORM_ENV?p.smartProgramRoot=f:p.miniprogramRoot=f,p.projectArchitecture=s?"multiPlatform":"miniprogram",p.appid=c,p.projectname=l||e,y.default.writeFileSync(d,JSON.stringify(p,null,4)),1!==u&&"swan"!==process.env.PLATFORM_ENV?[3,3]:[4,ae(e)];case 2:h.sent(),h.label=3;case 3:return[2,e]}})})}function ue(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return e.filter(function(e){return!!e}).join("-")}function le(e){return e?e.trim():void 0}function fe(e){var r=Z(),t=r.version,n=r.info,i=r.minSwanVersion,o=te(r.branchMap),s=o.robot,a=o.message,c=n[e]||{},u=c.version,l=void 0===u?t:u,f=c.tag,d=void 0===f?"":f,p=c.label,v=void 0===p?"":p,h=c.robot,g=void 0===h?1:h,m=function(e){if(!e)return{};var r=e.replace(/\n/g,"").replace("Merge branch ",""),t=(r.match(/v:(.+)d:/)||[])[1],n=(r.match(/d:(.+)See merge request/)||[])[1]||r.replace(/See merge request .+/,"");return{version:le(t),description:le(n)}}(a),y=m.version,b=void 0===y?l:y,E=m.description,P=$[s+""],C=P.label,T=P.key,j=ue(C,v),I=ee().version||b;return{minSwanVersion:i,robot:s+2*(g-1),versionPure:I,version:ue(T,d+I),description:"【"+j+"版-"+w.default().format("YYYYMMDDHHmmss")+"】:"+E,label:j,versionKey:T}}function de(e){return"[object Object]"===Object.prototype.toString.call(e)}function pe(e){return Array.isArray(e)}function ve(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return r.reduce(function(e,r){return Object.keys(r).reduce(function(e,t){var n=r[t];return de(n)?e[t]=ve(e[t]?e[t]:{},n):pe(n)?e[t]=n.map(function(r,n){if(de(r)){var i=e[t]?e[t]:[];return ve(i[n]?i[n]:{},r)}return r}):e[t]=n,e},e)},e)}function he(e,r){var t=e.replace(/\/$/,""),n="";if(!r){for(var i=0,o=V.length;i<o;i++){if(n=he(t,V[i]))return n}return n}var s=process.env.PLATFORM_ENV,a=process.env.MODE_ENV,c=[s];a&&c.unshift(s+"."+a,a);var u=/\/(index)?$/;for(i=0,o=c.length;i<o;i++){var l=c[i];if(y.default.existsSync(n=t+"."+l+r))return n;if(y.default.existsSync(n=""+t.replace(u,"")+m.default.sep+"index."+l+r))return n;if(u.test(t)&&y.default.existsSync(n=""+t.replace(u,"."+l+"/index")+r))return n}return y.default.existsSync(n=""+t+r)||y.default.existsSync(n=""+t+m.default.sep+"index"+r)?n:""}function ge(e,r){Object.keys(e).forEach(function(t){r[t]?(e[r[t]]=e[t],"object"==typeof e[t]&&ge(e[r[t]],r),delete e[t]):!1===r[t]?delete e[t]:"object"==typeof e[t]&&ge(e[t],r)})}var me=function(e){return/^pages((\-\d{1,2})?)$/.test(e)};function ye(){var e=process.env[R];return!P.default.gt(e,"3.0.0")}function be(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,f,d,p,v,g,m;return A(this,function(y){switch(y.label){case 0:return r=te(),t=r.isWatch,n=r.isDebug,i=r.isUpload,o=Z(),s=o.useTaroPluginBuildBy,a=o.info,c=o.version,u=o.compileType,l=(a[e]||{}).version,f=void 0===l?c:l,process.env.APP_VERSION=f,d=process.env,p=d.MODE_ENV,v=d.PLATFORM_ENV,g=d.FIX_ENV,i?[2,e]:(m="vite"===u?"vite build --mode "+(t?"development":"production"):"taro build --type "+("type"===s?e:"mode"===s&&p?p:v),t&&(m+=" --watch"),console.log(h.default.grey("编译平台:"),h.default.red(g||v),h.default.grey("版本模式:"),h.default.red(p||"默认")),[4,J(m,t,n,e)]);case 1:return y.sent(),[2,e]}})})}function we(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,f,d,p,v,h,g;return A(this,function(y){switch(y.label){case 0:return r=require("miniprogram-ci"),[4,Z()];case 1:return t=y.sent().info,n=(void 0===t?{}:t)[e].appId,i=fe(e),o=i.version,s=i.description,a=i.robot,[4,oe()];case 2:if(c=y.sent(),u=c.setting,l=void 0===u?{}:u,f=c.compileType,d=void 0===f?"miniprogram":f,p=null,v=null,!n)return p=new Error("缺少appId,无法上传到微信平台"),[2,{item:e,error:p,errorCode:3}];h=new r.Project({appid:n,type:se[d]||"miniProgram",projectPath:m.default.resolve("./"),privateKeyPath:m.default.resolve("./","private."+n+".key"),ignores:["node_modules/**/*"]}),y.label=3;case 3:return y.trys.push([3,5,,6]),[4,r.upload({robot:a,project:h,version:o,desc:s,setting:l,onProgressUpdate:function(){}})];case 4:return v=y.sent(),[3,6];case 5:return g=y.sent(),p=g,[3,6];case 6:return[2,{item:e,error:p,result:v}]}})})}function Ee(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,f,d,p,v,h,g,y,b,w,E,C,T,I,S,x,O,k,D,_,R,M;return A(this,function(A){switch(A.label){case 0:return r=require("minidev").minidev,t=te().ci,[4,Z()];case 1:if(n=A.sent(),i=n.info,o=void 0===i?{}:i,s=n.ci,a=o[e],c=a.appId,u=a.audit,l=j(j({},s),t),f=l.toolId,d=l.privateKey,p=fe(e),v=p.versionPure,h=p.description,g=p.versionKey,y=null,b=null,!c||!f)return y=new Error("缺少"+(c?"toolId":"appId")+",无法上传到支付宝平台"),[2,{item:e,error:y,errorCode:3}];A.label=2;case 2:return A.trys.push([2,17,,18]),[4,r.config.useRuntime({"alipay.authentication.privateKey":d,"alipay.authentication.toolId":f})];case 3:return A.sent(),E={appId:c,clientType:w="alipay",project:m.default.resolve("./"),versionDescription:h},[4,r.app.getUploadedVersionList({appId:c,clientType:w})];case 4:if(C=A.sent(),T=C.filter(function(e){return function(r){return!!e&&("INIT"===r.versionStatus&&(""+r.versionDescription).includes({"":"正式版-",Beta:"体验版-",Rc:"候选版-"}[e]))}}(g)),!(T.length>=1))return[3,9];I=T.slice(-1)[0].appVersion,S={appId:c,clientType:w,version:I},A.label=5;case 5:return A.trys.push([5,8,,9]),[4,r.app.cancelExperience(S)];case 6:return A.sent(),[4,r.app.deleteVersion(S)];case 7:return A.sent(),[3,9];case 8:return x=A.sent(),y=x,[3,9];case 9:return(O=require(m.default.resolve("./mini.project.json")))&&(E.project=m.default.join(E.project,O.miniprogramRoot)),v&&"-1"!==v?[4,r.app.getUploadedVersion({clientType:w,appId:c})]:[3,11];case 10:k=A.sent(),P.default.gt(v,k)||(v=P.default.inc(k,"patch")),E.version=v,A.label=11;case 11:return[4,r.upload(E,{onLog:q,onTaskCreated:q,onVersionCreated:q})];case 12:return b=A.sent(),D=!0,g||!u?[3,14]:(_=u.versionScreenshot)&&_.length>=2?[4,r.audit(j(j({},u),{appId:c,clientType:w,version:E.version,versionDescription:E.versionDescription}))]:[3,14];case 13:A.sent(),D=!1,A.label=14;case 14:return D?[4,r.app.setExperience({appId:c,clientType:w,version:E.version})]:[3,16];case 15:R=A.sent().qrCodeUrl,b.qrCodeUrl=R,A.label=16;case 16:return[3,18];case 17:return M=A.sent(),y=M,[3,18];case 18:return[2,{item:e,result:b,error:y}]}})})}function Pe(e){return void 0===e&&(e=!0),"上传失败"+(e?",缺少swan-toolkit包":"")}function Ce(e,r){return void 0===r&&(r=!1),new Promise(function(t){var n=e.token,i=e.version,o=e.desc,s=("swan upload -p ./ --token "+n+" --min-swan-version "+e.minSwanVersion+" --release-version "+i+" -d "+o.replace(/\s/,"")).split(/\s/g),a=s[0],c=s.slice(1),u=E.default(a,c,{shell:!0}),l="";u.stderr.on("data",function(e){l=""+e}),u.on("close",function(n){var i;0===n?t({}):127===n?(i="swan-toolkit",new Promise(function(e){console.log(h.default.red("缺少指令:"),h.default.gray(i)),E.default("npm",["install",i,"-g"],{shell:!0}).on("close",function(r){0===r?console.log(h.default.green("指令安装成功")):console.log(h.default.red("指令安装失败")),e(r)})})).then(function(){r?t({error:Pe()}):Ce(e,!0).then(t).catch(t)}).catch(function(){t({error:Pe()})}):t({error:l||Pe(!1)})})})}function Te(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l;return A(this,function(f){switch(f.label){case 0:return r=te().ci,[4,Z()];case 1:if(t=f.sent().ci,n=fe(e),i=n.versionPure,o=n.description,s=n.minSwanVersion,a=j(j({},t),r).token,u=null,!(c=void 0===a?"":a))return u=new Error("缺少token,无法上传到百度平台"),[2,{item:e,error:u,errorCode:3}];try{y.default.writeFileSync(m.default.resolve("./ext.json"),"")}catch(e){}return[4,Ce({token:c,version:i,desc:o,minSwanVersion:s})];case 2:return l=f.sent(),u=l.error,[2,{item:e,result:l,error:u}]}})})}function je(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,f,d,p,v;return A(this,function(h){switch(h.label){case 0:return r=require("tt-ide-cli"),t=te().tt,[4,Z()];case 1:return n=h.sent(),i=n.tt,o=n.info,s=(void 0===o?{}:o)[e].appId,a=j(j({},i),t),c=a.email,u=a.password,l=fe(e),f=l.versionPure,d=l.description,p=null,c?u?[4,r.loginByEmail({email:c,password:u})]:[3,3]:(p=new Error("缺少"+(c?"password":"email")+",无法上传到抖音平台"),[2,{item:e,error:p,errorCode:3}]);case 2:return h.sent(),[3,4];case 3:r.setAppConfig({appid:s,config:{token:c}}),h.label=4;case 4:return[4,r.upload({project:{path:m.default.resolve("./")},qrcode:{format:null,output:"",options:{small:!1}},version:f,changeLog:d,copyToClipboard:!1,needUploadSourcemap:!0}).catch(function(e){return p=e})];case 5:return v=h.sent(),[4,r.logout()];case 6:return h.sent(),[2,{item:e,error:p,result:v}]}})})}function Ie(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,f,d;return A(this,function(p){switch(p.label){case 0:if(r=te(),t=r.isCi,n=r.isWatch,i=r.isDebug,process.env.FIX_ENV)throw new Error("暂不支持快应用上传");if(n||!t)throw new Error(e+",未传入robot或者开发模式无法上传");if(i)throw new Error(e+",DEBUG模式无法上传");o=ne(),s={item:e},(a=new K("upload",e)).start(),p.label=1;case 1:switch(p.trys.push([1,12,,13]),o){case v.WEAPP:return[3,2];case v.ALIPAY:return[3,4];case v.SWAN:return[3,6];case v.TT:return[3,8]}return[3,10];case 2:return[4,we(e)];case 3:return s=p.sent(),[3,11];case 4:return[4,Ee(e)];case 5:return s=p.sent(),[3,11];case 6:return[4,Te(e)];case 7:return s=p.sent(),[3,11];case 8:return[4,je(e)];case 9:return s=p.sent(),[3,11];case 10:throw c=v.WEAPP+"、"+v.ALIPAY+"、"+v.SWAN+"、"+v.TT,u=new Error("不支持上传该平台,目前支持:"+c),a.fail(u),s={item:e,error:u,errorCode:1},u;case 11:return l=s.error,f=s.errorCode,l?(a.fail(l.message||l),f||(s.errorCode=2)):a.succeed(),[3,13];case 12:return d=p.sent(),a.fail(d.message||d),s={item:e,error:d},[3,13];case 13:return[2,s]}})})}function Se(){this.text="",this.title="",this.items=[],this.setTitle=function(e){return this.title=e,this},this.add=function(e){return Array.isArray(e)?this.items.concat(e):this.items.push(e),this.text=this.items.join("\n"),this}}function Ae(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,f,d,p,g,m,y,b,w,E,P,T,I,S,x,O,k,D,_,R;return A(this,function(A){return r=e.result,t=e.error,n=e.item,i=e.errorCode,o=Z(),s=te(o.branchMap),a=s.dd,c=s.privacy,u=o.dd,l=void 0===u?a:u,f=o.privacy,d=void 0===f?c:f,p=o.name,g=o.git,m=void 0===g?"":g,y=fe(n),b=y.version,w=y.description,E=y.label,P=ne(),I=(T=r||{}).version,S=void 0===I?b:I,x=T.experienceQrCodeUrl,O=T.qrCodeUrl,k=void 0===O?x:O,D=("["+n+"]"+p).toUpperCase()+":"+E,_=(new Se).setTitle(D).add("["+D+"]("+m+")\n"),t?(R=P===v.H5?"**上传结果:打包成功,自行部署发布**":'**上传结果:上传失败** \n<font color="red">('+t.message+")</font>",_.add(R)):_.add("**上传结果:上传成功**"),_.add("1. version:"+S).add("2. description:"+w),k&&_.add("\n"),d&&new C.default(j({baseUrl:"https://oapi.dingtalk.com/robot/send"},d)).markdown(_.title,_.text),l&&new C.default(j({baseUrl:"https://oapi.dingtalk.com/robot/send"},l)).markdown(_.title,_.text).then(function(){console.log(h.default.green("已发送钉钉通知!")),t&&P!==v.H5&&1!==i&&process.exit(1)}),[2]})})}function xe(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,f,d,p;return A(this,function(v){switch(v.label){case 0:if(console.log("Creating tag for item: "+e),r=process.env.CI_PUSH_TAG_TOKEN,t=process.env.GITLAB_HOST,n=process.env.CI_PROJECT_PATH,!r)throw new Error("CI_PUSH_TAG_TOKEN environment variable is required");if(!t)throw new Error("GITLAB_HOST environment variable is required");if(!n)throw new Error("CI_PROJECT_PATH environment variable is required");return i="https://gitlab-ci-token:"+r+"@"+t+"/"+n+".git",[4,E.default("git",["fetch","--prune",i,"+refs/tags/*:refs/tags/*"])];case 1:v.sent(),o=fe(e),s=o.versionPure||o.version,console.log("Config version for "+e+": "+s),a=null,v.label=2;case 2:return v.trys.push([2,4,,5]),[4,E.default("git",["tag","--list",e+"-*","--sort=-v:refname"])];case 3:return c=v.sent().stdout,(u=c.split("\n").filter(function(e){return M.test(""+e.trim())})).length>0?(l=u[0],a=l.replace(e+"-",""),console.log("Latest tag version: "+a)):console.log("No existing tags found for "+e),[3,5];case 4:return v.sent(),console.log("Error checking for existing tags for "+e+", proceeding with config version"),[3,5];case 5:if(f=s,a&&P.default.valid(s)&&P.default.valid(a)?P.default.gt(s,a)?(f=s,console.log("Using config version "+s+" (greater than latest tag "+a+")")):(d=P.default.inc(a,"patch"),f=d||a,console.log("Incremented version: "+f+" (from latest tag "+a+")")):(f=s,console.log("Using config version "+s)),!process.env.CI)return[3,14];v.label=6;case 6:return v.trys.push([6,13,,14]),[4,E.default("git",["config","user.name"],{reject:!1})];case 7:return v.sent().stdout.trim()?[3,9]:[4,E.default("git",["config","--global","user.name","GitLab CI/CD"])];case 8:v.sent(),v.label=9;case 9:return[4,E.default("git",["config","user.email"],{reject:!1})];case 10:return v.sent().stdout.trim()?[3,12]:[4,E.default("git",["config","--global","user.email","gitlab-ci@example.com"])];case 11:v.sent(),v.label=12;case 12:return[3,14];case 13:return v.sent(),console.log("Setting git user info in CI environment failed, may cause push to fail"),[3,14];case 14:return p=e+"-"+f,console.log("Creating tag: "+p),[4,E.default("git",["tag",p])];case 15:return v.sent(),console.log("Tag "+p+" created successfully"),[4,E.default("git",["push",i,"refs/tags/"+p])];case 16:return v.sent(),console.log("Tag "+p+" pushed to remote successfully"),process.env.CI_COMMIT_TAG=p,[2]}})})}var Oe=new Set(["node_modules",".git"]),ke=new Set([".bak",".map"]);function De(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s;return A(this,function(a){switch(a.label){case 0:return r=m.default.resolve(process.env.ROOT_PATH||"./",e),y.default.existsSync(r)?[4,y.default.readdir(r,{withFileTypes:!0})]:[2];case 1:t=a.sent(),n=0,i=t,a.label=2;case 2:return n<i.length?(o=i[n],s=m.default.join(r,o.name),o.isDirectory()?Oe.has(o.name)?[3,6]:[4,De(s)]:[3,4]):[3,7];case 3:return a.sent(),[3,6];case 4:return ke.has(m.default.extname(o.name))?[4,y.default.remove(s)]:[3,6];case 5:a.sent(),a.label=6;case 6:return n++,[3,2];case 7:return[2]}})})}function _e(e){return S(this,void 0,void 0,function(){var r,t,n;return A(this,function(i){switch(i.label){case 0:return r=te().isWatch,t=Z().codeFortify,r||!t?[2,e]:(n="./",[4,u.protect("./",n)]);case 1:return i.sent(),[4,De(n)];case 2:return i.sent(),[2,e]}})})}var Re={current:{patchFilesMap:{},usingComponentsCopiedFilesMap:{},patchImportAbsoluteMap:{},appEntryRelatedFilesMap:{}}};function Me(e){return m.default.extname(e)}function qe(e,r){return void 0===r&&(r=!1),m.default.basename(e,r?void 0:Me(e))}function Ne(e){var r=Me(e);return Y(r)?[e.replace(r,""),r]:[e]}var Fe=function(e){var r=Ne(e),t=r[0],n=r[1],i=Z(),o=i.modes,s=void 0===o?[]:o,a=i.modesExclude;if((void 0===a?[]:a).some(function(r){return e.includes(r)}))return e;var c="(\\.("+k+"))?",u=s.length>0?"(\\.("+s.sort(function(e){return e.includes(".")?-1:1}).join("|")+"))?":"",l=new RegExp(c+u,"g");return t.replace(l,"")+n};function Ue(e,r){var t=N(),n=t.sourceDir,i=t.destinationDir;return e.replace(n,i+(r&&me(r)?"/"+r:""))}function Ve(e){return function(e){try{return y.default.statSync(e).isDirectory()}catch(e){return!1}}(e)?e:m.default.dirname(e)}function Le(e,r){var t=Ve(e),n=m.default.relative(t,r);return n.startsWith(".")||(n="./"+n),n}function We(e,r){return S(this,void 0,void 0,function(){return A(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,y.default.copy(e,r,{overwrite:!0})];case 1:case 2:return t.sent(),[3,3];case 3:return[2]}})})}function Be(e,r){var t=U(),n=F();return n.isAliasPath(e,t)?function(e){for(var r in t)if(e.startsWith(r+"/"))return m.default.join(t[r],"./"+e.slice(r.length));return""}(e):n.isNpmPkg(e)?require.resolve(m.default.resolve(N().npmDir,e)):m.default.resolve(r?Ve(r):N().sourceDir,e)}function He(e){return!!e.walkAtRules}function Ye(e,r){var t=r||{},n=t.CSSImportDeclaration,i=t.CSSDeclarations,o=t.CSSRules;n&&e.walkAtRules(function(e){"import"===e.name&&n(e)}),i&&e.walkDecls(i),o&&e.walkRules(o)}function Ge(e){return{code:e.toString()}}function Ke(e,r){return S(this,void 0,void 0,function(){var t,n,i,o,s,a;return A(this,function(c){switch(c.label){case 0:return t=e.ast,n=e.source,i=N().npmDir,o=require(i+"/postcss-url"),s=require(i+"/postcss"),a=o({url:"copy",useHash:!1}),t.source.input.file=n,[4,s([a]).process(t,{from:n,to:r})];case 1:return c.sent(),[2]}})})}function $e(){var e=N().npmDir;return require(e+"/@babel/types")}function Je(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var t=N().npmDir;return require(t+"/@babel/traverse").default.apply(void 0,e)}function Qe(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var t=N().npmDir;return require(t+"/@babel/generator").default.apply(void 0,e)}function Xe(e,r){if(r){var t=function(e){var r=N().npmDir,t=require(r+"/postcss"),n=require(r+"/postcss-scss"),i=e.replace(/\/\/\s.*$/gm,"");return t.parse(i,{syntax:n})}(e);return t}var n=N().npmDir;return require(n+"/@babel/parser").parse(e,{sourceType:"module",plugins:["jsx","tsx","typescript","classProperties","dynamicImport","decorators-legacy"]})}function ze(e){var r=$e();if(Array.isArray(e))return r.arrayExpression(e.map(function(e){return ze(e)}));if("object"==typeof e&&null!==e){var t=Object.keys(e).map(function(t){var n=r.isValidIdentifier(t)?r.identifier(t):r.stringLiteral(t);return r.objectProperty(n,ze(e[t]))});return r.objectExpression(t)}if("string"==typeof e)return r.stringLiteral(e);if("number"==typeof e)return r.numericLiteral(e);if("boolean"==typeof e)return r.booleanLiteral(e);throw new Error("Unsupported type: "+typeof e)}function Ze(e,r){var t=$e();return r&&t.isIdentifier(e.superClass,{name:"Component"})||t.isMemberExpression(e.superClass)&&"Taro"===e.superClass.object.name&&"Component"===e.superClass.property.name}function er(e){var r=Qe(e).code;return new Function("return "+r)()}function rr(e){return["ENTRY","PAGE"].includes(e)}function tr(e){return rr(e)||function(e){return"COMPONENT"===e}(e)}function nr(e,r){return S(this,void 0,void 0,function(){var t,n;return A(this,function(i){switch(i.label){case 0:return r?("alipay"===process.env.PLATFORM_ENV&&(t={navigationStyle:"transparentTitle"},"custom"===r.navigationStyle&&(r.navigationBarTitleTextAlipay=r.navigationBarTitleText,r.navigationBarTitleText="",r.navigationStyle="always",r.titlePenetrate="YES"),ge(r,t)),n=Qe($e().valueToNode(r),{}),[4,y.default.writeFileSync(e.replace(qe(e,!0),qe(e)+".config.js"),"const config = "+n.code+";\nexport default config;")]):[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})}function ir(e,r){var t,n=$e(),i=N().sourceDir,o=function(){},s="",a=function(e){var r="",t=$e();return Je(e,{ExportDefaultDeclaration:function(e){var n=e.node.declaration;t.isIdentifier(n)?r=n.name:(t.isClassDeclaration(n)||t.isFunctionDeclaration(n))&&(r=n.id?n.id.name:null)}}),r}(e);return Je(e,{ClassDeclaration:function(e){var c=Ze(e.node,!0);e.node.id.name===a&&c&&(e.node.body.body=e.node.body.body.filter(function(e){if(n.isClassProperty(e)&&"config"===e.key.name){if(n.isCallExpression(e.value)&&n.isMemberExpression(e.value.callee)){var a=e.value.callee;if("preval"===a.object.name&&"require"===a.property.name){var c=e.value.arguments[0].value,u=m.default.resolve(i,c);try{l=u,void 0===(f=!0)&&(f=!1),f&&delete require.cache[require.resolve(l)],t=require(l),s=u,o=function(r){e.value=ze(j(j({},t),r))}}catch(e){}}}else try{t=er(e.value),o=function(r){e.value=ze(j(j({},t),r))}}catch(e){}return!r}var l,f;return!0}))},AssignmentExpression:function(e){n.isMemberExpression(e.node.left)&&e.node.left.object.name===a&&"config"===e.node.left.property.name&&(t=er(e.node.right),r&&e.remove(),o=function(r){e.node.right=ze(j(j({},t),r))})}}),[t,o,s]}var or={react:["Fragment","Component","useEffect","useLayoutEffect","useState","useContext","useRef","useCallback","useMemo","useImperativeHandle","useReducer","createRef","createContext"],"react-redux":["Provider","connect","useSelector","useDispatch","useStore"]};function sr(e,r,t){var n,i,o,s=tr(r),a=!1;if(s){var c=$e(),u=Z().insertImport,l=(n=j(j({},u),or),i={},o=function(e,r){i[e]=i[e]||[],i[e].push(r)},Object.keys(n).forEach(function(e){var r=n[e];pe(r)?r.forEach(function(r){var t=pe(r)?r:[r],n=t[0],i=t.slice(1);o(n,x([e],i))}):o(r,[e])}),i),f={},d=new Set,p={};!function(e){var r=$e(),t=!1,n=!1;Je(e,{ImportDeclaration:function(e){e.node.specifiers.forEach(function(e){r.isImportSpecifier(e)&&"Component"===e.imported.name&&(n=!0)})}}),Je(e,{ClassDeclaration:function(e){var n=e.node.superClass,i=Ze(e.node,!0);n&&i&&(t=!0,e.node.superClass=r.identifier("Component"))}}),t&&!n&&Je(e,{ImportDeclaration:function(e){"@tarojs/taro"===e.node.source.value&&e.node.specifiers.push(r.importSpecifier(r.identifier("Component"),r.identifier("Component")))}})}(e),Je(e,{ImportDeclaration:function(e){var n=[];e.node.specifiers.forEach(function(e){var i=e.imported?e.imported.name:e.local.name,o=l[i];if(o){var s=o.find(function(e){var t=e[1];return t&&t.split(/\||,/).includes(r)})||o.find(function(e){return!e[1]})||[],u=s[0],d=s[2],v=s[3];if(!u)return;if(t){var h=Re.current.patchImportAbsoluteMap[u];if(!h){var g=Ne(Be(u,v)),m=g[0],y=g[1];Re.current.patchImportAbsoluteMap[u]=h=he(m,y)}if(t===h)return}var b=(""+(d||"")).split("."),w=b[0],E=void 0===w?"":w,P=b[1],C="default"===(void 0===P?E:P);"default"===E&&(E=""),f[u]||(f[u]=[]),f[u].push(C?c.importDefaultSpecifier(c.identifier(E||i),c.identifier(i)):E?c.importSpecifier(c.identifier(E),c.identifier(i)):e),E&&(p[e.local.name]=E),n.push(e),a=!0}}),n.length&&n.length===e.node.specifiers.length?d.add(e):n.forEach(function(r){e.node.specifiers=e.node.specifiers.filter(function(e){return e!==r})})}}),d.forEach(function(e){return e.remove()}),Je(e,{Identifier:function(e){var r=e.node.name,t=p[r];t&&(e.scope.hasBinding(r)?e.scope.rename(r,t):e.node.name=t)}}),Object.keys(f).forEach(function(r){var t=e.program.body.find(function(e){return c.isImportDeclaration(e)&&e.source.value===r});if(t)f[r].forEach(function(e){t.specifiers.some(function(r){return r.local.name===e.local.name})||t.specifiers.push(e)});else{var n=c.importDeclaration(f[r],c.stringLiteral(r));e.program.body.unshift(n)}})}return{isUpdateImport:a}}function ar(e,r,t){return S(this,void 0,void 0,function(){var n,i,o,s,a,c,u,l;return A(this,function(f){return He(e)?(n=function(e){var r=!1;return Ye(e,{CSSDeclarations:function(e){var t=e.value.replace(/(\$\w[\w-]*)\s*\/\s*(\d+(\.\d+)?)/g,function(e,t,n){var i=(1/parseFloat(n)).toFixed(5);return r=!0,t+" * "+i});e.value=t}}),{isUpdateCss:r}}(e).isUpdateCss,[2,[,n,"",function(){}]]):(i=ye(),o=function(e,r){var t=tr(r),n=!1;if(t){var i=$e(),o=!1;Je(e,{ImportDeclaration:function(e){if("@tarojs/taro"===e.node.source.value){var r=e.node.specifiers;o=r.some(function(e){return i.isImportSpecifier(e)&&"Component"===e.imported.name})}}}),Je(e,{ClassDeclaration:function(e){var r=e.node,t=r.superClass,s=r.body;if(t&&Ze(r,o)){var a=s.body.find(function(e){return i.isClassMethod(e)&&"constructor"===e.kind});if(a)a.body.body.some(function(e){return i.isExpressionStatement(e)&&i.isCallExpression(e.expression)&&i.isSuper(e.expression.callee)})||(a.body.body.unshift(i.expressionStatement(i.callExpression(i.super(),[i.spreadElement(i.identifier("arguments"))]))),n=!0);else{var c=i.classMethod("constructor",i.identifier("constructor"),[],i.blockStatement([i.expressionStatement(i.callExpression(i.super(),[i.spreadElement(i.identifier("arguments"))]))]));s.body.unshift(c),n=!0}}}})}return{isUpdateConstructor:n}}(e,r).isUpdateConstructor,s=function(e,r,t){var n=rr(r)?ir(e,t):[],i=n[0],o=n[1];return{config:i,configRequirePath:n[2],update:o}}(e,r,!i),a=s.config,c=s.update,u=s.configRequirePath,l=(i?{isUpdateImport:!1}:sr(e,r,t)).isUpdateImport,[2,[a,o||l,u,c]])})})}function cr(e,r){return S(this,void 0,void 0,function(){var t,n,i,o,s=this;return A(this,function(a){return t=e.ast,n=e.create,i=e.code,o=function(){},function(e,r){He(e)?Ye(e,r({types:{isPostcss:!0,checkIsCssAst:He},generate:Ge})):Je(e,r({types:$e(),generate:Qe}))}(t,function(e){var a=e.generate,c=e.types,u=function(e,t,n){return r({value:e,SetImportValue:function(e){"cssImport"===n?t.params="'"+e+"'":"import"===n?t.node.source.value=e:"require"===n&&(t.node.arguments[0].value=e)}})};o=function(e,r){return void 0===r&&(r=t),S(s,void 0,void 0,function(){var t;return A(this,function(n){try{t=a(r,{}),y.default.ensureDirSync(m.default.dirname(e)),y.default.writeFileSync(e,t.code)}catch(r){console.log("parseImport-update-error-filePath:",e),console.log("parseImport-update-error-info:",r)}return[2]})})};var l={ImportDeclaration:function(e){u(e.node.source.value,e,"import")},CallExpression:function(e){c.isIdentifier(e.node.callee,{name:"require"})&&u(e.node.arguments[0].value,e,"require")}};return c.isPostcss&&(l={CSSImportDeclaration:function(e){u(e.params.replace(/^('|")/,"").replace(/('|")$/,""),e,"cssImport")}}),j(j({},l),"function"==typeof n?n({ast:t,generate:a,types:c,code:i}):{})}),[2,o]})})}function ur(e,r){return S(this,void 0,void 0,function(){var t,n,i,o,s,a,c,u,l,f,d,p,v,h,g;return A(this,function(m){switch(m.label){case 0:if(t=[],n=Me(e),i=null,u=B(n),l=!u&&H(n),f=r||(u?"STYLE":l?"IMAGE":"COMPONENT"),d=Z().compileExclude,d&&d.some(function(r){return"function"==typeof r?r(e):e.includes(r)})||l)return[3,6];m.label=1;case 1:return m.trys.push([1,5,,6]),[4,y.default.readFileSync(e)];case 2:return p=m.sent(),v=p.toString(),[4,ar(i=Xe(v,u),f,e)];case 3:return g=m.sent(),o=g[0],a=g[1],s=g[2],c=g[3],[4,cr({ast:i,code:v},function(e){var r=e.value;t.push(r)})];case 4:return m.sent(),[3,6];case 5:return h=m.sent(),console.log("\n【runParse-error】",e,h.message,"\n"),[3,6];case 6:return[2,{source:e,dependencies:t,ast:i,type:f,config:o,configRequirePath:s,isUpdate:a,update:c}]}})})}var lr=function(e,r){return me(e)?e+"-"+r:e};function fr(){return S(this,void 0,void 0,function(){var e,r,t,n,i,o;return A(this,function(s){switch(s.label){case 0:return[4,ur(N().appEntryPath,"ENTRY")];case 1:return e=s.sent(),r=e.config,t=e.update,n=r.subPackages,i=I(r,["subPackages"]),o=i,n&&(o.subPackages=function(e){return e.map(function(e,r){var t=e.root,n=e.pages;e.preloadRule,e.network;var i=I(e,["root","pages","preloadRule","network"]);return j(j({},i),{root:lr(t,r),pages:me(t)?n.map(function(e){return m.default.join(t,"/",e)}):n})}).filter(function(e){var r=e.root,t=e.pages;return r&&t&&t.length>0})}(n),o.preloadRule=function(e){var r={};return e.forEach(function(e,t){var n=e.preloadRule,i=e.root,o=e.network,s=void 0===o?"all":o,a=e.pages;n&&0!==(void 0===a?[]:a).length&&(r[n]=r[n]||{packages:[],network:s},r[n].packages.push(lr(i,t)))}),r}(n),e.config=o,"function"==typeof t&&t(o)),[2,e]}})})}function dr(e){var r=N().sourceDir,t=m.default.resolve(r,e);return[he(t),t]}function pr(e,r){return void 0===r&&(r=""),S(this,void 0,void 0,function(){var t,n,i,o;return A(this,function(s){switch(s.label){case 0:t={},n=function(n,i){var o,s,a,c,u,l,f,d,p,v;return A(this,function(i){switch(i.label){case 0:return o=e[n],r&&!me(r)&&(o=m.default.join(r,"/",o)),s=dr(o),a=s[0],c=s[1],u="",l="",f="",a||(v=dr("./404"),a=v[0],l=v[1],a&&(d=Me(a),u=c+d,f=l+d,process.nextTick(function(){var e=Re.current.patchFilesMap,r=e[f]||[];r.push(u),e[f]=r}))),a?(u=u||Fe(a),[4,ur(a,"PAGE")]):[3,2];case 1:p=i.sent(),t[u]=j({root:r},p),i.label=2;case 2:return[2]}})},i=0,o=e.length,s.label=1;case 1:return i<o?[5,n(i,o)]:[3,4];case 2:s.sent(),s.label=3;case 3:return i++,[3,1];case 4:return[2,t]}})})}function vr(e){return S(this,void 0,void 0,function(){var r,t,n,i,o=this;return A(this,function(s){switch(s.label){case 0:r={},t=function(t,n){return A(this,function(n){switch(n.label){case 0:return[4,S(o,void 0,void 0,function(){var n,i,o;return A(this,function(s){switch(s.label){case 0:return n=e[t],i=n.root,[4,pr(n.pages,i)];case 1:return o=s.sent(),r=j(j({},r),o),[2]}})})];case 1:return n.sent(),[2]}})},n=0,i=e.length,s.label=1;case 1:return n<i?[5,t(n,i)]:[3,4];case 2:s.sent(),s.label=3;case 3:return n++,[3,1];case 4:return[2,r]}})})}function hr(e,r){return S(this,void 0,void 0,function(){var t,n;return A(this,function(i){return t=(r||{}).parents,(n=void 0===t?new Set:t).add(e),[2,n]})})}function gr(e,r){return S(this,void 0,void 0,function(){var t,n,i,o,s=this;return A(this,function(a){if((t=Object.values(j({},e))).length>0)for(n=function(e,n){S(s,void 0,void 0,function(){var n,i;return A(this,function(o){switch(o.label){case 0:return n=t[e],(i=r[n])?[4,mr("",i,r)]:[3,2];case 1:o.sent(),o.label=2;case 2:return[2]}})})},i=0,o=t.length;i<o;i++)n(i);return[2]})})}function mr(e,r,t){return S(this,void 0,void 0,function(){var n,i,o;return A(this,function(s){switch(s.label){case 0:return n=r.root,i=r.parents,o=r.dependenciesResolveMap,n&&n!==e?(r.root="",r.copied=!1,i.forEach(function(e){var r=t[e];r&&(r.copied=!1)}),[4,gr(o,t)]):[3,2];case 1:s.sent(),s.label=2;case 2:return[2]}})})}function yr(e,r,t){return S(this,void 0,void 0,function(){var n,i;return A(this,function(o){return(n=(t[e]||{}).dependenciesResolveMap)&&(i=Object.values(r),Object.values(n).filter(function(e){return!i.includes(e)}).forEach(function(r){var n=t[r];if(n){var i=n.parents;i.delete(e);var o=function(e,r){for(var t="",n=Array.from(e),i=0,o=n.length;i<o;i++){var s=r[n[i]];if(s){var a=s.root;if(!a||t&&a!==t)return"";t=a}}return t}(i,t);o!==n.root&&(n.root=o,n.copied=!1)}})),[2]})})}function br(e,r){return void 0===r&&(r=e),S(this,void 0,void 0,function(){var t,n,i,o,s;return A(this,function(a){switch(a.label){case 0:t={},n=Object.keys(e),i=function(i,o){var s,a,c,u,l,f,d,p,v,h,g,m,y,b;return A(this,function(o){switch(o.label){case 0:s=n[i],a=e[s],c=a.dependencies,u=void 0===c?[]:c,l=a.root,f=void 0===l?"":l,d=a.ast,p=a.config,v=!1,h=function(e,r){var t=U(),n=F();return e.filter(function(e){return n.isAliasPath(e,t)||!n.isNpmPkg(e)}).map(function(e){return[Be(e,r),e]})}(u,s),g={},m=function(e,n){var i,o,a,c,u,l,d,p,m,y,b;return A(this,function(n){switch(n.label){case 0:return i=h[e],o=i[0],a=i[1],c=Ne(o),u=c[0],l=c[1],(d=he(u,l))?(p=Fe(d),v||(v=d!==p),g[a]=p,m=r[p]||t[p],[4,hr(s,m)]):[3,6];case 1:return y=n.sent(),m?(m.parents=y,[4,mr(f,m,j(j({},r),t))]):[3,3];case 2:return n.sent(),[3,6];case 3:return[4,ur(d)];case 4:return b=n.sent(),[4,Promise.resolve().then(function(){t[p]=j({root:f,source:d,parents:y},b)})];case 5:n.sent(),n.label=6;case 6:return[2]}})},y=0,b=h.length,o.label=1;case 1:return y<b?[5,m(y,b)]:[3,4];case 2:o.sent(),o.label=3;case 3:return y++,[3,1];case 4:return[4,yr(s,g,r)];case 5:return o.sent(),r[s]=j(j({},r[s]),{config:p,ast:d,dependencies:u,dependenciesResolveMap:g,dependenciesFilePathChange:v}),Re.current.allDependenciesMap=j(j({},Re.current.allDependenciesMap),r),[2]}})},o=0,s=n.length,a.label=1;case 1:return o<s?[5,i(o,s)]:[3,4];case 2:a.sent(),a.label=3;case 3:return o++,[3,1];case 4:return Object.keys(t).length>0?[4,br(t,j(j({},r),t))]:[3,6];case 5:return[2,a.sent()];case 6:return[2,r]}})})}function wr(e,r){return S(this,void 0,void 0,function(){var t,n;return A(this,function(i){return(t=(e||{}).list)&&(n=N().sourceDir,t.forEach(function(e){var t=e.selectedIconPath;[e.iconPath,t].filter(function(e){return!!e}).forEach(function(e){var t=m.default.join(n,e);r[t]={source:t,type:"IMAGE"}})})),[2]})})}function Er(e){return S(this,void 0,void 0,function(){var r,t,n,i,o;return A(this,function(s){switch(s.label){case 0:return r={},e&&e.custom?(t=N().sourceDir,(n=he(t+"/custom-tab-bar"))?(i=Fe(n),[4,ur(n)]):[3,2]):[3,2];case 1:o=s.sent(),r[i]=j({source:n},o),s.label=2;case 2:return[2,r]}})})}function Pr(e){return Object.keys(Re.current.appEntryRelatedFilesMap).some(function(r){return t=r,!!(n=e).startsWith(t)||m.default.dirname(m.default.resolve(t))===m.default.dirname(m.default.resolve(n));var t,n})}function Cr(){return S(this,void 0,void 0,function(){var e,r,t,n,i,o,s,a,c,u,l;return A(this,function(f){switch(f.label){case 0:return[4,fr()];case 1:return e=f.sent(),r=e.config,t=r.pages,n=r.subPackages,i=r.tabBar,(o=e.configRequirePath)&&(Re.current.appEntryRelatedFilesMap[o]=!0),[4,pr(t)];case 2:return s=f.sent(),a=null,n?[4,vr(n)]:[3,4];case 3:a=f.sent(),f.label=4;case 4:return[4,Er(i)];case 5:return c=f.sent(),[4,br(j(j(j(((l={})[e.source]=e,l),s),a),c))];case 6:return u=f.sent(),[4,wr(i,u)];case 7:return f.sent(),[2,u]}})})}function Tr(e,r){var t=e.source,n=e.files,i=e.parseRes;return S(this,void 0,void 0,function(){return A(this,function(e){return[2,n.reduce(function(e,n){var o,s=r[n];return s.source=t,s.copied=!1,j(j({},e),((o={})[n]=j(j({},s),i),o))},{})]})})}function jr(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,d,p,v,h,g,m,y;return A(this,function(b){switch(b.label){case 0:return r=Re.current,t=r.patchFilesMap,n=r.allDependenciesMap,i=Fe(e),o=t[i],s=o&&o.length>0,a=n[i],c=!!a,s||c?(u=Ne(e),l=u[0],d=u[1],(p=he(l,d))!==e?[3,9]:"ENTRY"!==(v=s?"PAGE":a.type)?[3,2]:[4,fr()]):[3,9];case 1:return g=b.sent(),[3,4];case 2:return[4,ur(p,v)];case 3:g=b.sent(),b.label=4;case 4:return h=g,s?[4,Tr({source:p,files:o,parseRes:h},n)]:[3,6];case 5:return m=b.sent(),[3,7];case 6:a.source=p,a.copied=!1,h.config&&a.configCreated&&(a.configCreated=f.isEqual(h.config,a.config)),(y={})[i]=j(j({},a),h),m=y,b.label=7;case 7:return Object.keys(m).forEach(function(e){n[e]=j(j({},n[e]),m[e])}),[4,br(m,n)];case 8:return[2,b.sent()];case 9:return[2]}})})}function Ir(e,r,t,n){e&&e.forEach(function(e){var i=n[e],o=i.type,s=i.parents,a=i.root,c=void 0===a?"":a;tr(o)&&(rr(o)?Object.keys(r).forEach(function(n){var i=r[n],o=t[i];if(o||(o=t[i]={root:c,target:{}}),o.root!==c&&(o.root=""),""===o.root)o.target[n]=[];else{var s=o.target[n];s||(s=o.target[n]=[]),s.push(e)}}):Ir(s,r,t,n))})}function Sr(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a;return A(this,function(c){switch(c.label){case 0:if(!e)return[3,4];r={},Object.keys(e).forEach(function(t){var n=e[t],i=n||{},o=i.ast,s=i.type,a=i.parents,c=void 0===a?[t]:a,u=i.copied;if(tr(s)&&!u){var l=ir(o,!1),f=l[0],d=l[1];rr(s)&&(f=n.config,d=function(e){n.config=j(j({},n.config),e)});var p=(f||{}).usingComponents;if(p){var v=function(e,r){var t={},n={};return Object.keys(r).forEach(function(i){var o=r[i],s=m.default.resolve(Ve(e),o),a=Ve(s);y.default.pathExistsSync(a)?t[i]=s:n[i]=o}),[t,n]}(t,p),h=v[0],g=v[1];g&&(n.isUpdate=!0,d({usingComponents:g})),Ir(c,h,r,e)}}}),t=Object.keys(r),n=N().appEntryPath,i=Re.current.usingComponentsCopiedFilesMap,o=function(o,s){var a,c,u,l,f,d;return A(this,function(s){switch(s.label){case 0:return a=t[o],c=Ve(a),l=(u=r[a]).root,f=u.target,d=Ue(c,l),i[d]?[3,2]:[4,We(c,d)];case 1:s.sent(),i[d]=!0,s.label=2;case 2:return Object.keys(f).forEach(function(r){var t=f[r];(l?t:[n]).forEach(function(t){var n,i,o=e[t];o.isUpdate=!0,o.config=j(j({},o.config),{usingComponents:j(j({},null===(i=o.config)||void 0===i?void 0:i.usingComponents),(n={},n[r]=Le(t,a),n))})})}),[2]}})},s=0,a=t.length,c.label=1;case 1:return s<a?[5,o(s,a)]:[3,4];case 2:c.sent(),c.label=3;case 3:return s++,[3,1];case 4:return[2]}})})}function Ar(e,r,t){return S(this,void 0,void 0,function(){var n,i,o;return A(this,function(s){switch(s.label){case 0:return n=r.ast,i=r.root,o=r.dependenciesFilePathChange,[4,cr({ast:n},function(n){var s=n.value,a=n.SetImportValue,c=r.dependenciesResolveMap[s];if(c){var u=(t[c]||{}).root;if(o||u||i)a(Le(Ue(e,i),Ue(c,u)))}})];case 1:return[4,s.sent()(e)];case 2:return s.sent(),[2]}})})}function xr(e,r){return S(this,void 0,void 0,function(){var t,n,i,o,s,a,c,u,l,f,d,p;return A(this,function(v){switch(v.label){case 0:return(t=r[e]).copied?[3,8]:(n=t.root,i=t.source,o=t.ast,s=t.dependenciesFilePathChange,a=t.config,c=t.type,u=t.isUpdate,l=t.configCreated,f=Ue(e,n),t.copied=!0,d=ye(),p=!d&&rr(c)&&a,o&&(n||s||p||u)?[4,Ar(f,t,r)]:[3,4]);case 1:return v.sent(),!p||l?[3,3]:(t.configCreated=!0,[4,nr(f,a)]);case 2:v.sent(),v.label=3;case 3:return[3,6];case 4:return[4,We(i,f)];case 5:v.sent(),v.label=6;case 6:return o&&"STYLE"===c?[4,Ke(t,f)]:[3,8];case 7:v.sent(),v.label=8;case 8:return[2]}})})}function Or(e){return S(this,void 0,void 0,function(){var r,t,n;return A(this,function(i){if(e)for(r=Object.keys(e),t=0,n=r.length;t<n;t++)xr(r[t],e);return[2]})})}function kr(e,r){S(this,void 0,void 0,function(){var r,t;return A(this,function(n){switch(n.label){case 0:return r=Re.current.allDependenciesMap,[4,jr("ENTRY"===(r[e]||{}).type||Pr(e)?N().appEntryPath:e)];case 1:return[4,Sr(t=n.sent())];case 2:return n.sent(),[4,Or(t)];case 3:return n.sent(),[2]}})})}function Dr(e){return S(this,void 0,void 0,function(){var r;return A(this,function(t){return"function"==typeof e&&(r=N().sourceDir,e().forEach(function(e){var t=pe(e)?e:[e],n=t[0],i=t[1],o=void 0===i?"":i,s=m.default.resolve(r,n);We(s,Ue(s,o))})),[2]})})}function _r(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c,u,l,f;return A(this,function(d){switch(d.label){case 0:if(r=N(),t=r.destinationDir,n=r.sourceRoot,!r.needCopy)return[3,8];o=(i=e||{}).isWatch,s=i.copy,a=_("正在复制文件到"+n),c=a.succeed,u=a.fail,d.label=1;case 1:return d.trys.push([1,7,,8]),[4,y.default.emptyDir(t)];case 2:return d.sent(),[4,Dr(s)];case 3:return d.sent(),[4,Cr()];case 4:return[4,Sr(l=d.sent())];case 5:return d.sent(),[4,Or(l)];case 6:return d.sent(),o&&function(){S(this,void 0,void 0,function(){var e,r;return A(this,function(t){return e=N().sourceDir,(r=T.default.watch(e,{persistent:!0,ignoreInitial:!0})).on("change",kr),r.on("add",kr),[2]})})}(),c("复制成功"),[3,8];case 7:return f=d.sent(),u("Error copying files:"+f.message),[3,8];case 8:return[2]}})})}function Rr(e){return S(this,void 0,void 0,function(){var r,t,n,i,o,s,a,c;return A(this,function(u){switch(u.label){case 0:r=[],t=Object.keys(e),n=0,i=t.length,u.label=1;case 1:return n<i?(o=t[n],s=e[o],[4,(l=o,new Promise(function(e){var r=N().npmDir;try{require.resolve(m.default.join(r,l)),console.log('Dependency "'+l+'" is already installed.'),e(!0)}catch(r){console.log('Dependency "'+l+'" is not installed.'),e(!1)}}))]):[3,4];case 2:u.sent()||r.push(o+(s?"@"+s.replace("^",""):"")),u.label=3;case 3:return n++,[3,1];case 4:if(r.length>0){a=r.join(" ");try{c="npm install "+a+" --no-save",d.execSync(c,{stdio:"inherit"}),console.log('Dependency "'+a+'" installed successfully.')}catch(e){console.error('Failed to install dependency "'+a+'":',e)}}return[2]}var l})})}function Mr(){return S(this,void 0,void 0,function(){var e,r,t,n,i,o,s,a;return A(this,function(c){switch(c.label){case 0:return e=process.env,r=e.PLATFORM_ENV,t=e.MODE_ENV,n=Z().dynamicDependencies,i=void 0===n?{}:n,(o=process.env[R])?(s=ye(),a=j(j(j({},{weapp:{"miniprogram-ci":"1.0.45"},alipay:{minidev:"2.2.1"},swan:{"swan-toolkit":"3.7.5"},tt:{"tt-ide-cli":"0.1.15"},quickapp:{"@tarojs/components-qa":o}}[r]),i[r]),i[r+"."+t]),s&&(a["@tarojs/taro-"+r]=o),[4,Rr(a)]):[2];case 1:return c.sent(),[2]}})})}function qr(e,r){return S(this,void 0,void 0,function(){var t,n,i,o,s,a,c,u,l,f,d,p;return A(this,function(m){switch(m.label){case 0:return m.trys.push([0,10,,11]),t=te(r.branchMap),n=t.isWatch,i=t.isAutoTag,o=function(e,r){void 0===r&&(r="");var t=new RegExp(D),n=e.match(t)||[],i=n[1],o=n[3],s=void 0===o?r:o,a="";return i===v.QUICKAPP&&(a=i,i=v.WEAPP),[i,s,a]}(e,r.defaultMode),s=o[0],a=o[1],c=o[2],process.env.PLATFORM_ENV=s,process.env.MODE_ENV=a,process.env.FIX_ENV=c,i?[4,xe(e)]:[3,2];case 1:m.sent(),m.label=2;case 2:return[4,Mr()];case 3:return m.sent(),[4,_r({isWatch:n,copy:r.copy})];case 4:return m.sent(),u=Ae,l=Ie,f=_e,d=be,[4,ce(e)];case 5:return[4,d.apply(void 0,[m.sent()])];case 6:return[4,f.apply(void 0,[m.sent()])];case 7:return[4,l.apply(void 0,[m.sent()])];case 8:return[4,u.apply(void 0,[m.sent()])];case 9:return m.sent(),[3,11];case 10:return p=m.sent(),Ae({item:e,error:p,errorCode:4}),g.default().fail(h.default.gray(p.message)),[3,11];case 11:return[2]}})})}!function(){S(this,void 0,void 0,function(){var e,r,t,n,i,o,s,a,c,u,l;return A(this,function(f){switch(f.label){case 0:return[4,X()];case 1:if(e=f.sent(),r=te(e.branchMap),t=r.type,n=void 0===t?e.type:t,i=r.isDebug,o=r.robot,s=e.sourceRoot,a=void 0===s?".taro-ci-src":s,process.env.DEBUG_ENV=i||1===o?"OPEN":"CLOSE",process.env.SOURCE_ROOT_PATH=a,!(c=n?Array.isArray(n)?n:[n]:null))return[2];u=0,l=c,f.label=2;case 2:return u<l.length?[4,qr(l[u],e)]:[3,5];case 3:f.sent(),f.label=4;case 4:return u++,[3,2];case 5:return[2]}})})}();
|
package/dist/types/index.d.ts
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* Copyright (c) 快宝网络 kuaidihelp.com Co., Ltd. All Rights Reserved 禁止外泄以及用于其它的商业用途
|
|
3
3
|
*/
|
|
4
4
|
import minimist from "minimist";
|
|
5
|
+
import { IUploadOptions } from 'minidev';
|
|
6
|
+
import { ProjectType } from "miniprogram-ci/dist/@types/types";
|
|
7
|
+
export { IUploadOptions, ProjectType };
|
|
5
8
|
export declare type CommandPromiseRes = {
|
|
6
9
|
code: number;
|
|
7
10
|
err?: string;
|
|
@@ -10,6 +13,9 @@ export declare type EnvCustom = {
|
|
|
10
13
|
MODE_ENV?: string;
|
|
11
14
|
PLATFORM_ENV?: string;
|
|
12
15
|
ROOT_PATH?: string;
|
|
16
|
+
FIX_ENV?: string;
|
|
17
|
+
DEBUG_ENV?: "OPEN" | "CLOSE";
|
|
18
|
+
SOURCE_ROOT_PATH?: string;
|
|
13
19
|
};
|
|
14
20
|
export declare type BuildOptions = {
|
|
15
21
|
appId?: string;
|
|
@@ -40,6 +46,8 @@ export interface ArgsResponse extends minimist.ParsedArgs {
|
|
|
40
46
|
isDebug?: boolean;
|
|
41
47
|
isUpload?: boolean;
|
|
42
48
|
isMulti?: boolean;
|
|
49
|
+
isAutoTag?: boolean;
|
|
50
|
+
isTestRobot?: boolean;
|
|
43
51
|
message?: string;
|
|
44
52
|
}
|
|
45
53
|
export declare type InfoOptions = {
|
|
@@ -50,6 +58,10 @@ export declare type InfoOptions = {
|
|
|
50
58
|
tag?: string;
|
|
51
59
|
robot?: number;
|
|
52
60
|
template?: number;
|
|
61
|
+
audit?: {
|
|
62
|
+
versionScreenshot: string[];
|
|
63
|
+
};
|
|
64
|
+
projectName?: string;
|
|
53
65
|
};
|
|
54
66
|
declare type CiType = string | string[];
|
|
55
67
|
interface BranchMapItem {
|
|
@@ -57,17 +69,24 @@ interface BranchMapItem {
|
|
|
57
69
|
type?: CiType;
|
|
58
70
|
}
|
|
59
71
|
declare type BranchMapFun = (brand: string) => BranchMapItem;
|
|
60
|
-
export declare type BranchMap = {
|
|
72
|
+
export declare type BranchMap = BranchMapFun | {
|
|
61
73
|
[propertys: string]: BranchMapItem;
|
|
62
|
-
}
|
|
74
|
+
};
|
|
75
|
+
export declare type FileTypeEntryOrPage = "ENTRY" | "PAGE";
|
|
76
|
+
export declare type FileType = FileTypeEntryOrPage | "COMPONENT" | "STYLE" | "IMAGE";
|
|
77
|
+
export declare type InsertImportType = Record<string, string | ([string, FileType | void, string | void] | string)[]>;
|
|
78
|
+
declare type CompileExcludeFun = (modelPath: string) => boolean;
|
|
63
79
|
export declare type ConfigOptions = {
|
|
64
80
|
name: string;
|
|
65
81
|
version?: string;
|
|
66
82
|
description?: string;
|
|
67
83
|
type: CiType;
|
|
84
|
+
defaultMode?: string;
|
|
68
85
|
info: {
|
|
69
86
|
[propertys: string]: InfoOptions;
|
|
70
87
|
};
|
|
88
|
+
copy?: () => (string | string[])[];
|
|
89
|
+
insertImport: InsertImportType;
|
|
71
90
|
minSwanVersion: string;
|
|
72
91
|
useTaroPluginBuildBy?: "normal" | "mode" | "type";
|
|
73
92
|
git?: string;
|
|
@@ -76,6 +95,15 @@ export declare type ConfigOptions = {
|
|
|
76
95
|
tt?: Tt;
|
|
77
96
|
privacy?: Dd;
|
|
78
97
|
branchMap?: BranchMap;
|
|
98
|
+
dynamicDependencies?: Record<string, Record<string, string>>;
|
|
99
|
+
taroVersion?: string;
|
|
100
|
+
sourceRoot?: string;
|
|
101
|
+
modes?: string[];
|
|
102
|
+
modesExclude?: string[];
|
|
103
|
+
compileExclude?: (string | CompileExcludeFun)[];
|
|
104
|
+
ts?: number;
|
|
105
|
+
compileType?: 'vite' | 'taro';
|
|
106
|
+
codeFortify?: boolean;
|
|
79
107
|
};
|
|
80
108
|
export declare type UploadResponse = {
|
|
81
109
|
item: string;
|
|
@@ -95,22 +123,24 @@ export declare type ConfigInfoResponse = {
|
|
|
95
123
|
robot?: Robot;
|
|
96
124
|
versionPure?: string;
|
|
97
125
|
minSwanVersion?: string;
|
|
126
|
+
versionKey: 'Beta' | 'Rc' | '';
|
|
98
127
|
};
|
|
99
|
-
export declare type CompileType =
|
|
128
|
+
export declare type CompileType = "miniprogram" | "plugin" | "game" | "gamePlugin";
|
|
100
129
|
export declare type ProjectConfig = {
|
|
101
130
|
miniprogramRoot: string;
|
|
102
131
|
smartProgramRoot?: string;
|
|
132
|
+
projectname?: string;
|
|
103
133
|
appid: string;
|
|
104
134
|
setting: {
|
|
105
135
|
[propertys: string]: any;
|
|
106
136
|
};
|
|
107
137
|
compileType: CompileType;
|
|
108
|
-
projectArchitecture?:
|
|
138
|
+
projectArchitecture?: "multiPlatform" | "miniprogram" | "";
|
|
109
139
|
};
|
|
110
140
|
export declare type PkgMap = {
|
|
111
141
|
[propertys: string]: {
|
|
112
142
|
label: string;
|
|
113
|
-
key:
|
|
143
|
+
key: ConfigInfoResponse['versionKey'];
|
|
114
144
|
};
|
|
115
145
|
};
|
|
116
146
|
export declare enum TaroEnv {
|
|
@@ -131,5 +161,4 @@ export declare enum TaroConfig {
|
|
|
131
161
|
"QUICKAPP" = "project.quickapp.json",
|
|
132
162
|
"TT" = "project.config.json"
|
|
133
163
|
}
|
|
134
|
-
export declare type Platform = "weapp" | "alipay" | "swan" | "quickapp" | "h5" | "rn" |
|
|
135
|
-
export {};
|
|
164
|
+
export declare type Platform = "weapp" | "alipay" | "swan" | "quickapp" | "h5" | "rn" | "tt";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ENV_TARO_VERSION = "npm_package_dependencies__tarojs_cli";
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @description babel-types
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
6
|
+
export declare function types(): any;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @description babel-traverse
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare function traverse(...arg: any[]): any;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @description babel-generate
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export declare function generate(...arg: any[]): any;
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @description 解析code
|
|
22
|
+
* @param code
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export declare function babelParser(code: any, isStyleFile?: boolean): any;
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* @description 转换代码
|
|
29
|
+
* @param ast
|
|
30
|
+
* @param create
|
|
31
|
+
*/
|
|
32
|
+
export declare function babelTraverse(ast: any, create: any): void;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @description 对象生成ast
|
|
36
|
+
* @param obj
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
export declare function objectToAST(obj: any): any;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @description 检查是否为 Taro.Component
|
|
43
|
+
* @param node
|
|
44
|
+
* @param isComponentFromTaro
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
export declare function checkIsTaroComponent(node: any, isComponentFromTaro: any): any;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { DependenciesMapType } from "./parse";
|
|
2
|
+
interface FileRefCurrent {
|
|
3
|
+
appEntryRelatedFilesMap?: Record<string, boolean>;
|
|
4
|
+
allDependenciesMap?: DependenciesMapType;
|
|
5
|
+
patchFilesMap: Record<string, string[]>;
|
|
6
|
+
usingComponentsCopiedFilesMap: Record<string, boolean>;
|
|
7
|
+
patchImportAbsoluteMap: Record<string, string>;
|
|
8
|
+
}
|
|
9
|
+
export declare const fileRef: {
|
|
10
|
+
current: FileRefCurrent;
|
|
11
|
+
};
|
|
12
|
+
export interface SubsRefCurrent {
|
|
13
|
+
subsMap?: Record<string, string>;
|
|
14
|
+
appEntryRequirePath?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function getExtname(filePath: string): string;
|
|
17
|
+
export declare function getFileName(filePath: string, hasExtname?: boolean): string;
|
|
18
|
+
export declare function splitFileExtName(filePath: string): string[];
|
|
19
|
+
export declare const getPathPure: (fullPath: any) => any;
|
|
20
|
+
export declare const subsRef: {
|
|
21
|
+
current: SubsRefCurrent;
|
|
22
|
+
};
|
|
23
|
+
export declare function requireExtend(modulePath: any, noCache?: boolean): any;
|
|
24
|
+
export declare function patchDestPath(filePath: string, root: string): string;
|
|
25
|
+
export declare function isDirectory(p: any): any;
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* @description 获取文件所在文件夹
|
|
29
|
+
* @param filePath
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
export declare function getFilePathDir(filePath: string): string;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @description 获取相对路径
|
|
36
|
+
* @param from 文件路径(注意不能是文件夹路径)
|
|
37
|
+
* @param to 文件路径
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
export declare function getRelativePath(from: string, to: string): string;
|
|
41
|
+
export declare function copyFile(src: any, dest: any): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @description 获取文件绝对链接,包括
|
|
45
|
+
*/
|
|
46
|
+
export declare function getAbsolutePath(filePath: string, parentPath?: string): string;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { FileType } from "types";
|
|
2
|
+
export interface RunParseReturn {
|
|
3
|
+
dependencies?: string[];
|
|
4
|
+
ast?: any;
|
|
5
|
+
type: FileType;
|
|
6
|
+
config?: any;
|
|
7
|
+
configRequirePath?: string;
|
|
8
|
+
source: string;
|
|
9
|
+
isUpdate?: boolean;
|
|
10
|
+
configCreated?: boolean;
|
|
11
|
+
update?: (cfg: any) => void;
|
|
12
|
+
}
|
|
13
|
+
export interface DependenciesMapItemType extends RunParseReturn {
|
|
14
|
+
copied?: boolean;
|
|
15
|
+
root?: string;
|
|
16
|
+
parents?: Set<string>;
|
|
17
|
+
dependenciesResolveMap?: Record<string, string>;
|
|
18
|
+
dependenciesFilePathChange?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare type DependenciesMapType = Record<string, DependenciesMapItemType>;
|
|
21
|
+
export declare const notFound = "./404";
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @description 解析引入
|
|
25
|
+
* @param param0
|
|
26
|
+
* @param callback
|
|
27
|
+
*/
|
|
28
|
+
export declare function parseImport(opts: {
|
|
29
|
+
ast: any;
|
|
30
|
+
create?: any;
|
|
31
|
+
code?: string;
|
|
32
|
+
}, callback: (opts: {
|
|
33
|
+
SetImportValue: (val: string) => void;
|
|
34
|
+
value: string;
|
|
35
|
+
}) => void): Promise<(c: any) => Promise<void>>;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @description 开始解析
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
export declare function runParse(filePath: string, fileType?: FileType): Promise<RunParseReturn>;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @description 依赖关系路径处理为绝对路径:过滤掉npm包依赖,不做处理
|
|
45
|
+
* @param dependencies 依赖关系列表
|
|
46
|
+
* @param parentPath 相对路径
|
|
47
|
+
*/
|
|
48
|
+
export declare function resolveDependenciesPath(dependencies: string[], parentPath?: string): string[][];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FileType } from "types";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @description 生成config
|
|
5
|
+
* @param destPath
|
|
6
|
+
* @param config
|
|
7
|
+
*/
|
|
8
|
+
export declare function createConfigFile(destPath: any, config: any): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @description 解析组件的config配置,可指定是否将原配置移除
|
|
12
|
+
* @param ast
|
|
13
|
+
* @param isRemoveOrg
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export declare function babelTraverseConfig(ast: any, isRemove?: boolean): any[];
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @description 解析config配置
|
|
20
|
+
* @param ast
|
|
21
|
+
* @param type
|
|
22
|
+
* @param isRemove // 是否移除config属性
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export declare function babelTraverseEntryOrPageConfigRun(ast: any, type?: FileType, isRemove?: boolean): {
|
|
26
|
+
config: any;
|
|
27
|
+
configRequirePath: any;
|
|
28
|
+
update: any;
|
|
29
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FileType } from "types";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @description 补充依赖引入:主要修复taro2x相关引用
|
|
5
|
+
* @param ast
|
|
6
|
+
* @param type
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function babelTraverseInsertImport(ast: any, type?: FileType, filePath?: string): {
|
|
10
|
+
isUpdateImport: boolean;
|
|
11
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FileType } from "types";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* taro2.x补丁,改写为taro3.x
|
|
5
|
+
* @param ast
|
|
6
|
+
* @param type
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function patchConfigAndImport(ast: any, type?: FileType, filePath?: string): Promise<[any, boolean, string, (cfg: any) => void]>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @description 补丁:组件配置了 usingComponents,需要移动到指定位置,并将自定义组件的引用放到对应page或app中;(因taro3x仅支持如此操作)
|
|
4
|
+
*/
|
|
5
|
+
import { DependenciesMapType } from '../parse';
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @description 清除
|
|
9
|
+
*/
|
|
10
|
+
export declare function patchConfigUsingComponents(depsMap?: DependenciesMapType): Promise<void>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { FileType } from "types";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @description 将ast生成json
|
|
5
|
+
* @param ast
|
|
6
|
+
* @param generate
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function generateAstToJson(ast: any): any;
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @description 检查文件为入口
|
|
13
|
+
* @param type
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export declare function checkIsEntry(type?: FileType): boolean;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @description 检查文件为入口或者页面
|
|
20
|
+
* @param type
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export declare function checkIsEntryOrPage(type?: FileType): boolean;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @description 纯js模块组件,非入口或页面
|
|
27
|
+
* @param type
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
export declare function checkIsComponentPure(type?: FileType): boolean;
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @description 模块文件,入口和页面也属于 COMPONENT
|
|
34
|
+
* @param type
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
export declare function checkIsComponent(type?: FileType): boolean;
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* @description 获取抛出的模块名
|
|
41
|
+
* @param ast
|
|
42
|
+
*/
|
|
43
|
+
export declare function getExportComponentName(ast: any): string;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { DependenciesMapItemType } from "./parse";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @description 检查是否为css的树
|
|
5
|
+
* @param ast
|
|
6
|
+
*/
|
|
7
|
+
export declare function checkIsCssAst(ast: any): boolean;
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @description css的样式import带有'或",需要移除;
|
|
11
|
+
* @param params
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare function cssImportParamsPure(params: any): any;
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @description 解析scss样式
|
|
18
|
+
* @param scssCode
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
export declare function postcssParser(scssCode: any): any;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @description css-types
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
export declare function postcssTypes(): {
|
|
28
|
+
isPostcss: boolean;
|
|
29
|
+
checkIsCssAst: typeof checkIsCssAst;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @description 遍历css树
|
|
34
|
+
* Root (根节点): 代表整个样式表的根。
|
|
35
|
+
Rules (规则节点): 代表样式规则,包含选择器和声明。
|
|
36
|
+
Declarations (声明节点): 代表每个样式声明(属性和值)。
|
|
37
|
+
AtRules (At规则节点): 代表 @media、@import 等 at-rule 语句。
|
|
38
|
+
* @param ast
|
|
39
|
+
* @param opts
|
|
40
|
+
*/
|
|
41
|
+
export declare function postcssTraverse(ast: any, opts: any): void;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @description css样式代码转化
|
|
45
|
+
* @param ast
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
export declare function postcssGenerate(ast: any): {
|
|
49
|
+
code: any;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @description 兼容样式,主要用于修补taro3x,/改为*
|
|
54
|
+
* @param ast
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
export declare function babelTraversePostcss(ast: any): {
|
|
58
|
+
isUpdateCss: boolean;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @description 补充样式处理,将url引入的图片拷贝到目标位置
|
|
63
|
+
* @param cssAst
|
|
64
|
+
*/
|
|
65
|
+
export declare function patchCssImportUrl(item: DependenciesMapItemType, toFilePath: any): Promise<void>;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 快宝网络 kuaidihelp.com Co., Ltd. All Rights Reserved 禁止外泄以及用于其它的商业用途
|
|
3
3
|
*/
|
|
4
|
-
import { CommandPromiseRes, EnvCustom, ConfigOptions, PkgMap, ConfigInfoResponse, ArgsResponse, ProjectConfig, Platform, ProgressType, BranchMap } from "types";
|
|
5
|
-
|
|
4
|
+
import { CommandPromiseRes, EnvCustom, ConfigOptions, PkgMap, ConfigInfoResponse, ArgsResponse, ProjectConfig, Platform, ProgressType, BranchMap, ProjectType } from "types";
|
|
5
|
+
export declare const tagPattern: RegExp;
|
|
6
|
+
export declare function noop(): void;
|
|
7
|
+
export declare const getDir: () => {
|
|
8
|
+
rootPath: string;
|
|
9
|
+
npmDir: string;
|
|
10
|
+
sourceDir: string;
|
|
11
|
+
destinationDir: string;
|
|
12
|
+
sourceRoot: string;
|
|
13
|
+
appEntryPath: string;
|
|
14
|
+
appEntryConfigPath: string;
|
|
15
|
+
needCopy: boolean;
|
|
16
|
+
};
|
|
17
|
+
export declare function getHelper(): any;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @description 获取alias配置
|
|
21
|
+
* 注意 alias 已经使用 SOURCE_ROOT_PATH 替换,需要做一次还原为源路径
|
|
22
|
+
*/
|
|
23
|
+
export declare function getAlias(): any;
|
|
24
|
+
export declare const moduleSuffix: string[];
|
|
25
|
+
export declare const styleSuffix: string[];
|
|
26
|
+
export declare const imageSuffix: string[];
|
|
27
|
+
export declare const filesSuffix: string[];
|
|
28
|
+
export declare function checkIsModuleSuffix(suffix: any): boolean;
|
|
29
|
+
export declare function checkIsStyleSuffix(suffix: any): boolean;
|
|
30
|
+
export declare function checkIsImageSuffix(suffix: any): boolean;
|
|
31
|
+
export declare function checkIsFileSuffix(suffix: any): boolean;
|
|
6
32
|
/**
|
|
7
33
|
*
|
|
8
34
|
* @description 进度描述信息
|
|
@@ -19,7 +45,19 @@ export declare const pkgMap: PkgMap;
|
|
|
19
45
|
* @returns
|
|
20
46
|
*/
|
|
21
47
|
export declare function commandTrigger(commandStr: string, isWatch: boolean, isDebug: boolean, item: string, env?: EnvCustom): Promise<CommandPromiseRes>;
|
|
48
|
+
export declare function readConfigPure(name?: string): ConfigOptions;
|
|
22
49
|
export declare function readConfig(name?: string): ConfigOptions;
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* @description 从tagname 获取类型和版本
|
|
53
|
+
*/
|
|
54
|
+
export declare function getTypeAndVersionFromTagName(): {
|
|
55
|
+
type?: undefined;
|
|
56
|
+
version?: undefined;
|
|
57
|
+
} | {
|
|
58
|
+
type: string;
|
|
59
|
+
version: string;
|
|
60
|
+
};
|
|
23
61
|
export declare function getArgs(branchMap?: BranchMap): ArgsResponse;
|
|
24
62
|
/**
|
|
25
63
|
*
|
|
@@ -68,7 +106,7 @@ export declare function getAndFormatConfigInfo(item: string): ConfigInfoResponse
|
|
|
68
106
|
* @param item
|
|
69
107
|
* @returns
|
|
70
108
|
*/
|
|
71
|
-
export declare function formateCommand(item: string): [Platform, string, string];
|
|
109
|
+
export declare function formateCommand(item: string, defaultMode?: string): [Platform, string, string];
|
|
72
110
|
export declare function isObject(obj: any): boolean;
|
|
73
111
|
export declare function isArray(arr: any): boolean;
|
|
74
112
|
/**
|
|
@@ -81,11 +119,11 @@ export declare function merge(target: any, ...arg: any[]): any;
|
|
|
81
119
|
/**
|
|
82
120
|
*
|
|
83
121
|
* @description 处理路径
|
|
84
|
-
* @param
|
|
122
|
+
* @param pathname
|
|
85
123
|
* @param suffix
|
|
86
124
|
* @returns
|
|
87
125
|
*/
|
|
88
|
-
export declare function resolvePath(
|
|
126
|
+
export declare function resolvePath(pathname: string, suffix?: string): string;
|
|
89
127
|
/**
|
|
90
128
|
*
|
|
91
129
|
* @description 安装指令
|
|
@@ -93,3 +131,14 @@ export declare function resolvePath(p: string, suffix: string): string;
|
|
|
93
131
|
* @returns
|
|
94
132
|
*/
|
|
95
133
|
export declare function installCommand(name: any): Promise<unknown>;
|
|
134
|
+
/**
|
|
135
|
+
*
|
|
136
|
+
* @description 替换
|
|
137
|
+
* @param obj
|
|
138
|
+
* @param keyMap
|
|
139
|
+
*/
|
|
140
|
+
export declare function recursiveReplaceObjectKeys(obj: any, keyMap: any): void;
|
|
141
|
+
export declare const checkIsDynamicRoot: (root: string) => boolean;
|
|
142
|
+
export declare function isInSameFolder(pathA: any, pathB: any): boolean;
|
|
143
|
+
export declare function checkIsOldTaroVersion(): boolean;
|
|
144
|
+
export declare function isFunciton(fun: any): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "taro-ci",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"main": "dist/taro-ci.js",
|
|
5
5
|
"types": "dist/types/index.d.ts",
|
|
6
6
|
"bin": {
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"scripts": {
|
|
23
23
|
"pre-build": "rimraf dist",
|
|
24
|
-
"dev": "
|
|
25
|
-
"build": "
|
|
24
|
+
"dev": "npm run pre-build && rollup -c -w",
|
|
25
|
+
"build": "npm run pre-build && NODE_ENV=production rollup -c",
|
|
26
26
|
"build:c": "npm run build && tsc -m commonjs",
|
|
27
27
|
"release": "node scripts/release",
|
|
28
28
|
"lint": "eslint src/**/*.ts --max-warnings 0",
|
|
@@ -44,15 +44,14 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"chalk": "^4.1.0",
|
|
47
|
+
"chokidar": "^2.0.3",
|
|
47
48
|
"dayjs": "^1.11.7",
|
|
48
49
|
"dingtalk-robot-sender": "^1.2.0",
|
|
50
|
+
"fs-extra": "^5.0.0",
|
|
51
|
+
"lodash": "^4.17.15",
|
|
49
52
|
"minimist": "^1.2.5",
|
|
50
|
-
"miniprogram-ci": "^1.0.45",
|
|
51
|
-
"miniu": "^1.11.3",
|
|
52
53
|
"ora": "^5.4.0",
|
|
53
|
-
"
|
|
54
|
-
"semver": "^7.3.5",
|
|
55
|
-
"tt-ide-cli": "^0.1.15"
|
|
54
|
+
"semver": "^7.3.5"
|
|
56
55
|
},
|
|
57
56
|
"devDependencies": {
|
|
58
57
|
"@rollup/plugin-alias": "^3.1.1",
|
|
@@ -74,13 +73,17 @@
|
|
|
74
73
|
"execa": "^4.1.0",
|
|
75
74
|
"husky": "^4.2.5",
|
|
76
75
|
"lint-staged": "^10.5.1",
|
|
76
|
+
"minidev": "^2.2.1",
|
|
77
|
+
"miniprogram-ci": "^1.0.45",
|
|
78
|
+
"minigame-code-fortify-cli": "^0.1.2",
|
|
77
79
|
"prettier": "^2.2.0",
|
|
78
80
|
"rimraf": "^3.0.2",
|
|
79
81
|
"rollup": "^2.19.0",
|
|
80
82
|
"rollup-plugin-auto-external": "^2.0.0",
|
|
81
83
|
"rollup-plugin-sourcemaps": "^0.6.2",
|
|
84
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
82
85
|
"rollup-plugin-typescript2": "^0.27.1",
|
|
83
|
-
"
|
|
86
|
+
"tt-ide-cli": "^0.1.27",
|
|
84
87
|
"typescript": "^3.9.6"
|
|
85
88
|
}
|
|
86
89
|
}
|
package/dist/utils/extend.d.ts
DELETED
package/dist/utils/lodash.d.ts
DELETED