jjb-cmd 2.0.9 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +2 -1
- package/src/new/cmd.init/index.js +1 -102
- package/src/new/cmd.install/config.js +1 -47
- package/src/new/cmd.install/index.js +1 -262
- package/src/new/cmd.install/tools.js +1 -230
- package/src/new/cmd.push/index.js +1 -54
- package/src/new/cmd.reglist/index.js +1 -22
- package/src/new/cmd.rm-rf/index.js +1 -58
- package/src/new/cmd.version/index.js +1 -34
- package/src/old/cli.init.js +1 -26
- package/src/old/cli.install/config.js +1 -206
- package/src/old/cli.install/index.js +1 -340
- package/src/old/cli.install/tools.js +1 -230
- package/src/old/cli.merge.js +1 -80
- package/src/old/cli.pull.js +1 -94
- package/src/old/cli.pull2.js +1 -377
- package/src/old/cli.rm-rf.js +1 -88
- package/src/old/progress-bar.js +1 -23
- package/src/old/util.js +1 -149
- package/.idea/jjb-cmd.iml +0 -12
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/src/old/cli.dva.register.saas.txt +0 -40
- package/src/old/cli.dva.register.spa.txt +0 -22
- package/src/old/cli.dva.router.saas.txt +0 -210
- package/src/old/cli.dva.router.spa.txt +0 -119
- package/src/old/cli.init/jjb.config.json +0 -40
- package/src/old/cli.init/jjb.script/build.js +0 -11
- package/src/old/cli.init/jjb.script/config.js +0 -217
- package/src/old/cli.init/jjb.script/proxy.js +0 -19
- package/src/old/cli.init/jjb.script/server.js +0 -29
- package/src/old/cli.init/jjb.script/utils.js +0 -13
- package/src/old/cli.init/package.json +0 -65
- package/src/old/cli.init/public/index.html +0 -21
- package/src/old/cli.init/src/enumerate/menu/index.js +0 -1
- package/src/old/cli.init/src/enumerate/namespace/index.js +0 -3
- package/src/old/cli.init/src/index.js +0 -24
- package/src/old/cli.init/src/models/main/index.js +0 -31
- package/src/old/cli.init/src/pages/index.js +0 -9
- package/src/old/cli.init/webstorm.config.js +0 -18
@@ -1,230 +1 @@
|
|
1
|
-
const
|
2
|
-
const os = require('os');
|
3
|
-
const {
|
4
|
-
GIT_HOST,
|
5
|
-
GIT_TEMP_DIR,
|
6
|
-
CLOUD_PROJECT
|
7
|
-
} = require('./config');
|
8
|
-
|
9
|
-
/**
|
10
|
-
* @description 删除全部
|
11
|
-
* @param path {string} 路径
|
12
|
-
*/
|
13
|
-
exports.f_rm_rf = function (path) {
|
14
|
-
if (fs.existsSync(path)) {
|
15
|
-
const list = fs.readdirSync(path);
|
16
|
-
for (let i = 0; i < list.length; i++) {
|
17
|
-
const item = list[ i ];
|
18
|
-
const vPath = `${path}/${item}`;
|
19
|
-
if (fs.statSync(vPath).isDirectory()) {
|
20
|
-
exports.f_rm_rf(vPath);
|
21
|
-
fs.rmdirSync(vPath);
|
22
|
-
} else {
|
23
|
-
fs.unlinkSync(vPath);
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
27
|
-
};
|
28
|
-
|
29
|
-
/**
|
30
|
-
* @typedef {object} GitResource
|
31
|
-
* @property {string} path
|
32
|
-
* @property {string} compress
|
33
|
-
* @property {string} repository
|
34
|
-
*/
|
35
|
-
|
36
|
-
/**
|
37
|
-
* @description 拉取git资源
|
38
|
-
* @param installResources {Resource[]} 资源名称
|
39
|
-
* @return {GitResource[]}
|
40
|
-
*/
|
41
|
-
exports.f_pull_git_repository = function (installResources = []) {
|
42
|
-
return installResources.map(item => {
|
43
|
-
const resource = CLOUD_PROJECT[ item.name ] || undefined;
|
44
|
-
const template = os.tmpdir();
|
45
|
-
return {
|
46
|
-
path: `${template}\\${GIT_TEMP_DIR}\\${item.name}.zip`,
|
47
|
-
compress: `${template}\\${GIT_TEMP_DIR}\\${item.name}_zip`,
|
48
|
-
repository: `${GIT_HOST}/api/v4/projects/${resource.projectId}/repository/archive.zip?private_token=${resource.token}&ref=master`
|
49
|
-
};
|
50
|
-
});
|
51
|
-
};
|
52
|
-
|
53
|
-
/**
|
54
|
-
* @description 扫描是否存在jjb.config.json
|
55
|
-
* @param root 路径
|
56
|
-
* @returns {boolean}
|
57
|
-
*/
|
58
|
-
exports.f_scan_jjb_config_json = function (root) {
|
59
|
-
return fs.existsSync(`${root}\\jjb.config.json`);
|
60
|
-
};
|
61
|
-
|
62
|
-
/**
|
63
|
-
* @typedef {object} JJB_CONFIG_JSON
|
64
|
-
* @property {string} projectType
|
65
|
-
* @property {string} installTarget
|
66
|
-
* @property {Resource[]} installResources
|
67
|
-
*/
|
68
|
-
|
69
|
-
/**
|
70
|
-
* @description 验证规则
|
71
|
-
* @param root {string} 路径
|
72
|
-
* @return {JJB_CONFIG_JSON}
|
73
|
-
*/
|
74
|
-
exports.f_scan_jjb_config_json_rules = function (root) {
|
75
|
-
let jjb_config_json = {};
|
76
|
-
try {
|
77
|
-
jjb_config_json = JSON.parse(fs.readFileSync(`${root}\\jjb.config.json`).toString());
|
78
|
-
} catch (e) {
|
79
|
-
console.log('【Error】:[jjb.config.json]文件解析失败,请确认是否配置正确。');
|
80
|
-
process.exit(0);
|
81
|
-
}
|
82
|
-
if (!('projectType' in jjb_config_json)) {
|
83
|
-
console.log('【Error】:[jjb.config.json]文件配置无效,需要projectType属性。');
|
84
|
-
process.exit(0);
|
85
|
-
}
|
86
|
-
if (!('installTarget' in jjb_config_json)) {
|
87
|
-
console.log('【Error】:[jjb.config.json]文件配置无效,需要installTarget属性。');
|
88
|
-
process.exit(0);
|
89
|
-
}
|
90
|
-
if (!('installResources' in jjb_config_json)) {
|
91
|
-
console.log('【Error】:[jjb.config.json]文件配置无效,需要installResources属性。');
|
92
|
-
process.exit(0);
|
93
|
-
}
|
94
|
-
if (typeof jjb_config_json.projectType !== 'string') {
|
95
|
-
console.log('【Error】:[jjb.config.json.projectType]类型是一个string。');
|
96
|
-
process.exit(0);
|
97
|
-
}
|
98
|
-
if (![
|
99
|
-
'multi',
|
100
|
-
'spa',
|
101
|
-
'uniapp',
|
102
|
-
'micro-spa'
|
103
|
-
].includes(jjb_config_json.projectType)) {
|
104
|
-
console.log('【Error】:[jjb.config.json.projectType]配置无效,有效值<multi | spa | micro-spa | uniapp>。');
|
105
|
-
process.exit(0);
|
106
|
-
}
|
107
|
-
if (typeof jjb_config_json.installTarget !== 'string') {
|
108
|
-
console.log('【Error】:[jjb.config.json.installTarget]类型是一个string。');
|
109
|
-
process.exit(0);
|
110
|
-
}
|
111
|
-
if (![
|
112
|
-
'node_modules',
|
113
|
-
'src'
|
114
|
-
].includes(jjb_config_json.installTarget)) {
|
115
|
-
console.log('【Error】:[jjb.config.json.node_modules]配置无效,有效值<node_modules | src>。');
|
116
|
-
process.exit(0);
|
117
|
-
}
|
118
|
-
if (!Array.isArray(jjb_config_json.installResources)) {
|
119
|
-
console.log('【Error】:[jjb.config.json.installResources]类型是一个Array<string>。');
|
120
|
-
process.exit(0);
|
121
|
-
}
|
122
|
-
if (jjb_config_json.installResources.length === 0) {
|
123
|
-
console.log('【Error】:[jjb.config.json.installResources]无资源。');
|
124
|
-
process.exit(0);
|
125
|
-
}
|
126
|
-
const resources = exports.f_resolve_install_resources(jjb_config_json.installResources);
|
127
|
-
if (resources.map(item => item.name).filter(v => ![
|
128
|
-
'jjb-common',
|
129
|
-
'jjb-dva-runtime',
|
130
|
-
'jjb-common-lib',
|
131
|
-
'jjb-common-decorator',
|
132
|
-
'react-admin-component',
|
133
|
-
'vue-unisass-component'
|
134
|
-
].includes(v)).length !== 0) {
|
135
|
-
console.log('【Error】:[jjb.config.json.installResources]配置无效,有效值<common | react-admin-component | vue-unisass-component | jjb-common-decorator | jjb-dva-runtime | jjb-common-lib>。');
|
136
|
-
process.exit(0);
|
137
|
-
}
|
138
|
-
jjb_config_json.installResources = resources;
|
139
|
-
return jjb_config_json;
|
140
|
-
};
|
141
|
-
|
142
|
-
/**
|
143
|
-
* @description 创建package.json
|
144
|
-
* @param path {string} 路径
|
145
|
-
* @param name {string} 包名
|
146
|
-
* @param version {string} 版本
|
147
|
-
*/
|
148
|
-
exports.f_create_package_json = function (path, name, version) {
|
149
|
-
fs.writeFileSync(`${path}\\package.json`, `{"name":"${name}","version":"${version}","main": "index.js"}`);
|
150
|
-
};
|
151
|
-
|
152
|
-
/**
|
153
|
-
* @typedef {object} Resource
|
154
|
-
* @property {string} name
|
155
|
-
* @property {string[]} importList
|
156
|
-
*/
|
157
|
-
|
158
|
-
/**
|
159
|
-
* @description 分析resources
|
160
|
-
* @param installResources
|
161
|
-
* @return {Resource[]}
|
162
|
-
*/
|
163
|
-
exports.f_resolve_install_resources = function (installResources = []) {
|
164
|
-
const resources = [];
|
165
|
-
if (Array.isArray(installResources)) {
|
166
|
-
installResources.forEach(resource => {
|
167
|
-
if (Array.isArray(resource)) {
|
168
|
-
const [ name, importList = [] ] = resource;
|
169
|
-
resources.push({
|
170
|
-
name,
|
171
|
-
importList
|
172
|
-
});
|
173
|
-
} else {
|
174
|
-
resources.push({
|
175
|
-
name: resource,
|
176
|
-
importList: []
|
177
|
-
});
|
178
|
-
}
|
179
|
-
});
|
180
|
-
}
|
181
|
-
return resources;
|
182
|
-
};
|
183
|
-
|
184
|
-
/**
|
185
|
-
* @description 更新项目package.json文件
|
186
|
-
* @param path {string} 路径
|
187
|
-
* @param name {string} 包名
|
188
|
-
* @param version {string} 版本
|
189
|
-
*/
|
190
|
-
exports.f_update_project_package_json = function (path, name, version) {
|
191
|
-
const packageJSONFile = JSON.parse(fs.readFileSync(path).toString());
|
192
|
-
packageJSONFile.dependencies[ name ] = version;
|
193
|
-
fs.writeFileSync(path, JSON.stringify(packageJSONFile, null, 2));
|
194
|
-
};
|
195
|
-
|
196
|
-
/**
|
197
|
-
* @description 复制文件
|
198
|
-
* @param originSrc
|
199
|
-
* @param targetSrc
|
200
|
-
*/
|
201
|
-
exports.f_file_copy = function (originSrc, targetSrc) {
|
202
|
-
fs.readdirSync(originSrc).forEach(dir => {
|
203
|
-
const oPath = `${originSrc}\\${dir}`;
|
204
|
-
const tPath = `${targetSrc}\\${dir}`;
|
205
|
-
if (fs.statSync(oPath).isDirectory()) {
|
206
|
-
fs.mkdirSync(tPath);
|
207
|
-
exports.f_file_copy(oPath, tPath);
|
208
|
-
} else {
|
209
|
-
fs.writeFileSync(tPath, fs.readFileSync(oPath).toString());
|
210
|
-
}
|
211
|
-
});
|
212
|
-
};
|
213
|
-
|
214
|
-
/**
|
215
|
-
* @description 替换文件操作
|
216
|
-
* @param source {[]} 替换源
|
217
|
-
* @param root {string} 路径
|
218
|
-
*/
|
219
|
-
exports.f_content_replace = function (source = [], root) {
|
220
|
-
source.forEach(item => {
|
221
|
-
const path = root + item.path;
|
222
|
-
if (fs.existsSync(path)) {
|
223
|
-
let content = fs.readFileSync(path).toString();
|
224
|
-
item.replace.forEach(rep => {
|
225
|
-
content = content.replace(rep[ 0 ], rep[ 1 ]);
|
226
|
-
});
|
227
|
-
fs.writeFileSync(path, content);
|
228
|
-
}
|
229
|
-
});
|
230
|
-
};
|
1
|
+
function a11_0x2708(_0xf8a417,_0x405ba4){const _0x548e48=a11_0x548e();return a11_0x2708=function(_0x2708c0,_0x4942fa){_0x2708c0=_0x2708c0-0x64;let _0x3cb22d=_0x548e48[_0x2708c0];return _0x3cb22d;},a11_0x2708(_0xf8a417,_0x405ba4);}function a11_0x548e(){const _0x1d0f3e=['7007166wJvHJA','_zip','length','\x5cjjb.config.json','1427504qcFhwh','parse','【Error】:[jjb.config.json]文件解析失败,请确认是否配置正确。','replace','includes','installTarget','f_content_replace','f_pull_git_repository','node_modules','exit','isArray','25yRAUad','f_scan_jjb_config_json_rules','toString','【Error】:[jjb.config.json]文件配置无效,需要installResources属性。','log','path','projectId','stringify','mkdirSync','isDirectory','【Error】:[jjb.config.json.installResources]类型是一个Array<string>。','.zip','【Error】:[jjb.config.json.projectType]配置无效,有效值<multi\x20|\x20spa\x20|\x20micro-spa\x20|\x20uniapp>。','existsSync','【Error】:[jjb.config.json.node_modules]配置无效,有效值<node_modules\x20|\x20src>。','3SPjHJZ','projectType','313cSTAZl','readdirSync','name','f_file_copy','spa','vue-unisass-component','\x22,\x22main\x22:\x20\x22index.js\x22}','readFileSync','tmpdir','96sFPlCK','unlinkSync','/api/v4/projects/','【Error】:[jjb.config.json.installResources]无资源。','20OHzKoo','【Error】:[jjb.config.json.installTarget]类型是一个string。','f_rm_rf','\x5cpackage.json','3951673cuRfFk','11318TklJOo','string','【Error】:[jjb.config.json]文件配置无效,需要projectType属性。','map','f_update_project_package_json','343602JYsmiy','【Error】:[jjb.config.json]文件配置无效,需要installTarget属性。','jjb-common','filter','3532868bsqyBO','【Error】:[jjb.config.json.installResources]配置无效,有效值<common\x20|\x20react-admin-component\x20|\x20vue-unisass-component\x20|\x20jjb-common-decorator\x20|\x20jjb-dva-runtime\x20|\x20jjb-common-lib>。','forEach','f_resolve_install_resources','writeFileSync','\x22,\x22version\x22:\x22','installResources','jjb-common-decorator','727374UUBCkC','/repository/archive.zip?private_token='];a11_0x548e=function(){return _0x1d0f3e;};return a11_0x548e();}const a11_0x54c3ed=a11_0x2708;(function(_0x3c8962,_0x50603f){const _0xa20bb7=a11_0x2708,_0x507eb5=_0x3c8962();while(!![]){try{const _0x1bd0f3=-parseInt(_0xa20bb7(0x76))/0x1*(parseInt(_0xa20bb7(0x88))/0x2)+parseInt(_0xa20bb7(0x74))/0x3*(-parseInt(_0xa20bb7(0x91))/0x4)+parseInt(_0xa20bb7(0x65))/0x5*(-parseInt(_0xa20bb7(0x99))/0x6)+-parseInt(_0xa20bb7(0x8d))/0x7+-parseInt(_0xa20bb7(0x9f))/0x8+parseInt(_0xa20bb7(0x9b))/0x9*(parseInt(_0xa20bb7(0x83))/0xa)+parseInt(_0xa20bb7(0x87))/0xb*(parseInt(_0xa20bb7(0x7f))/0xc);if(_0x1bd0f3===_0x50603f)break;else _0x507eb5['push'](_0x507eb5['shift']());}catch(_0x19c263){_0x507eb5['push'](_0x507eb5['shift']());}}}(a11_0x548e,0xe635b));const fs=require('fs'),os=require('os'),{GIT_HOST,GIT_TEMP_DIR,CLOUD_PROJECT}=require('./config');exports[a11_0x54c3ed(0x85)]=function(_0x5c93ca){const _0x4ecb4a=a11_0x54c3ed;if(fs['existsSync'](_0x5c93ca)){const _0x3c9acd=fs['readdirSync'](_0x5c93ca);for(let _0x343a05=0x0;_0x343a05<_0x3c9acd[_0x4ecb4a(0x9d)];_0x343a05++){const _0x9d9c32=_0x3c9acd[_0x343a05],_0x248c02=_0x5c93ca+'/'+_0x9d9c32;fs['statSync'](_0x248c02)[_0x4ecb4a(0x6e)]()?(exports[_0x4ecb4a(0x85)](_0x248c02),fs['rmdirSync'](_0x248c02)):fs[_0x4ecb4a(0x80)](_0x248c02);}}},exports[a11_0x54c3ed(0xa6)]=function(_0x29381c=[]){const _0xc2018=a11_0x54c3ed;return _0x29381c[_0xc2018(0x8b)](_0x4afb0a=>{const _0x269582=_0xc2018,_0x43e3e9=CLOUD_PROJECT[_0x4afb0a[_0x269582(0x78)]]||undefined,_0x2a788c=os[_0x269582(0x7e)]();return{'path':_0x2a788c+'\x5c'+GIT_TEMP_DIR+'\x5c'+_0x4afb0a[_0x269582(0x78)]+_0x269582(0x70),'compress':_0x2a788c+'\x5c'+GIT_TEMP_DIR+'\x5c'+_0x4afb0a[_0x269582(0x78)]+_0x269582(0x9c),'repository':GIT_HOST+_0x269582(0x81)+_0x43e3e9[_0x269582(0x6b)]+_0x269582(0x9a)+_0x43e3e9['token']+'&ref=master'};});},exports['f_scan_jjb_config_json']=function(_0x152ac2){const _0x2b250d=a11_0x54c3ed;return fs[_0x2b250d(0x72)](_0x152ac2+'\x5cjjb.config.json');},exports[a11_0x54c3ed(0x66)]=function(_0x1ae668){const _0x4c3a0d=a11_0x54c3ed;let _0x23d97d={};try{_0x23d97d=JSON[_0x4c3a0d(0xa0)](fs['readFileSync'](_0x1ae668+_0x4c3a0d(0x9e))[_0x4c3a0d(0x67)]());}catch(_0x577161){console[_0x4c3a0d(0x69)](_0x4c3a0d(0xa1)),process[_0x4c3a0d(0xa8)](0x0);}!(_0x4c3a0d(0x75)in _0x23d97d)&&(console[_0x4c3a0d(0x69)](_0x4c3a0d(0x8a)),process[_0x4c3a0d(0xa8)](0x0));!(_0x4c3a0d(0xa4)in _0x23d97d)&&(console['log'](_0x4c3a0d(0x8e)),process[_0x4c3a0d(0xa8)](0x0));!(_0x4c3a0d(0x97)in _0x23d97d)&&(console[_0x4c3a0d(0x69)](_0x4c3a0d(0x68)),process[_0x4c3a0d(0xa8)](0x0));typeof _0x23d97d[_0x4c3a0d(0x75)]!==_0x4c3a0d(0x89)&&(console['log']('【Error】:[jjb.config.json.projectType]类型是一个string。'),process[_0x4c3a0d(0xa8)](0x0));!['multi',_0x4c3a0d(0x7a),'uniapp','micro-spa']['includes'](_0x23d97d[_0x4c3a0d(0x75)])&&(console['log'](_0x4c3a0d(0x71)),process[_0x4c3a0d(0xa8)](0x0));typeof _0x23d97d['installTarget']!==_0x4c3a0d(0x89)&&(console[_0x4c3a0d(0x69)](_0x4c3a0d(0x84)),process[_0x4c3a0d(0xa8)](0x0));![_0x4c3a0d(0xa7),'src'][_0x4c3a0d(0xa3)](_0x23d97d[_0x4c3a0d(0xa4)])&&(console['log'](_0x4c3a0d(0x73)),process[_0x4c3a0d(0xa8)](0x0));!Array[_0x4c3a0d(0x64)](_0x23d97d[_0x4c3a0d(0x97)])&&(console[_0x4c3a0d(0x69)](_0x4c3a0d(0x6f)),process[_0x4c3a0d(0xa8)](0x0));_0x23d97d[_0x4c3a0d(0x97)][_0x4c3a0d(0x9d)]===0x0&&(console[_0x4c3a0d(0x69)](_0x4c3a0d(0x82)),process[_0x4c3a0d(0xa8)](0x0));const _0x5cf7b5=exports['f_resolve_install_resources'](_0x23d97d[_0x4c3a0d(0x97)]);return _0x5cf7b5[_0x4c3a0d(0x8b)](_0xfe9119=>_0xfe9119[_0x4c3a0d(0x78)])[_0x4c3a0d(0x90)](_0x237aec=>![_0x4c3a0d(0x8f),'jjb-dva-runtime','jjb-common-lib',_0x4c3a0d(0x98),'react-admin-component',_0x4c3a0d(0x7b)]['includes'](_0x237aec))[_0x4c3a0d(0x9d)]!==0x0&&(console[_0x4c3a0d(0x69)](_0x4c3a0d(0x92)),process[_0x4c3a0d(0xa8)](0x0)),_0x23d97d[_0x4c3a0d(0x97)]=_0x5cf7b5,_0x23d97d;},exports['f_create_package_json']=function(_0x241c5e,_0x17d3c2,_0xb0e1a5){const _0x336df9=a11_0x54c3ed;fs['writeFileSync'](_0x241c5e+_0x336df9(0x86),'{\x22name\x22:\x22'+_0x17d3c2+_0x336df9(0x96)+_0xb0e1a5+_0x336df9(0x7c));},exports[a11_0x54c3ed(0x94)]=function(_0x18450c=[]){const _0x4ce0b2=a11_0x54c3ed,_0x1e59b0=[];return Array['isArray'](_0x18450c)&&_0x18450c[_0x4ce0b2(0x93)](_0x4461c4=>{const _0x34a26a=_0x4ce0b2;if(Array[_0x34a26a(0x64)](_0x4461c4)){const [_0x413474,_0x11efad=[]]=_0x4461c4;_0x1e59b0['push']({'name':_0x413474,'importList':_0x11efad});}else _0x1e59b0['push']({'name':_0x4461c4,'importList':[]});}),_0x1e59b0;},exports[a11_0x54c3ed(0x8c)]=function(_0x2aa61b,_0x3229d9,_0x1c41ad){const _0x17cc04=a11_0x54c3ed,_0x223de4=JSON[_0x17cc04(0xa0)](fs[_0x17cc04(0x7d)](_0x2aa61b)['toString']());_0x223de4['dependencies'][_0x3229d9]=_0x1c41ad,fs[_0x17cc04(0x95)](_0x2aa61b,JSON[_0x17cc04(0x6c)](_0x223de4,null,0x2));},exports[a11_0x54c3ed(0x79)]=function(_0x4898ee,_0x27b4c9){const _0x5efd38=a11_0x54c3ed;fs[_0x5efd38(0x77)](_0x4898ee)[_0x5efd38(0x93)](_0x27cfa6=>{const _0x446548=_0x5efd38,_0x12b1aa=_0x4898ee+'\x5c'+_0x27cfa6,_0x3ddce1=_0x27b4c9+'\x5c'+_0x27cfa6;fs['statSync'](_0x12b1aa)[_0x446548(0x6e)]()?(fs[_0x446548(0x6d)](_0x3ddce1),exports['f_file_copy'](_0x12b1aa,_0x3ddce1)):fs[_0x446548(0x95)](_0x3ddce1,fs[_0x446548(0x7d)](_0x12b1aa)[_0x446548(0x67)]());});},exports[a11_0x54c3ed(0xa5)]=function(_0x5c1be3=[],_0x719a2e){const _0x59556e=a11_0x54c3ed;_0x5c1be3[_0x59556e(0x93)](_0x378320=>{const _0x5b54b3=_0x59556e,_0x1b1ec9=_0x719a2e+_0x378320[_0x5b54b3(0x6a)];if(fs[_0x5b54b3(0x72)](_0x1b1ec9)){let _0x2f5356=fs[_0x5b54b3(0x7d)](_0x1b1ec9)[_0x5b54b3(0x67)]();_0x378320[_0x5b54b3(0xa2)][_0x5b54b3(0x93)](_0x296c76=>{const _0x536195=_0x5b54b3;_0x2f5356=_0x2f5356[_0x536195(0xa2)](_0x296c76[0x0],_0x296c76[0x1]);}),fs[_0x5b54b3(0x95)](_0x1b1ec9,_0x2f5356);}});};
|
package/src/old/cli.merge.js
CHANGED
@@ -1,80 +1 @@
|
|
1
|
-
const
|
2
|
-
const path = require('path');
|
3
|
-
const utils = require('./util.js');
|
4
|
-
|
5
|
-
//项目路径
|
6
|
-
let projectPath = '';
|
7
|
-
//项目脚手架路径
|
8
|
-
let vesselPath = '';
|
9
|
-
//input传入参数 指令:地区:环境 start:chongqing:dev
|
10
|
-
let commandArr = [];
|
11
|
-
//application数据
|
12
|
-
const fromFileData = {};
|
13
|
-
const applicationJson = {};
|
14
|
-
|
15
|
-
/**
|
16
|
-
* input 指令:地区:环境 start:chongqing:dev
|
17
|
-
*/
|
18
|
-
module.exports = (input, source) => {
|
19
|
-
commandArr = input.split(':');
|
20
|
-
projectPath = path.resolve('./project');
|
21
|
-
vesselPath = path.resolve('./vessel/src');
|
22
|
-
let applicationPath = vesselPath;
|
23
|
-
if (source === 'mp') {
|
24
|
-
applicationPath = vesselPath + '/application';
|
25
|
-
utils.CreatePaths(vesselPath, ['application']);
|
26
|
-
}
|
27
|
-
const inputRegion = commandArr[1];
|
28
|
-
const settingJson = JSON.parse(fs.readFileSync(`${projectPath}/${inputRegion}/setting.json`).toString());
|
29
|
-
TileItems(settingJson.items, () => {
|
30
|
-
|
31
|
-
fromFileData.router.forEach(fromItem => {
|
32
|
-
const itemPathArr = fromItem.pathAdr.split(fromItem.region);
|
33
|
-
const filePathArr = itemPathArr[1].split('/');
|
34
|
-
const application = filePathArr[1];
|
35
|
-
if (!applicationJson[application]) {
|
36
|
-
applicationJson[application] = {
|
37
|
-
routerConfig: [],
|
38
|
-
routerPath: []
|
39
|
-
};
|
40
|
-
}
|
41
|
-
applicationJson[application].routerConfig.push(`{ path: '${fromItem.path}', component: () => import('${fromItem.file}') }`);
|
42
|
-
applicationJson[application].routerPath.push(fromItem.path);
|
43
|
-
|
44
|
-
let applicationStr = filePathArr.join('/');
|
45
|
-
|
46
|
-
const strArr = applicationStr.split('/');
|
47
|
-
utils.CreatePaths(applicationPath, strArr.slice(0, strArr.length - 1)).then(() => {
|
48
|
-
const fileContent = fs.readFileSync(fromItem.pathAdr).toString();
|
49
|
-
fs.writeFileSync(`${vesselPath}/${applicationStr}`, fileContent);
|
50
|
-
});
|
51
|
-
|
52
|
-
});
|
53
|
-
|
54
|
-
});
|
55
|
-
};
|
56
|
-
|
57
|
-
/**
|
58
|
-
* 平铺,展开所有路径
|
59
|
-
* @param items
|
60
|
-
* @param cb
|
61
|
-
* @constructor
|
62
|
-
*/
|
63
|
-
function TileItems (items, cb) {
|
64
|
-
items.forEach((item, index) => {
|
65
|
-
const region = item.region;
|
66
|
-
item.from.forEach((from, fromIndex) => {
|
67
|
-
const pathArr = [];
|
68
|
-
utils.DeepScanner(projectPath + '/' + region + '/' + from.file, pathArr);
|
69
|
-
const newPathArr = pathArr.map(pathItem => ({ region, pathAdr: pathItem, ...from }));
|
70
|
-
if (!fromFileData[from.fileType]) {
|
71
|
-
fromFileData[from.fileType] = newPathArr;
|
72
|
-
} else {
|
73
|
-
fromFileData[from.fileType] = fromFileData[from.fileType].concat(newPathArr);
|
74
|
-
}
|
75
|
-
if (index === items.length - 1 && fromIndex === item.from.length - 1) {
|
76
|
-
cb();
|
77
|
-
}
|
78
|
-
});
|
79
|
-
})
|
80
|
-
}
|
1
|
+
const a12_0x440ce6=a12_0x4e4c;(function(_0x440654,_0x32bb77){const _0x1b3b03=a12_0x4e4c,_0x4cec22=_0x440654();while(!![]){try{const _0x2bf9b0=-parseInt(_0x1b3b03(0x1c4))/0x1+-parseInt(_0x1b3b03(0x1b3))/0x2*(-parseInt(_0x1b3b03(0x1c5))/0x3)+parseInt(_0x1b3b03(0x1b5))/0x4*(-parseInt(_0x1b3b03(0x1b6))/0x5)+-parseInt(_0x1b3b03(0x1a3))/0x6+parseInt(_0x1b3b03(0x1b4))/0x7*(parseInt(_0x1b3b03(0x1b2))/0x8)+-parseInt(_0x1b3b03(0x1bb))/0x9+parseInt(_0x1b3b03(0x1af))/0xa;if(_0x2bf9b0===_0x32bb77)break;else _0x4cec22['push'](_0x4cec22['shift']());}catch(_0x35eb64){_0x4cec22['push'](_0x4cec22['shift']());}}}(a12_0xab99,0x59805));function a12_0x4e4c(_0x18c7c1,_0xb69e37){const _0xab994a=a12_0xab99();return a12_0x4e4c=function(_0x4e4ced,_0x121054){_0x4e4ced=_0x4e4ced-0x1a1;let _0x4c68df=_0xab994a[_0x4e4ced];return _0x4c68df;},a12_0x4e4c(_0x18c7c1,_0xb69e37);}const fs=require('fs'),path=require(a12_0x440ce6(0x1c0)),utils=require('./util.js');let projectPath='',vesselPath='',commandArr=[];const fromFileData={},applicationJson={};module[a12_0x440ce6(0x1a1)]=(_0x1ae302,_0x538758)=>{const _0x2bb05f=a12_0x440ce6;commandArr=_0x1ae302['split'](':'),projectPath=path[_0x2bb05f(0x1c1)](_0x2bb05f(0x1ae)),vesselPath=path[_0x2bb05f(0x1c1)]('./vessel/src');let _0x4b0105=vesselPath;_0x538758==='mp'&&(_0x4b0105=vesselPath+_0x2bb05f(0x1be),utils[_0x2bb05f(0x1ab)](vesselPath,[_0x2bb05f(0x1c9)]));const _0x1a9e06=commandArr[0x1],_0x502dd5=JSON[_0x2bb05f(0x1c6)](fs['readFileSync'](projectPath+'/'+_0x1a9e06+_0x2bb05f(0x1a8))[_0x2bb05f(0x1bc)]());TileItems(_0x502dd5['items'],()=>{const _0x5291b3=_0x2bb05f;fromFileData[_0x5291b3(0x1ba)][_0x5291b3(0x1b0)](_0x1e1eb0=>{const _0x4037bc=_0x5291b3,_0x211e1a=_0x1e1eb0[_0x4037bc(0x1c7)][_0x4037bc(0x1ac)](_0x1e1eb0[_0x4037bc(0x1a2)]),_0x2713ec=_0x211e1a[0x1][_0x4037bc(0x1ac)]('/'),_0x1b3356=_0x2713ec[0x1];!applicationJson[_0x1b3356]&&(applicationJson[_0x1b3356]={'routerConfig':[],'routerPath':[]});applicationJson[_0x1b3356][_0x4037bc(0x1c8)][_0x4037bc(0x1b1)](_0x4037bc(0x1b7)+_0x1e1eb0['path']+_0x4037bc(0x1c2)+_0x1e1eb0['file']+_0x4037bc(0x1c3)),applicationJson[_0x1b3356][_0x4037bc(0x1aa)][_0x4037bc(0x1b1)](_0x1e1eb0[_0x4037bc(0x1c0)]);let _0x276872=_0x2713ec[_0x4037bc(0x1b9)]('/');const _0x5c9012=_0x276872[_0x4037bc(0x1ac)]('/');utils[_0x4037bc(0x1ab)](_0x4b0105,_0x5c9012[_0x4037bc(0x1bd)](0x0,_0x5c9012['length']-0x1))['then'](()=>{const _0x1f82b5=_0x4037bc,_0x4d9cd=fs[_0x1f82b5(0x1a6)](_0x1e1eb0[_0x1f82b5(0x1c7)])[_0x1f82b5(0x1bc)]();fs[_0x1f82b5(0x1ca)](vesselPath+'/'+_0x276872,_0x4d9cd);});});});};function a12_0xab99(){const _0x560150=['./project','14214730WPfHBS','forEach','push','8fCmkYG','8558DvLUov','1631511oXppei','327424WfTlMH','10yDqvfS','{\x20path:\x20\x27','DeepScanner','join','router','4407327amzAfr','toString','slice','/application','file','path','resolve','\x27,\x20component:\x20()\x20=>\x20import(\x27','\x27)\x20}','662911PRuQhJ','123vIFoex','parse','pathAdr','routerConfig','application','writeFileSync','exports','region','882372YyfhMW','fileType','concat','readFileSync','length','/setting.json','map','routerPath','CreatePaths','split','from'];a12_0xab99=function(){return _0x560150;};return a12_0xab99();}function TileItems(_0x929091,_0x34ab06){_0x929091['forEach']((_0x15a0f9,_0x398591)=>{const _0x4e8a15=a12_0x4e4c,_0x3ef8d7=_0x15a0f9['region'];_0x15a0f9[_0x4e8a15(0x1ad)][_0x4e8a15(0x1b0)]((_0x536268,_0x12458e)=>{const _0x10be13=_0x4e8a15,_0x110ba2=[];utils[_0x10be13(0x1b8)](projectPath+'/'+_0x3ef8d7+'/'+_0x536268[_0x10be13(0x1bf)],_0x110ba2);const _0x120e86=_0x110ba2[_0x10be13(0x1a9)](_0x1c2fb5=>({'region':_0x3ef8d7,'pathAdr':_0x1c2fb5,..._0x536268}));!fromFileData[_0x536268[_0x10be13(0x1a4)]]?fromFileData[_0x536268[_0x10be13(0x1a4)]]=_0x120e86:fromFileData[_0x536268['fileType']]=fromFileData[_0x536268[_0x10be13(0x1a4)]][_0x10be13(0x1a5)](_0x120e86),_0x398591===_0x929091[_0x10be13(0x1a7)]-0x1&&_0x12458e===_0x15a0f9[_0x10be13(0x1ad)][_0x10be13(0x1a7)]-0x1&&_0x34ab06();});});}
|
package/src/old/cli.pull.js
CHANGED
@@ -1,94 +1 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
const fs = require('fs');
|
4
|
-
const os = require('os');
|
5
|
-
const path = require('path');
|
6
|
-
const utils = require('./util');
|
7
|
-
const request = require('request');
|
8
|
-
const compressing = require('compressing');
|
9
|
-
|
10
|
-
//临时存放目录
|
11
|
-
const GIT_TEMP_DIR = 'jjbAssembly';
|
12
|
-
//GIT仓库
|
13
|
-
const GIT_HOST = 'http://192.168.1.242:10985';
|
14
|
-
//项目列表,后期可存库
|
15
|
-
const CLOUD_PROJECT = {
|
16
|
-
'common': {
|
17
|
-
token: 'G4HJRsHr9D7Ssmixegw2',
|
18
|
-
projectId: 279,
|
19
|
-
localName: 'common'
|
20
|
-
},
|
21
|
-
'react-admin-component': {
|
22
|
-
token: 'FT3pKzxpRynFkmddJ9Bs',
|
23
|
-
projectId: 340,
|
24
|
-
localName: 'components'
|
25
|
-
}
|
26
|
-
};
|
27
|
-
|
28
|
-
module.exports = input => {
|
29
|
-
const dirName = input;
|
30
|
-
const currDir = path.resolve('./');
|
31
|
-
try {
|
32
|
-
if (fs.statSync(currDir + '\\src')) {
|
33
|
-
const srcDir = currDir + '\\src';
|
34
|
-
const cloudObj = CLOUD_PROJECT[ dirName ] || undefined;
|
35
|
-
if (cloudObj) {
|
36
|
-
const tmpDir = os.tmpdir();
|
37
|
-
const dirPath = tmpDir + `/${GIT_TEMP_DIR}/${dirName}.zip`;
|
38
|
-
const dirUnzip = `${tmpDir}/${GIT_TEMP_DIR}/unzip/`;
|
39
|
-
utils.DeleteDirAllFile(`${tmpDir}/${GIT_TEMP_DIR}`, () => {
|
40
|
-
fs.mkdirSync(`${tmpDir}/${GIT_TEMP_DIR}`);
|
41
|
-
let stream = fs.createWriteStream(dirPath);
|
42
|
-
request(`${GIT_HOST}/api/v4/projects/${cloudObj.projectId}/repository/archive.zip?private_token=${cloudObj.token}&ref=master`).pipe(stream)
|
43
|
-
.on('close', () => {
|
44
|
-
fs.mkdirSync(dirUnzip);
|
45
|
-
compressing.zip.uncompress(dirPath, dirUnzip)
|
46
|
-
.then(() => {
|
47
|
-
setTimeout(() => {
|
48
|
-
const srcAll = fs.readdirSync(dirUnzip);
|
49
|
-
srcAll.forEach(dirName => {
|
50
|
-
if (dirName.indexOf('-master-') !== -1) {
|
51
|
-
const nowPath = srcDir + '\\' + cloudObj.localName;
|
52
|
-
utils.DeleteDirAllFile(nowPath, () => {
|
53
|
-
fs.mkdirSync(nowPath);
|
54
|
-
utils.CopyFolder(dirUnzip + dirName, nowPath);
|
55
|
-
setTimeout(() => {
|
56
|
-
const isMutilate = fs.existsSync(srcDir + '\\' + 'application');
|
57
|
-
if (!isMutilate) {
|
58
|
-
const commonToolsPath = srcDir + '\\' + 'common\\tools\\index.js';
|
59
|
-
const commonWebsitePath = srcDir + '\\' + 'common\\website\\index.js';
|
60
|
-
let commonToolsFile = fs.readFileSync(commonToolsPath).toString();
|
61
|
-
let commonWebsiteFile = fs.readFileSync(commonWebsitePath).toString();
|
62
|
-
commonToolsFile = commonToolsFile.replace('return __planA();', 'return process.env;');
|
63
|
-
commonWebsiteFile = commonWebsiteFile.replace(/const\srelation\s=\srequire\(`~\/application\/\${module.code}\/enumerate\/menu`\)\.default;/, "const relation = require('~/enumerate/menu').default;");
|
64
|
-
fs.writeFileSync(commonToolsPath, commonToolsFile);
|
65
|
-
fs.writeFileSync(commonWebsitePath, commonWebsiteFile);
|
66
|
-
fs.writeFileSync(`${srcDir}\\common\\dva\\automatic\\router.js`, fs.readFileSync(`${__dirname}\\cli.dva.router.spa.txt`).toString());
|
67
|
-
fs.writeFileSync(`${srcDir}\\common\\dva\\automatic\\register.js`, fs.readFileSync(`${__dirname}\\cli.dva.register.spa.txt`).toString());
|
68
|
-
} else {
|
69
|
-
fs.exists(srcDir + '\\' + 'common\\dva\\automatic\\index.js', has => {
|
70
|
-
if (has) {
|
71
|
-
fs.readdirSync(srcDir + '\\' + 'common\\dva\\automatic').forEach(p => {
|
72
|
-
fs.unlinkSync(srcDir + '\\' + 'common\\dva\\automatic\\' + p);
|
73
|
-
});
|
74
|
-
fs.rmdirSync(srcDir + '\\' + 'common\\dva\\automatic');
|
75
|
-
}
|
76
|
-
});
|
77
|
-
}
|
78
|
-
}, 1000);
|
79
|
-
});
|
80
|
-
}
|
81
|
-
});
|
82
|
-
console.log(dirName + '-文件下载完毕');
|
83
|
-
}, 2000);
|
84
|
-
});
|
85
|
-
});
|
86
|
-
});
|
87
|
-
} else {
|
88
|
-
console.error('【Error】: 未获取到项目 ' + dirName);
|
89
|
-
}
|
90
|
-
}
|
91
|
-
} catch (e) {
|
92
|
-
console.error('【Error】: 当前目录不存在src子目录,无法完成pull操作。');
|
93
|
-
}
|
94
|
-
};
|
1
|
+
'use strict';const a13_0x5e63d7=a13_0x3cea;(function(_0x1b9563,_0x3c6d62){const _0x2ff3d3=a13_0x3cea,_0x3e3d65=_0x1b9563();while(!![]){try{const _0x15e452=parseInt(_0x2ff3d3(0x20e))/0x1*(-parseInt(_0x2ff3d3(0x20a))/0x2)+-parseInt(_0x2ff3d3(0x200))/0x3*(-parseInt(_0x2ff3d3(0x214))/0x4)+-parseInt(_0x2ff3d3(0x20f))/0x5+-parseInt(_0x2ff3d3(0x1ec))/0x6*(-parseInt(_0x2ff3d3(0x1e7))/0x7)+-parseInt(_0x2ff3d3(0x211))/0x8*(-parseInt(_0x2ff3d3(0x20d))/0x9)+-parseInt(_0x2ff3d3(0x1f2))/0xa+-parseInt(_0x2ff3d3(0x1fe))/0xb*(-parseInt(_0x2ff3d3(0x21f))/0xc);if(_0x15e452===_0x3c6d62)break;else _0x3e3d65['push'](_0x3e3d65['shift']());}catch(_0x33996a){_0x3e3d65['push'](_0x3e3d65['shift']());}}}(a13_0x3ef0,0x3cc5b));const fs=require('fs'),os=require('os'),path=require(a13_0x5e63d7(0x218)),utils=require(a13_0x5e63d7(0x1ee)),request=require(a13_0x5e63d7(0x1fd)),compressing=require(a13_0x5e63d7(0x210)),GIT_TEMP_DIR=a13_0x5e63d7(0x1f5),GIT_HOST=a13_0x5e63d7(0x1fb),CLOUD_PROJECT={'common':{'token':'G4HJRsHr9D7Ssmixegw2','projectId':0x117,'localName':a13_0x5e63d7(0x209)},'react-admin-component':{'token':a13_0x5e63d7(0x1f7),'projectId':0x154,'localName':'components'}};module[a13_0x5e63d7(0x202)]=_0x542146=>{const _0x3d626=a13_0x5e63d7,_0x4c7031=_0x542146,_0x3e43de=path[_0x3d626(0x219)]('./');try{if(fs[_0x3d626(0x21c)](_0x3e43de+_0x3d626(0x207))){const _0x2caa96=_0x3e43de+'\x5csrc',_0x557771=CLOUD_PROJECT[_0x4c7031]||undefined;if(_0x557771){const _0x4a0a4c=os[_0x3d626(0x1e6)](),_0x5abc53=_0x4a0a4c+('/'+GIT_TEMP_DIR+'/'+_0x4c7031+_0x3d626(0x1ea)),_0x37a7cf=_0x4a0a4c+'/'+GIT_TEMP_DIR+_0x3d626(0x1f6);utils[_0x3d626(0x1fa)](_0x4a0a4c+'/'+GIT_TEMP_DIR,()=>{const _0x543438=_0x3d626;fs[_0x543438(0x212)](_0x4a0a4c+'/'+GIT_TEMP_DIR);let _0x34bba=fs[_0x543438(0x203)](_0x5abc53);request(GIT_HOST+'/api/v4/projects/'+_0x557771[_0x543438(0x21b)]+'/repository/archive.zip?private_token='+_0x557771[_0x543438(0x1f9)]+_0x543438(0x204))[_0x543438(0x1f0)](_0x34bba)['on']('close',()=>{const _0x26cbb1=_0x543438;fs[_0x26cbb1(0x212)](_0x37a7cf),compressing[_0x26cbb1(0x1e9)][_0x26cbb1(0x1f8)](_0x5abc53,_0x37a7cf)['then'](()=>{setTimeout(()=>{const _0x597274=a13_0x3cea,_0x4654d0=fs[_0x597274(0x1e8)](_0x37a7cf);_0x4654d0[_0x597274(0x201)](_0x494949=>{const _0x3b59af=_0x597274;if(_0x494949[_0x3b59af(0x216)]('-master-')!==-0x1){const _0x181008=_0x2caa96+'\x5c'+_0x557771[_0x3b59af(0x20b)];utils[_0x3b59af(0x1fa)](_0x181008,()=>{const _0x2febfd=_0x3b59af;fs[_0x2febfd(0x212)](_0x181008),utils[_0x2febfd(0x223)](_0x37a7cf+_0x494949,_0x181008),setTimeout(()=>{const _0x4a6676=_0x2febfd,_0x20e7ec=fs[_0x4a6676(0x1fc)](_0x2caa96+'\x5c'+_0x4a6676(0x1ed));if(!_0x20e7ec){const _0x1e437d=_0x2caa96+'\x5c'+_0x4a6676(0x1e4),_0x468980=_0x2caa96+'\x5c'+_0x4a6676(0x1f1);let _0x51b7f4=fs[_0x4a6676(0x21e)](_0x1e437d)[_0x4a6676(0x220)](),_0x15f350=fs['readFileSync'](_0x468980)['toString']();_0x51b7f4=_0x51b7f4[_0x4a6676(0x206)](_0x4a6676(0x205),_0x4a6676(0x21a)),_0x15f350=_0x15f350[_0x4a6676(0x206)](/const\srelation\s=\srequire\(`~\/application\/\${module.code}\/enumerate\/menu`\)\.default;/,_0x4a6676(0x217)),fs[_0x4a6676(0x222)](_0x1e437d,_0x51b7f4),fs[_0x4a6676(0x222)](_0x468980,_0x15f350),fs['writeFileSync'](_0x2caa96+_0x4a6676(0x213),fs['readFileSync'](__dirname+_0x4a6676(0x1f4))[_0x4a6676(0x220)]()),fs[_0x4a6676(0x222)](_0x2caa96+_0x4a6676(0x215),fs['readFileSync'](__dirname+_0x4a6676(0x1ef))['toString']());}else fs[_0x4a6676(0x1eb)](_0x2caa96+'\x5c'+_0x4a6676(0x21d),_0x402c70=>{const _0x3d99f1=_0x4a6676;_0x402c70&&(fs[_0x3d99f1(0x1e8)](_0x2caa96+'\x5c'+_0x3d99f1(0x221))[_0x3d99f1(0x201)](_0x1d7a3d=>{const _0x3a41dc=_0x3d99f1;fs['unlinkSync'](_0x2caa96+'\x5c'+_0x3a41dc(0x208)+_0x1d7a3d);}),fs[_0x3d99f1(0x1f3)](_0x2caa96+'\x5c'+'common\x5cdva\x5cautomatic'));});},0x3e8);});}}),console[_0x597274(0x20c)](_0x4c7031+_0x597274(0x1ff));},0x7d0);});});});}else console[_0x3d626(0x1e5)]('【Error】:\x20未获取到项目\x20'+_0x4c7031);}}catch(_0x31ffc2){console[_0x3d626(0x1e5)]('【Error】:\x20当前目录不存在src子目录,无法完成pull操作。');}};function a13_0x3cea(_0x3050f6,_0x5a4348){const _0x3ef0c3=a13_0x3ef0();return a13_0x3cea=function(_0x3ceaf0,_0x2f73c4){_0x3ceaf0=_0x3ceaf0-0x1e4;let _0xcb3f28=_0x3ef0c3[_0x3ceaf0];return _0xcb3f28;},a13_0x3cea(_0x3050f6,_0x5a4348);}function a13_0x3ef0(){const _0x36eff9=['readFileSync','12LtVpCI','toString','common\x5cdva\x5cautomatic','writeFileSync','CopyFolder','common\x5ctools\x5cindex.js','error','tmpdir','372421XLTihJ','readdirSync','zip','.zip','exists','36DxhupZ','application','./util','\x5ccli.dva.register.spa.txt','pipe','common\x5cwebsite\x5cindex.js','221330hRDPZW','rmdirSync','\x5ccli.dva.router.spa.txt','jjbAssembly','/unzip/','FT3pKzxpRynFkmddJ9Bs','uncompress','token','DeleteDirAllFile','http://192.168.1.242:10985','existsSync','request','249271SnduQh','-文件下载完毕','3hiHJeP','forEach','exports','createWriteStream','&ref=master','return\x20__planA();','replace','\x5csrc','common\x5cdva\x5cautomatic\x5c','common','2iYAQJN','localName','log','18VVkqXd','226459VZMjZG','2165155QWYhHE','compressing','481904MfdyNc','mkdirSync','\x5ccommon\x5cdva\x5cautomatic\x5crouter.js','1872764mFgsIO','\x5ccommon\x5cdva\x5cautomatic\x5cregister.js','indexOf','const\x20relation\x20=\x20require(\x27~/enumerate/menu\x27).default;','path','resolve','return\x20process.env;','projectId','statSync','common\x5cdva\x5cautomatic\x5cindex.js'];a13_0x3ef0=function(){return _0x36eff9;};return a13_0x3ef0();}
|