@tmsfe/tmskit 0.0.1 → 0.0.5
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 +5 -17
- package/dist/index.cjs.js +263 -215
- package/package.json +10 -25
- package/src/config/constant.js +3 -0
- package/src/index.js +1 -1
- package/src/scripts/create/ask.js +7 -5
- package/src/scripts/create/generator.js +0 -2
- package/src/scripts/create/index.js +13 -6
- package/src/scripts/run/index.js +7 -1
- package/src/scripts/run/install/index.js +39 -0
- package/src/utils/widgets.js +4 -11
- package/src/webpack/plugins/entryExtractPlugin/index.js +0 -1
- package/src/webpack/plugins/px2rpx/index.js +0 -14
package/dist/index.cjs.js
CHANGED
|
@@ -4,22 +4,23 @@ var require$$0 = require('commander');
|
|
|
4
4
|
var require$$1 = require('leven');
|
|
5
5
|
var require$$2 = require('ora');
|
|
6
6
|
var require$$1$1 = require('path');
|
|
7
|
-
var require$$1
|
|
8
|
-
var require$$
|
|
7
|
+
var require$$0$1 = require('fs');
|
|
8
|
+
var require$$0$2 = require('shelljs');
|
|
9
9
|
var require$$6$1 = require('download-git-repo');
|
|
10
|
-
var require$$0$
|
|
11
|
-
var require$$0$
|
|
12
|
-
var require$$1$
|
|
13
|
-
var require$$1$
|
|
14
|
-
var require$$0$
|
|
15
|
-
var require$$0$
|
|
16
|
-
var require$$0$
|
|
10
|
+
var require$$0$3 = require('chalk');
|
|
11
|
+
var require$$0$4 = require('async');
|
|
12
|
+
var require$$1$2 = require('ejs');
|
|
13
|
+
var require$$1$3 = require('inquirer');
|
|
14
|
+
var require$$0$5 = require('metalsmith');
|
|
15
|
+
var require$$0$6 = require('miniprogram-ci');
|
|
16
|
+
var require$$0$7 = require('lodash');
|
|
17
17
|
var require$$7 = require('replace-ext');
|
|
18
|
-
var require$$0$
|
|
19
|
-
var require$$0$
|
|
20
|
-
var require$$0$
|
|
18
|
+
var require$$0$8 = require('webpack-chain');
|
|
19
|
+
var require$$0$9 = require('webpack');
|
|
20
|
+
var require$$0$a = require('webpack/lib/SingleEntryPlugin');
|
|
21
21
|
var require$$3$1 = require('copy-webpack-plugin');
|
|
22
|
-
var require$$1$
|
|
22
|
+
var require$$1$4 = require('semver');
|
|
23
|
+
var require$$3$2 = require('glob-ignore');
|
|
23
24
|
|
|
24
25
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
|
|
25
26
|
|
|
@@ -27,22 +28,23 @@ var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
|
|
|
27
28
|
var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
|
|
28
29
|
var require$$2__default = /*#__PURE__*/_interopDefaultLegacy(require$$2);
|
|
29
30
|
var require$$1__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$1$1);
|
|
30
|
-
var require$$1__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$1$2);
|
|
31
|
-
var require$$5__default = /*#__PURE__*/_interopDefaultLegacy(require$$5);
|
|
32
|
-
var require$$6__default = /*#__PURE__*/_interopDefaultLegacy(require$$6$1);
|
|
33
31
|
var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
|
|
34
32
|
var require$$0__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$0$2);
|
|
35
|
-
var require$$
|
|
36
|
-
var require$$1__default$4 = /*#__PURE__*/_interopDefaultLegacy(require$$1$4);
|
|
33
|
+
var require$$6__default = /*#__PURE__*/_interopDefaultLegacy(require$$6$1);
|
|
37
34
|
var require$$0__default$3 = /*#__PURE__*/_interopDefaultLegacy(require$$0$3);
|
|
38
35
|
var require$$0__default$4 = /*#__PURE__*/_interopDefaultLegacy(require$$0$4);
|
|
36
|
+
var require$$1__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$1$2);
|
|
37
|
+
var require$$1__default$3 = /*#__PURE__*/_interopDefaultLegacy(require$$1$3);
|
|
39
38
|
var require$$0__default$5 = /*#__PURE__*/_interopDefaultLegacy(require$$0$5);
|
|
40
|
-
var require$$7__default = /*#__PURE__*/_interopDefaultLegacy(require$$7);
|
|
41
39
|
var require$$0__default$6 = /*#__PURE__*/_interopDefaultLegacy(require$$0$6);
|
|
42
40
|
var require$$0__default$7 = /*#__PURE__*/_interopDefaultLegacy(require$$0$7);
|
|
41
|
+
var require$$7__default = /*#__PURE__*/_interopDefaultLegacy(require$$7);
|
|
43
42
|
var require$$0__default$8 = /*#__PURE__*/_interopDefaultLegacy(require$$0$8);
|
|
43
|
+
var require$$0__default$9 = /*#__PURE__*/_interopDefaultLegacy(require$$0$9);
|
|
44
|
+
var require$$0__default$a = /*#__PURE__*/_interopDefaultLegacy(require$$0$a);
|
|
44
45
|
var require$$3__default = /*#__PURE__*/_interopDefaultLegacy(require$$3$1);
|
|
45
|
-
var require$$1__default$
|
|
46
|
+
var require$$1__default$4 = /*#__PURE__*/_interopDefaultLegacy(require$$1$4);
|
|
47
|
+
var require$$3__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$3$2);
|
|
46
48
|
|
|
47
49
|
function getAugmentedNamespace(n) {
|
|
48
50
|
if (n.__esModule) return n;
|
|
@@ -64,19 +66,19 @@ var src$1 = {};
|
|
|
64
66
|
const program$1 = require$$0__default;
|
|
65
67
|
const leven = require$$1__default;
|
|
66
68
|
const ora = require$$2__default;
|
|
67
|
-
const path$
|
|
68
|
-
const fs$
|
|
69
|
-
const shelljs$
|
|
69
|
+
const path$7 = require$$1__default$1;
|
|
70
|
+
const fs$b = require$$0__default$1;
|
|
71
|
+
const shelljs$6 = require$$0__default$2;
|
|
70
72
|
const download = require$$6__default;
|
|
71
|
-
const chalk$3 = require$$0__default$
|
|
73
|
+
const chalk$3 = require$$0__default$3;
|
|
72
74
|
const shelljsOptons = {
|
|
73
75
|
slient: true
|
|
74
76
|
}; // 获取当前目录
|
|
75
77
|
|
|
76
78
|
const cwd = process.cwd();
|
|
77
79
|
|
|
78
|
-
function resolve$
|
|
79
|
-
return path$
|
|
80
|
+
function resolve$c(...args) {
|
|
81
|
+
return path$7.resolve(cwd, ...args);
|
|
80
82
|
}
|
|
81
83
|
/**
|
|
82
84
|
* 封装logs
|
|
@@ -145,11 +147,11 @@ function downloadRepo(dest, downloadOptions = {
|
|
|
145
147
|
branch
|
|
146
148
|
} = downloadOptions;
|
|
147
149
|
|
|
148
|
-
if (fs$
|
|
149
|
-
shelljs$
|
|
150
|
+
if (fs$b.existsSync(dest)) {
|
|
151
|
+
shelljs$6.rm('-rf', dest);
|
|
150
152
|
}
|
|
151
153
|
|
|
152
|
-
shelljs$
|
|
154
|
+
shelljs$6.mkdir('-p', dest);
|
|
153
155
|
return new Promise(resolve => {
|
|
154
156
|
download(`${repoUrl}#${branch}`, dest, {
|
|
155
157
|
clone: true
|
|
@@ -175,23 +177,17 @@ function downloadRepo(dest, downloadOptions = {
|
|
|
175
177
|
|
|
176
178
|
function downloadRepoForGit$2(url, dest, branch) {
|
|
177
179
|
const cwd = process.cwd();
|
|
178
|
-
return new Promise(
|
|
180
|
+
return new Promise(resolve => {
|
|
179
181
|
// 如果目标目录不存在
|
|
180
|
-
if (fs$
|
|
181
|
-
shelljs$
|
|
182
|
+
if (fs$b.existsSync(dest)) {
|
|
183
|
+
shelljs$6.rm('-rf', path$7.join(dest));
|
|
182
184
|
}
|
|
183
185
|
|
|
184
|
-
shelljs$
|
|
185
|
-
shelljs$
|
|
186
|
-
shelljs$
|
|
187
|
-
shelljs$
|
|
188
|
-
|
|
189
|
-
shelljs$5.cd(cwd);
|
|
190
|
-
resolve();
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
reject();
|
|
194
|
-
});
|
|
186
|
+
shelljs$6.mkdir('-p', dest);
|
|
187
|
+
shelljs$6.cd(dest);
|
|
188
|
+
shelljs$6.exec(`git clone ${url} ${dest} --branch ${branch} --depth 1`, shelljsOptons);
|
|
189
|
+
shelljs$6.cd(cwd);
|
|
190
|
+
resolve();
|
|
195
191
|
});
|
|
196
192
|
}
|
|
197
193
|
/**
|
|
@@ -211,7 +207,7 @@ const cost = start => Date.now() - start;
|
|
|
211
207
|
*/
|
|
212
208
|
|
|
213
209
|
|
|
214
|
-
function createTask$
|
|
210
|
+
function createTask$5(task, startText, endText) {
|
|
215
211
|
return async (...args) => {
|
|
216
212
|
const start = Date.now();
|
|
217
213
|
let result;
|
|
@@ -241,29 +237,29 @@ function createTask$4(task, startText, endText) {
|
|
|
241
237
|
const camelize = str => str.replace(/-(\w)/g, (a, c) => c ? c.toUpperCase() : '');
|
|
242
238
|
|
|
243
239
|
var widgets = {
|
|
244
|
-
resolve: resolve$
|
|
240
|
+
resolve: resolve$c,
|
|
245
241
|
log: log$3,
|
|
246
242
|
isObject: isObject$2,
|
|
247
243
|
isArray: isArray$1,
|
|
248
|
-
createTask: createTask$
|
|
244
|
+
createTask: createTask$5,
|
|
249
245
|
downloadRepo,
|
|
250
246
|
downloadRepoForGit: downloadRepoForGit$2,
|
|
251
247
|
suggestCommands: suggestCommands$1,
|
|
252
248
|
camelize
|
|
253
249
|
};
|
|
254
250
|
|
|
255
|
-
const path$
|
|
251
|
+
const path$6 = require('path'); // 用户目录
|
|
256
252
|
|
|
257
253
|
|
|
258
254
|
const HOME_DIR = process.env.HOME; // 所有文件的缓存目录
|
|
259
255
|
|
|
260
|
-
const CACHE_DIR$1 = path$
|
|
256
|
+
const CACHE_DIR$1 = path$6.resolve(HOME_DIR, '.tmskit'); // 脚手架模板代码所在目录
|
|
261
257
|
|
|
262
|
-
const TEMPLATE_DIR$1 = path$
|
|
258
|
+
const TEMPLATE_DIR$1 = path$6.resolve(CACHE_DIR$1, 'template'); // 第三方模块源码存放的临时缓存目录
|
|
263
259
|
|
|
264
|
-
const MODULE_CODE_DIR$1 = path$
|
|
260
|
+
const MODULE_CODE_DIR$1 = path$6.resolve(CACHE_DIR$1, 'modules_code'); // 脚手架模板代码的具体路径
|
|
265
261
|
|
|
266
|
-
const TEMPLATE_PATH$1 = path$
|
|
262
|
+
const TEMPLATE_PATH$1 = path$6.resolve(TEMPLATE_DIR$1, 'tools/tms-cli-template'); // 脚手架的名称
|
|
267
263
|
|
|
268
264
|
const TMS_NAME$2 = 'tmskit'; // 脚手架的配置名称
|
|
269
265
|
|
|
@@ -274,7 +270,7 @@ const DEFAULT_MODULE_DIR$5 = 'modules'; // 模块的配置文件的名称
|
|
|
274
270
|
const MODULE_CONFIG_FILENAME$2 = 'module.config.json'; // 默认的webpack entry
|
|
275
271
|
|
|
276
272
|
const DEFAULT_WEBPACK_ENTRY$2 = {
|
|
277
|
-
app: path$
|
|
273
|
+
app: path$6.resolve(process.cwd(), 'app')
|
|
278
274
|
}; // 默认从源码拷贝到编译后的配置
|
|
279
275
|
|
|
280
276
|
const DEFAULT_COPY_CONFIG$3 = ['package.json', 'app.js', 'app.ts', 'app.less', 'app.wxss', 'sitemap.json']; // 开发模式
|
|
@@ -288,6 +284,7 @@ const ENV = {
|
|
|
288
284
|
dev: 'development',
|
|
289
285
|
prod: 'production'
|
|
290
286
|
};
|
|
287
|
+
const TEMPLATE_TKIT_DIR$2 = '_tmskit';
|
|
291
288
|
|
|
292
289
|
var constant = /*#__PURE__*/Object.freeze({
|
|
293
290
|
__proto__: null,
|
|
@@ -303,19 +300,20 @@ var constant = /*#__PURE__*/Object.freeze({
|
|
|
303
300
|
DEFAULT_COPY_CONFIG: DEFAULT_COPY_CONFIG$3,
|
|
304
301
|
MODULE_CODE_DIR: MODULE_CODE_DIR$1,
|
|
305
302
|
MODE: MODE$1,
|
|
306
|
-
ENV: ENV
|
|
303
|
+
ENV: ENV,
|
|
304
|
+
TEMPLATE_TKIT_DIR: TEMPLATE_TKIT_DIR$2
|
|
307
305
|
});
|
|
308
306
|
|
|
309
307
|
var require$$3 = /*@__PURE__*/getAugmentedNamespace(constant);
|
|
310
308
|
|
|
311
|
-
const fs$
|
|
309
|
+
const fs$a = require$$0__default$1;
|
|
312
310
|
/**
|
|
313
311
|
* 判断目录是否为空
|
|
314
312
|
* @param {string} dirname 目录名
|
|
315
313
|
* @returns
|
|
316
314
|
*/
|
|
317
315
|
|
|
318
|
-
const isDirEmpty = dirname => fs$
|
|
316
|
+
const isDirEmpty = dirname => fs$a.promises.readdir(dirname).then(files => files.length === 0);
|
|
319
317
|
/**
|
|
320
318
|
* 确保目录存在,不存在就创建一个
|
|
321
319
|
* @param {*} dirname 目录名
|
|
@@ -323,8 +321,8 @@ const isDirEmpty = dirname => fs$b.promises.readdir(dirname).then(files => files
|
|
|
323
321
|
|
|
324
322
|
|
|
325
323
|
const ensureDirExist = dirname => {
|
|
326
|
-
if (!fs$
|
|
327
|
-
fs$
|
|
324
|
+
if (!fs$a.existsSync(dirname)) {
|
|
325
|
+
fs$a.mkdirSync(dirname, {
|
|
328
326
|
recursive: true
|
|
329
327
|
});
|
|
330
328
|
}
|
|
@@ -335,7 +333,7 @@ var io$2 = {
|
|
|
335
333
|
ensureDirExist
|
|
336
334
|
};
|
|
337
335
|
|
|
338
|
-
const chalk$2 = require$$0__default$
|
|
336
|
+
const chalk$2 = require$$0__default$3;
|
|
339
337
|
/**
|
|
340
338
|
* 本文件提供无依赖的在终端打印彩色文字的方法。
|
|
341
339
|
*/
|
|
@@ -386,8 +384,8 @@ var log$2 = {
|
|
|
386
384
|
warn
|
|
387
385
|
};
|
|
388
386
|
|
|
389
|
-
const async = require$$0__default$
|
|
390
|
-
const ejs = require$$1__default$
|
|
387
|
+
const async = require$$0__default$4;
|
|
388
|
+
const ejs = require$$1__default$2;
|
|
391
389
|
|
|
392
390
|
const render$1 = (files, metalsmith, next) => {
|
|
393
391
|
const keys = Object.keys(files);
|
|
@@ -406,23 +404,29 @@ const render$1 = (files, metalsmith, next) => {
|
|
|
406
404
|
|
|
407
405
|
var render_1 = render$1;
|
|
408
406
|
|
|
409
|
-
const fs$
|
|
410
|
-
const inquirer = require$$1__default$
|
|
407
|
+
const fs$9 = require$$0__default$1;
|
|
408
|
+
const inquirer = require$$1__default$3;
|
|
409
|
+
const {
|
|
410
|
+
resolve: resolve$b
|
|
411
|
+
} = widgets;
|
|
412
|
+
const {
|
|
413
|
+
TEMPLATE_TKIT_DIR: TEMPLATE_TKIT_DIR$1
|
|
414
|
+
} = require$$3;
|
|
411
415
|
/**
|
|
412
416
|
* 获取模板内的问题
|
|
413
|
-
* @param {string}
|
|
417
|
+
* @param {string} dir questions.json所在的目录
|
|
414
418
|
* @returns {Array} inquirer 问题数组
|
|
415
419
|
*/
|
|
416
420
|
|
|
417
|
-
const parseTemplateQuestions =
|
|
421
|
+
const parseTemplateQuestions = dir => {
|
|
418
422
|
let prompts = [];
|
|
419
423
|
|
|
420
|
-
if (!fs$
|
|
424
|
+
if (!fs$9.existsSync(`${dir}/questions.json`)) {
|
|
421
425
|
return prompts;
|
|
422
426
|
}
|
|
423
427
|
|
|
424
428
|
try {
|
|
425
|
-
const json = JSON.parse(fs$
|
|
429
|
+
const json = JSON.parse(fs$9.readFileSync(`${dir}/questions.json`));
|
|
426
430
|
|
|
427
431
|
if (Array.isArray(json) && json.length > 0) {
|
|
428
432
|
json.forEach((item, index) => {
|
|
@@ -455,7 +459,7 @@ const isQuestionType = result => {
|
|
|
455
459
|
};
|
|
456
460
|
|
|
457
461
|
const ask$1 = templateDir => (files, metalsmith, next) => {
|
|
458
|
-
const prompts = parseTemplateQuestions(templateDir);
|
|
462
|
+
const prompts = parseTemplateQuestions(resolve$b(templateDir, TEMPLATE_TKIT_DIR$1));
|
|
459
463
|
const metadata = metalsmith.metadata();
|
|
460
464
|
const filteredPrompts = prompts.filter(prompt => {
|
|
461
465
|
if (metadata[prompt.name] && `${metadata[prompt.name]}`.trim() !== '') {
|
|
@@ -480,8 +484,7 @@ var ask_1 = ask$1;
|
|
|
480
484
|
const FILES_TO_IGNORE$1 = ['node_modules'];
|
|
481
485
|
var ignoreFiles = FILES_TO_IGNORE$1;
|
|
482
486
|
|
|
483
|
-
const Metalsmith = require$$0__default$
|
|
484
|
-
const fs$9 = require$$1__default$2;
|
|
487
|
+
const Metalsmith = require$$0__default$5;
|
|
485
488
|
const render = render_1;
|
|
486
489
|
const ask = ask_1;
|
|
487
490
|
const FILES_TO_IGNORE = ignoreFiles;
|
|
@@ -491,7 +494,6 @@ const generator$1 = (buildDir, distDir, preMetadata) => new Promise((resolve, re
|
|
|
491
494
|
if (err) {
|
|
492
495
|
reject(err);
|
|
493
496
|
} else {
|
|
494
|
-
fs$9.unlinkSync(`${distDir}/questions.json`);
|
|
495
497
|
resolve('finish');
|
|
496
498
|
}
|
|
497
499
|
});
|
|
@@ -499,17 +501,18 @@ const generator$1 = (buildDir, distDir, preMetadata) => new Promise((resolve, re
|
|
|
499
501
|
|
|
500
502
|
var generator_1 = generator$1;
|
|
501
503
|
|
|
502
|
-
const path$
|
|
503
|
-
const fs$8 = require$$
|
|
504
|
-
const shelljs$
|
|
504
|
+
const path$5 = require$$1__default$1;
|
|
505
|
+
const fs$8 = require$$0__default$1;
|
|
506
|
+
const shelljs$5 = require$$0__default$2;
|
|
505
507
|
const {
|
|
506
508
|
TEMPLATE_DIR,
|
|
507
|
-
TEMPLATE_PATH
|
|
509
|
+
TEMPLATE_PATH,
|
|
510
|
+
TEMPLATE_TKIT_DIR
|
|
508
511
|
} = require$$3;
|
|
509
512
|
const {
|
|
510
513
|
downloadRepoForGit: downloadRepoForGit$1,
|
|
511
|
-
createTask: createTask$
|
|
512
|
-
resolve: resolve$
|
|
514
|
+
createTask: createTask$4,
|
|
515
|
+
resolve: resolve$a
|
|
513
516
|
} = widgets;
|
|
514
517
|
const io$1 = io$2;
|
|
515
518
|
const {
|
|
@@ -531,7 +534,7 @@ async function createAppDir(targetDir) {
|
|
|
531
534
|
process.exit(1);
|
|
532
535
|
}
|
|
533
536
|
} else {
|
|
534
|
-
shelljs$
|
|
537
|
+
shelljs$5.mkdir('-p', targetDir);
|
|
535
538
|
}
|
|
536
539
|
}
|
|
537
540
|
/**
|
|
@@ -543,24 +546,36 @@ async function createAppDir(targetDir) {
|
|
|
543
546
|
|
|
544
547
|
async function create(appName) {
|
|
545
548
|
const cwd = process.cwd();
|
|
546
|
-
const targetDir = path$
|
|
549
|
+
const targetDir = path$5.resolve(cwd, appName);
|
|
547
550
|
const appType = 'mp';
|
|
548
|
-
createAppDir(targetDir); // 创建缓存目录
|
|
551
|
+
await createAppDir(targetDir); // 创建缓存目录
|
|
549
552
|
|
|
550
553
|
io$1.ensureDirExist(TEMPLATE_DIR); // 拉取git模板
|
|
551
554
|
|
|
552
|
-
await createTask$
|
|
555
|
+
await createTask$4(downloadRepoForGit$1, '拉取模板仓库', '拉取模板仓库完成')('https://git.woa.com/tmsfe/tms-frontend.git', TEMPLATE_DIR, 'master'); // 生成模板(1. 询问问题, 2. ejs生成模板 3.生成到目标目录)
|
|
553
556
|
|
|
554
|
-
generator(path$
|
|
557
|
+
generator(path$5.join(TEMPLATE_PATH, appType), targetDir, {
|
|
555
558
|
appName,
|
|
556
559
|
appType
|
|
557
560
|
}).then(() => {
|
|
558
|
-
|
|
559
|
-
shelljs$4.cd(appName); // 初始化构件主包的代码, 让用户打开项目可以跑起来
|
|
561
|
+
shelljs$5.cd(appName);
|
|
560
562
|
|
|
561
|
-
|
|
562
|
-
|
|
563
|
+
const hooks = require(resolve$a(appName, TEMPLATE_TKIT_DIR, 'hooks.js'));
|
|
564
|
+
|
|
565
|
+
if (hooks.afterCreate) {
|
|
566
|
+
hooks.afterCreate.forEach(item => {
|
|
567
|
+
if (typeof item === 'function') {
|
|
568
|
+
item.call(null, shelljs$5, {
|
|
569
|
+
appName
|
|
570
|
+
});
|
|
571
|
+
} else {
|
|
572
|
+
shelljs$5.exec(item);
|
|
573
|
+
}
|
|
574
|
+
});
|
|
563
575
|
}
|
|
576
|
+
|
|
577
|
+
shelljs$5.rm('-rf', resolve$a(appName, TEMPLATE_TKIT_DIR));
|
|
578
|
+
succeed('项目创建完成.');
|
|
564
579
|
}).catch(err => {
|
|
565
580
|
fail$9(err.message);
|
|
566
581
|
console.log('详细的错误信息:', err);
|
|
@@ -569,7 +584,7 @@ async function create(appName) {
|
|
|
569
584
|
|
|
570
585
|
var create_1 = create;
|
|
571
586
|
|
|
572
|
-
const fs$7 = require$$
|
|
587
|
+
const fs$7 = require$$0__default$1;
|
|
573
588
|
const {
|
|
574
589
|
DEFAULT_MODULE_DIR: DEFAULT_MODULE_DIR$4,
|
|
575
590
|
MODULE_CONFIG_FILENAME: MODULE_CONFIG_FILENAME$1
|
|
@@ -578,7 +593,7 @@ const {
|
|
|
578
593
|
fail: fail$8
|
|
579
594
|
} = log$2;
|
|
580
595
|
const {
|
|
581
|
-
resolve: resolve$
|
|
596
|
+
resolve: resolve$9,
|
|
582
597
|
isObject: isObject$1,
|
|
583
598
|
isArray
|
|
584
599
|
} = widgets;
|
|
@@ -627,7 +642,7 @@ function getLocalModuleConfig(modules = [], appName, moduleDir, moduleConfigFile
|
|
|
627
642
|
modules.forEach(({
|
|
628
643
|
path
|
|
629
644
|
}) => {
|
|
630
|
-
const moduleConfigPath = resolve$
|
|
645
|
+
const moduleConfigPath = resolve$9(path, moduleConfigFilename);
|
|
631
646
|
|
|
632
647
|
if (fs$7.existsSync(moduleConfigPath)) {
|
|
633
648
|
const content = fs$7.readFileSync(moduleConfigPath, 'utf-8');
|
|
@@ -721,12 +736,12 @@ function buildOutputAppJson$2(tmsConfig, modules) {
|
|
|
721
736
|
// 获取当前 modules 下的所有子模块的配置内容
|
|
722
737
|
const modulesConfig = getLocalModuleConfig(modules, tmsConfig.appName, DEFAULT_MODULE_DIR$4, MODULE_CONFIG_FILENAME$1); // 获取app.json的配置
|
|
723
738
|
|
|
724
|
-
const appJson = getAppJsonContent(resolve$
|
|
739
|
+
const appJson = getAppJsonContent(resolve$9('./app.json')); // 更新app.json中的subpackages
|
|
725
740
|
|
|
726
741
|
updateSubpackages(appJson, modulesConfig); // 更新主包,需在subpackages处理完成后执行, pages/
|
|
727
742
|
|
|
728
743
|
updateMainPackages(appJson, tmsConfig.mainPackages);
|
|
729
|
-
fs$7.writeFileSync(resolve$
|
|
744
|
+
fs$7.writeFileSync(resolve$9(`${tmsConfig.webpack.outputDir}/app.json`), JSON.stringify(appJson, null, 2), 'utf8');
|
|
730
745
|
return appJson;
|
|
731
746
|
}
|
|
732
747
|
|
|
@@ -738,9 +753,9 @@ var buildAppJson = {
|
|
|
738
753
|
/**
|
|
739
754
|
* 本文件主要负责项目或者分包依赖的npm的安装
|
|
740
755
|
*/
|
|
741
|
-
const fs$6 = require$$
|
|
742
|
-
const path$
|
|
743
|
-
const shell = require$$
|
|
756
|
+
const fs$6 = require$$0__default$1;
|
|
757
|
+
const path$4 = require$$1__default$1;
|
|
758
|
+
const shell = require$$0__default$2;
|
|
744
759
|
const LOG = log$2;
|
|
745
760
|
const dirpath = process.cwd(); // 项目根目录
|
|
746
761
|
|
|
@@ -785,7 +800,7 @@ const getNpmCache = function (targetDir, cacheDir) {
|
|
|
785
800
|
const npmInstallAll$1 = async (modules, contextDir, cacheDir) => {
|
|
786
801
|
const packageJsonFiles = await findAllPackageJson$1(modules, contextDir);
|
|
787
802
|
await Promise.all(packageJsonFiles.map(file => new Promise(resolve => {
|
|
788
|
-
const dir = path$
|
|
803
|
+
const dir = path$4.dirname(file);
|
|
789
804
|
shell.cd(dir);
|
|
790
805
|
|
|
791
806
|
if (!fs$6.existsSync(`${dir}/node_modules`)) {
|
|
@@ -833,7 +848,7 @@ const findFilesByFilter = (startPath, filter) => {
|
|
|
833
848
|
|
|
834
849
|
const files = fs$6.readdirSync(startPath);
|
|
835
850
|
files.forEach(file => {
|
|
836
|
-
const filename = path$
|
|
851
|
+
const filename = path$4.join(startPath, file);
|
|
837
852
|
const stat = fs$6.lstatSync(filename); // 当前文件是文件夹类型,继续递归
|
|
838
853
|
|
|
839
854
|
if (stat.isDirectory()) {
|
|
@@ -860,10 +875,10 @@ const findAllPackageJson$1 = (subRoots = [], contextDir) => {
|
|
|
860
875
|
const packageJsonName = 'package.json'; // 查找文件名
|
|
861
876
|
|
|
862
877
|
const cwd = contextDir || dirpath;
|
|
863
|
-
const result = [path$
|
|
878
|
+
const result = [path$4.join(cwd, packageJsonName)]; // 默认填充根目录下的package.json
|
|
864
879
|
|
|
865
880
|
subRoots.forEach(subRoot => {
|
|
866
|
-
const toppath = path$
|
|
881
|
+
const toppath = path$4.join(cwd, subRoot.root); // 从该目录开始查找package.json文件
|
|
867
882
|
|
|
868
883
|
const list = findFilesByFilter(toppath, packageJsonName);
|
|
869
884
|
result.push(...list);
|
|
@@ -877,8 +892,8 @@ var npmUtils = {
|
|
|
877
892
|
};
|
|
878
893
|
|
|
879
894
|
/* eslint-disable require-jsdoc */
|
|
880
|
-
const ci = require$$0__default$
|
|
881
|
-
const path$
|
|
895
|
+
const ci = require$$0__default$6;
|
|
896
|
+
const path$3 = require$$1__default$1;
|
|
882
897
|
/**
|
|
883
898
|
* 获取小程序ci的Project对象
|
|
884
899
|
* @returns {Object} 小程序ci对象
|
|
@@ -892,7 +907,7 @@ const getMpCi = ({
|
|
|
892
907
|
}) => {
|
|
893
908
|
var _cfgJsonContent$packO;
|
|
894
909
|
|
|
895
|
-
const cfgJsonContent = require(path$
|
|
910
|
+
const cfgJsonContent = require(path$3.join(projectPath, 'project.config.json'));
|
|
896
911
|
|
|
897
912
|
const ignores = (cfgJsonContent === null || cfgJsonContent === void 0 ? void 0 : (_cfgJsonContent$packO = cfgJsonContent.packOptions) === null || _cfgJsonContent$packO === void 0 ? void 0 : _cfgJsonContent$packO.ignore.map(({
|
|
898
913
|
value
|
|
@@ -934,7 +949,7 @@ const formatPackNpmWarning = warning => {
|
|
|
934
949
|
*/
|
|
935
950
|
|
|
936
951
|
|
|
937
|
-
const buildMpNpm$
|
|
952
|
+
const buildMpNpm$2 = async ({
|
|
938
953
|
appId,
|
|
939
954
|
projectPath,
|
|
940
955
|
privateKey
|
|
@@ -955,7 +970,7 @@ const buildMpNpm$1 = async ({
|
|
|
955
970
|
};
|
|
956
971
|
|
|
957
972
|
var mpCiUtils = {
|
|
958
|
-
buildMpNpm: buildMpNpm$
|
|
973
|
+
buildMpNpm: buildMpNpm$2
|
|
959
974
|
};
|
|
960
975
|
|
|
961
976
|
class Globale {
|
|
@@ -993,19 +1008,19 @@ var global = {
|
|
|
993
1008
|
getGlobalInstance: getGlobalInstance$1
|
|
994
1009
|
};
|
|
995
1010
|
|
|
996
|
-
const MetalSmith = require$$0__default$
|
|
1011
|
+
const MetalSmith = require$$0__default$5;
|
|
997
1012
|
const {
|
|
998
1013
|
getGlobalInstance
|
|
999
1014
|
} = global;
|
|
1000
1015
|
const {
|
|
1001
1016
|
downloadRepoForGit,
|
|
1002
|
-
resolve: resolve$
|
|
1017
|
+
resolve: resolve$8
|
|
1003
1018
|
} = widgets;
|
|
1004
1019
|
const {
|
|
1005
1020
|
fail: fail$7
|
|
1006
1021
|
} = log$2;
|
|
1007
|
-
const fs$5 = require$$
|
|
1008
|
-
const shelljs$
|
|
1022
|
+
const fs$5 = require$$0__default$1;
|
|
1023
|
+
const shelljs$4 = require$$0__default$2;
|
|
1009
1024
|
/**
|
|
1010
1025
|
* 对克隆下来的模块进行相应的文件处理操作,比如收集处理模块信息,进行信息缓存等操作
|
|
1011
1026
|
* @param { string } sourceDir 缓存文件夹
|
|
@@ -1062,9 +1077,9 @@ async function downLoadAndMoveModule(sourceDir, targetDir, moduleInfo) {
|
|
|
1062
1077
|
path
|
|
1063
1078
|
} = moduleInfo; // 源码临时存在的源目录
|
|
1064
1079
|
|
|
1065
|
-
let sourcePath = resolve$
|
|
1080
|
+
let sourcePath = resolve$8(sourceDir, path); // 源码要放到目标目录
|
|
1066
1081
|
|
|
1067
|
-
const targetPath = resolve$
|
|
1082
|
+
const targetPath = resolve$8(targetDir, path); // 设置模块的构建分支
|
|
1068
1083
|
|
|
1069
1084
|
const cloneBranch = buildGitTag && typeof buildGitTag === 'string' ? buildGitTag : 'master'; // 检查缓存中有没有
|
|
1070
1085
|
|
|
@@ -1080,7 +1095,7 @@ async function downLoadAndMoveModule(sourceDir, targetDir, moduleInfo) {
|
|
|
1080
1095
|
}
|
|
1081
1096
|
|
|
1082
1097
|
if (fs$5.existsSync(targetPath)) {
|
|
1083
|
-
shelljs$
|
|
1098
|
+
shelljs$4.rm('-rf', targetPath);
|
|
1084
1099
|
}
|
|
1085
1100
|
|
|
1086
1101
|
await moveFile(sourcePath, targetPath, ['node_modules', '.git']);
|
|
@@ -1115,15 +1130,15 @@ var defaultTmsConfig$1 = {
|
|
|
1115
1130
|
}
|
|
1116
1131
|
};
|
|
1117
1132
|
|
|
1118
|
-
const loadash = require$$0__default$
|
|
1119
|
-
const fs$4 = require$$
|
|
1133
|
+
const loadash = require$$0__default$7;
|
|
1134
|
+
const fs$4 = require$$0__default$1;
|
|
1120
1135
|
const {
|
|
1121
1136
|
TMS_NAME: TMS_NAME$1,
|
|
1122
1137
|
TMS_CONFIG_FILENAME,
|
|
1123
1138
|
MODULE_CONFIG_FILENAME
|
|
1124
1139
|
} = require$$3;
|
|
1125
1140
|
const {
|
|
1126
|
-
resolve: resolve$
|
|
1141
|
+
resolve: resolve$7,
|
|
1127
1142
|
isObject
|
|
1128
1143
|
} = widgets;
|
|
1129
1144
|
const {
|
|
@@ -1139,7 +1154,7 @@ const {
|
|
|
1139
1154
|
*/
|
|
1140
1155
|
|
|
1141
1156
|
const readTmsConfig$1 = function (env) {
|
|
1142
|
-
const tmsConfigPath = resolve$
|
|
1157
|
+
const tmsConfigPath = resolve$7(TMS_CONFIG_FILENAME);
|
|
1143
1158
|
|
|
1144
1159
|
if (!fs$4.existsSync(tmsConfigPath)) {
|
|
1145
1160
|
fail$6('当前执行目录没有tms.config.js的配置项,请进行配置');
|
|
@@ -1192,7 +1207,7 @@ const tmsModulesMergeLocalModuleCfg$3 = (modules, appName, moduleDir) => {
|
|
|
1192
1207
|
path: relativePath,
|
|
1193
1208
|
name: moduleName
|
|
1194
1209
|
}, moduleIndex) => {
|
|
1195
|
-
const moduleConfigPath = resolve$
|
|
1210
|
+
const moduleConfigPath = resolve$7(relativePath, MODULE_CONFIG_FILENAME);
|
|
1196
1211
|
|
|
1197
1212
|
if (fs$4.existsSync(moduleConfigPath)) {
|
|
1198
1213
|
let moduleConfigContent = fs$4.readFileSync(moduleConfigPath, 'utf-8');
|
|
@@ -1221,12 +1236,12 @@ var tkitUtils = {
|
|
|
1221
1236
|
tmsModulesMergeLocalModuleCfg: tmsModulesMergeLocalModuleCfg$3
|
|
1222
1237
|
};
|
|
1223
1238
|
|
|
1224
|
-
const shelljs$
|
|
1225
|
-
const fs$3 = require$$
|
|
1239
|
+
const shelljs$3 = require$$0__default$2;
|
|
1240
|
+
const fs$3 = require$$0__default$1;
|
|
1226
1241
|
const io = io$2;
|
|
1227
1242
|
const {
|
|
1228
|
-
resolve: resolve$
|
|
1229
|
-
createTask: createTask$
|
|
1243
|
+
resolve: resolve$6,
|
|
1244
|
+
createTask: createTask$3
|
|
1230
1245
|
} = widgets;
|
|
1231
1246
|
const {
|
|
1232
1247
|
buildOutputAppJson: buildOutputAppJson$1
|
|
@@ -1235,7 +1250,7 @@ const {
|
|
|
1235
1250
|
npmInstallAll
|
|
1236
1251
|
} = npmUtils;
|
|
1237
1252
|
const {
|
|
1238
|
-
buildMpNpm
|
|
1253
|
+
buildMpNpm: buildMpNpm$1
|
|
1239
1254
|
} = mpCiUtils;
|
|
1240
1255
|
const {
|
|
1241
1256
|
MODULE_CODE_DIR,
|
|
@@ -1261,54 +1276,54 @@ const {
|
|
|
1261
1276
|
*/
|
|
1262
1277
|
|
|
1263
1278
|
const cpFilesToOutput = function (tmsConfig, targetModules, defaultFiles) {
|
|
1264
|
-
const outputDir = resolve$
|
|
1279
|
+
const outputDir = resolve$6(tmsConfig.webpack.outputDir);
|
|
1265
1280
|
io.ensureDirExist(outputDir);
|
|
1266
1281
|
defaultFiles.forEach(item => {
|
|
1267
|
-
if (fs$3.existsSync(resolve$
|
|
1268
|
-
shelljs$
|
|
1282
|
+
if (fs$3.existsSync(resolve$6(item))) {
|
|
1283
|
+
shelljs$3.cp('-rf', resolve$6(item), resolve$6(tmsConfig.webpack.outputDir, item));
|
|
1269
1284
|
}
|
|
1270
1285
|
}); // 拷贝模块的代码到编译输出目录
|
|
1271
1286
|
|
|
1272
1287
|
targetModules.forEach(item => {
|
|
1273
|
-
const outputModuleDir = resolve$
|
|
1288
|
+
const outputModuleDir = resolve$6(`${tmsConfig.webpack.outputDir}/${item.root}`);
|
|
1274
1289
|
|
|
1275
|
-
if (!fs$3.existsSync(resolve$
|
|
1290
|
+
if (!fs$3.existsSync(resolve$6(item.path))) {
|
|
1276
1291
|
fail$5(`${item.path}模块代码路径不存在, 请检查tms.config.js的${item.name}模块的path`);
|
|
1277
1292
|
process.exit(1);
|
|
1278
1293
|
}
|
|
1279
1294
|
|
|
1280
1295
|
if (!fs$3.existsSync(outputModuleDir)) {
|
|
1281
|
-
shelljs$
|
|
1296
|
+
shelljs$3.mkdir('-p', outputModuleDir);
|
|
1282
1297
|
} else {
|
|
1283
1298
|
// 删除除了node_modules、miniprogram_npm 的其他文件
|
|
1284
1299
|
// eslint-disable-next-line
|
|
1285
|
-
shelljs$
|
|
1300
|
+
shelljs$3.exec('find . -not \( -name node_modules -or -name miniprogram_npm \) -delete', {
|
|
1286
1301
|
silent: true
|
|
1287
1302
|
});
|
|
1288
1303
|
}
|
|
1289
1304
|
|
|
1290
|
-
shelljs$
|
|
1305
|
+
shelljs$3.cp('-Rf', `${resolve$6(item.path)}/*`, outputModuleDir);
|
|
1291
1306
|
});
|
|
1292
1307
|
};
|
|
1293
1308
|
|
|
1294
1309
|
async function task(tmsConfig, targetModules) {
|
|
1295
1310
|
// 下载和移动代码
|
|
1296
|
-
await createTask$
|
|
1311
|
+
await createTask$3(cloneModules, '开始下载模块代码完成', '下载模块代码码完成')(MODULE_CODE_DIR, resolve$6('./'), targetModules); // tms.config.js的modules 合并 module.config.json的配置项
|
|
1297
1312
|
|
|
1298
1313
|
const newModules = tmsModulesMergeLocalModuleCfg$2(targetModules, tmsConfig.appName, DEFAULT_MODULE_DIR$3);
|
|
1299
1314
|
console.log('当前init的有效模块', newModules.map(item => item.name)); // 拷贝相关配置文件到输出目录
|
|
1300
1315
|
|
|
1301
|
-
await createTask$
|
|
1316
|
+
await createTask$3(cpFilesToOutput, '开始拷贝文件到编译输出目录', '拷贝文件到编译输出目录完成')(tmsConfig, newModules, DEFAULT_COPY_CONFIG$2); // npm install
|
|
1302
1317
|
|
|
1303
|
-
await createTask$
|
|
1318
|
+
await createTask$3(npmInstallAll, '开始npm install', 'npm install 完成')(newModules, resolve$6(tmsConfig.webpack.outputDir), `${CACHE_DIR}/node_modules`); // 构建miniprograme_npm
|
|
1304
1319
|
|
|
1305
|
-
await createTask$
|
|
1320
|
+
await createTask$3(buildMpNpm$1, '开始构建miniprograme_npm', '构建miniprograme_npm 完成')({
|
|
1306
1321
|
appId: tmsConfig.appId,
|
|
1307
|
-
projectPath: resolve$
|
|
1322
|
+
projectPath: resolve$6('./'),
|
|
1308
1323
|
privateKey: tmsConfig.privateKey
|
|
1309
1324
|
}); // 动态生成编译后的app.json;
|
|
1310
1325
|
|
|
1311
|
-
await createTask$
|
|
1326
|
+
await createTask$3(buildOutputAppJson$1, '开始生成编译后的app.json', '生成编译后的app.json完成')(tmsConfig, newModules);
|
|
1312
1327
|
return newModules;
|
|
1313
1328
|
}
|
|
1314
1329
|
|
|
@@ -1321,10 +1336,10 @@ async function bootstrap(tmsConfig, targetModules) {
|
|
|
1321
1336
|
|
|
1322
1337
|
var init$5 = bootstrap;
|
|
1323
1338
|
|
|
1324
|
-
const path$
|
|
1325
|
-
const fs$2 = require$$
|
|
1339
|
+
const path$2 = require$$1__default$1;
|
|
1340
|
+
const fs$2 = require$$0__default$1;
|
|
1326
1341
|
const {
|
|
1327
|
-
resolve: resolve$
|
|
1342
|
+
resolve: resolve$5
|
|
1328
1343
|
} = widgets;
|
|
1329
1344
|
const {
|
|
1330
1345
|
buildOutputAppJson
|
|
@@ -1369,14 +1384,14 @@ function ext(entry, extensions) {
|
|
|
1369
1384
|
|
|
1370
1385
|
function getAlias$1(modules) {
|
|
1371
1386
|
const alias = {};
|
|
1372
|
-
const allPackages = findAllPackageJson(modules, resolve$
|
|
1387
|
+
const allPackages = findAllPackageJson(modules, resolve$5('./dist'));
|
|
1373
1388
|
allPackages.forEach(packageFilePath => {
|
|
1374
1389
|
const {
|
|
1375
1390
|
dependencies
|
|
1376
1391
|
} = require(packageFilePath);
|
|
1377
1392
|
|
|
1378
1393
|
Object.keys(dependencies).forEach(dependence => {
|
|
1379
|
-
alias[dependence] = path$
|
|
1394
|
+
alias[dependence] = path$2.join(path$2.dirname(packageFilePath), `./miniprogram_npm/${dependence}`);
|
|
1380
1395
|
});
|
|
1381
1396
|
});
|
|
1382
1397
|
return alias;
|
|
@@ -1393,13 +1408,13 @@ function getPageEntry(modules, tmsConfig, moduleDir) {
|
|
|
1393
1408
|
root
|
|
1394
1409
|
}) => {
|
|
1395
1410
|
pages.forEach(page => {
|
|
1396
|
-
const pageJsonPath = `${resolve$
|
|
1411
|
+
const pageJsonPath = `${resolve$5(relativePath, page)}.json`;
|
|
1397
1412
|
|
|
1398
1413
|
if (fs$2.existsSync(pageJsonPath)) {
|
|
1399
1414
|
const pageJsonContent = JSON.parse(fs$2.readFileSync(pageJsonPath, 'utf-8'));
|
|
1400
|
-
const pageDir = path$
|
|
1415
|
+
const pageDir = path$2.dirname(pageJsonPath); // 该页面所在的目录
|
|
1401
1416
|
|
|
1402
|
-
const extValue = ext(resolve$
|
|
1417
|
+
const extValue = ext(resolve$5(relativePath, page), extensions);
|
|
1403
1418
|
|
|
1404
1419
|
if (!extValue) {
|
|
1405
1420
|
fail$4(`当前${page}找不到入口.js或.ts文件`);
|
|
@@ -1409,7 +1424,7 @@ function getPageEntry(modules, tmsConfig, moduleDir) {
|
|
|
1409
1424
|
const entryKey = `${root}/${page}${extValue.ext}`;
|
|
1410
1425
|
Object.assign(entry, {
|
|
1411
1426
|
[entryKey]: extValue.file
|
|
1412
|
-
}, getComponentEntry(pageJsonContent, pageDir, path$
|
|
1427
|
+
}, getComponentEntry(pageJsonContent, pageDir, path$2.dirname(entryKey)));
|
|
1413
1428
|
}
|
|
1414
1429
|
});
|
|
1415
1430
|
});
|
|
@@ -1442,9 +1457,9 @@ function getComponentEntry(pageJson, pagePath, pageKey) {
|
|
|
1442
1457
|
componentKeys.forEach(key => {
|
|
1443
1458
|
if (json.usingComponents[key].startsWith('.')) {
|
|
1444
1459
|
// 拼出组件所在位置的绝对路径
|
|
1445
|
-
const comValue = path$
|
|
1460
|
+
const comValue = path$2.join(dir, json.usingComponents[key]);
|
|
1446
1461
|
const extValue = ext(comValue, extensions);
|
|
1447
|
-
const comKey = path$
|
|
1462
|
+
const comKey = path$2.resolve('/', rootKey, json.usingComponents[key]);
|
|
1448
1463
|
|
|
1449
1464
|
if (!extValue) {
|
|
1450
1465
|
fail$4(`当前page: ${pagePath} component: ${comValue}找不到入口.js或.ts文件`);
|
|
@@ -1456,9 +1471,9 @@ function getComponentEntry(pageJson, pagePath, pageKey) {
|
|
|
1456
1471
|
|
|
1457
1472
|
if (fs$2.existsSync(comJsonPath)) {
|
|
1458
1473
|
const comJsonContent = JSON.parse(fs$2.readFileSync(comJsonPath, 'utf-8'));
|
|
1459
|
-
const comDir = path$
|
|
1474
|
+
const comDir = path$2.dirname(comJsonPath); // 该页面所在的目录
|
|
1460
1475
|
|
|
1461
|
-
task(comJsonContent, comDir, path$
|
|
1476
|
+
task(comJsonContent, comDir, path$2.dirname(comKey));
|
|
1462
1477
|
}
|
|
1463
1478
|
}
|
|
1464
1479
|
});
|
|
@@ -1484,10 +1499,10 @@ function getCopyPlugin$2(defaultCopyConfig, modules, tmsConfig, env) {
|
|
|
1484
1499
|
const patterns = []; // 默认的一些配置拷贝文件 package.json、sitemap.json等
|
|
1485
1500
|
|
|
1486
1501
|
defaultCopyConfig.forEach(item => {
|
|
1487
|
-
if (fs$2.existsSync(resolve$
|
|
1502
|
+
if (fs$2.existsSync(resolve$5(item))) {
|
|
1488
1503
|
patterns.push({
|
|
1489
|
-
from: resolve$
|
|
1490
|
-
to: resolve$
|
|
1504
|
+
from: resolve$5(item),
|
|
1505
|
+
to: resolve$5(`./${toPath}/${item}`),
|
|
1491
1506
|
transform: {
|
|
1492
1507
|
cache: true
|
|
1493
1508
|
}
|
|
@@ -1497,8 +1512,8 @@ function getCopyPlugin$2(defaultCopyConfig, modules, tmsConfig, env) {
|
|
|
1497
1512
|
|
|
1498
1513
|
modules.forEach(item => {
|
|
1499
1514
|
patterns.push({
|
|
1500
|
-
from: resolve$
|
|
1501
|
-
to: resolve$
|
|
1515
|
+
from: resolve$5(item.path),
|
|
1516
|
+
to: resolve$5(`./${toPath}/${item.root}`),
|
|
1502
1517
|
globOptions: {
|
|
1503
1518
|
ignore: ['**/*.js', '*.js', '**/*.ts', '*.ts']
|
|
1504
1519
|
},
|
|
@@ -1521,8 +1536,8 @@ function getCopyPlugin$2(defaultCopyConfig, modules, tmsConfig, env) {
|
|
|
1521
1536
|
const appJsonConfig = ['app.json'];
|
|
1522
1537
|
appJsonConfig.forEach(item => {
|
|
1523
1538
|
patterns.push({
|
|
1524
|
-
from: resolve$
|
|
1525
|
-
to: resolve$
|
|
1539
|
+
from: resolve$5(item),
|
|
1540
|
+
to: resolve$5(`./${toPath}/${item}`),
|
|
1526
1541
|
transform: {
|
|
1527
1542
|
cache: true,
|
|
1528
1543
|
transformer: () => {
|
|
@@ -1586,15 +1601,15 @@ var utils = {
|
|
|
1586
1601
|
getAlias: getAlias$1
|
|
1587
1602
|
};
|
|
1588
1603
|
|
|
1589
|
-
const WebpackChain = require$$0__default$
|
|
1590
|
-
const webpack$2 = require$$0__default$
|
|
1604
|
+
const WebpackChain = require$$0__default$8;
|
|
1605
|
+
const webpack$2 = require$$0__default$9;
|
|
1591
1606
|
const {
|
|
1592
1607
|
getEntry: getEntry$1,
|
|
1593
1608
|
stringified,
|
|
1594
1609
|
getAlias
|
|
1595
1610
|
} = utils;
|
|
1596
1611
|
const {
|
|
1597
|
-
resolve: resolve$
|
|
1612
|
+
resolve: resolve$4
|
|
1598
1613
|
} = widgets;
|
|
1599
1614
|
const {
|
|
1600
1615
|
DEFAULT_WEBPACK_ENTRY: DEFAULT_WEBPACK_ENTRY$1,
|
|
@@ -1612,7 +1627,7 @@ var base = (tmsConfig, modules) => {
|
|
|
1612
1627
|
webpackConfig.merge({
|
|
1613
1628
|
entry,
|
|
1614
1629
|
output: {
|
|
1615
|
-
path: resolve$
|
|
1630
|
+
path: resolve$4(`./${tmsWebpack.outputDir}`),
|
|
1616
1631
|
libraryTarget: 'commonjs2',
|
|
1617
1632
|
filename: '[name]'
|
|
1618
1633
|
},
|
|
@@ -1628,7 +1643,7 @@ var base = (tmsConfig, modules) => {
|
|
|
1628
1643
|
devtool: tmsWebpack.sourceMap ? 'source-map' : false
|
|
1629
1644
|
});
|
|
1630
1645
|
webpackConfig.module.rule('ts-loader').test(/\.ts$/).use('ts-loader').loader(require.resolve('ts-loader')).options({
|
|
1631
|
-
configFile: resolve$
|
|
1646
|
+
configFile: resolve$4('./tsconfig.json'),
|
|
1632
1647
|
// 只进行语法转换,不进行类型校验,提高构建速度
|
|
1633
1648
|
transpileOnly: true
|
|
1634
1649
|
}).end(); // webpackConfig.module
|
|
@@ -1650,7 +1665,7 @@ var base = (tmsConfig, modules) => {
|
|
|
1650
1665
|
return webpackConfig;
|
|
1651
1666
|
};
|
|
1652
1667
|
|
|
1653
|
-
const SingleEntryPlugin = require$$0__default$
|
|
1668
|
+
const SingleEntryPlugin = require$$0__default$a;
|
|
1654
1669
|
const {
|
|
1655
1670
|
DEFAULT_WEBPACK_ENTRY,
|
|
1656
1671
|
DEFAULT_MODULE_DIR: DEFAULT_MODULE_DIR$1
|
|
@@ -1662,7 +1677,6 @@ const {
|
|
|
1662
1677
|
class EntryExtraPlugin {
|
|
1663
1678
|
constructor(options = {}) {
|
|
1664
1679
|
this.options = options;
|
|
1665
|
-
this.scriptExtensions = options.scriptExtensions || ['.ts', '.js'];
|
|
1666
1680
|
}
|
|
1667
1681
|
|
|
1668
1682
|
applyEntry(compiler, entry) {
|
|
@@ -1714,7 +1728,7 @@ var dev$2 = (...args) => {
|
|
|
1714
1728
|
return webpackDevConfig;
|
|
1715
1729
|
};
|
|
1716
1730
|
|
|
1717
|
-
const webpack$1 = require$$0__default$
|
|
1731
|
+
const webpack$1 = require$$0__default$9;
|
|
1718
1732
|
const webDevConfig = dev$2;
|
|
1719
1733
|
const {
|
|
1720
1734
|
setupDevWebPackHooks
|
|
@@ -1750,19 +1764,19 @@ var devServer = (...args) => {
|
|
|
1750
1764
|
return compiler;
|
|
1751
1765
|
};
|
|
1752
1766
|
|
|
1753
|
-
const fs$1 = require$$
|
|
1754
|
-
const semver$1 = require$$1__default$
|
|
1767
|
+
const fs$1 = require$$0__default$1;
|
|
1768
|
+
const semver$1 = require$$1__default$4;
|
|
1755
1769
|
const {
|
|
1756
|
-
resolve: resolve$
|
|
1770
|
+
resolve: resolve$3
|
|
1757
1771
|
} = widgets;
|
|
1758
|
-
const path = require$$1__default$1;
|
|
1772
|
+
const path$1 = require$$1__default$1;
|
|
1759
1773
|
const {
|
|
1760
1774
|
fail: fail$2
|
|
1761
1775
|
} = log$2;
|
|
1762
|
-
const shelljs$
|
|
1776
|
+
const shelljs$2 = require$$0__default$2;
|
|
1763
1777
|
|
|
1764
1778
|
const getLatestVersion = npmName => {
|
|
1765
|
-
const data = shelljs$
|
|
1779
|
+
const data = shelljs$2.exec(`npm view ${npmName} version`);
|
|
1766
1780
|
return data.stdout || '0.0.0';
|
|
1767
1781
|
};
|
|
1768
1782
|
/**
|
|
@@ -1780,17 +1794,17 @@ const checkDependencies$1 = (modules, cwd, outputDir) => {
|
|
|
1780
1794
|
// 1.1根目录的package.json
|
|
1781
1795
|
|
|
1782
1796
|
const packageArr = [{
|
|
1783
|
-
srcPackageDir: path.join(cwd, packageJsonName),
|
|
1784
|
-
destNpmDir: resolve$
|
|
1797
|
+
srcPackageDir: path$1.join(cwd, packageJsonName),
|
|
1798
|
+
destNpmDir: resolve$3(outputDir, 'node_modules')
|
|
1785
1799
|
}]; // 1.2模块的package.json
|
|
1786
1800
|
|
|
1787
1801
|
modules.forEach(item => {
|
|
1788
|
-
const srcPackageDir = path.join(cwd, item.path, 'package.json');
|
|
1802
|
+
const srcPackageDir = path$1.join(cwd, item.path, 'package.json');
|
|
1789
1803
|
|
|
1790
1804
|
if (fs$1.existsSync(srcPackageDir)) {
|
|
1791
1805
|
packageArr.push({
|
|
1792
1806
|
srcPackageDir,
|
|
1793
|
-
destNpmDir: resolve$
|
|
1807
|
+
destNpmDir: resolve$3(outputDir, item.root, 'node_modules')
|
|
1794
1808
|
});
|
|
1795
1809
|
}
|
|
1796
1810
|
}); // 步骤2. 比较package.json的依赖与node_modules依赖的版本号
|
|
@@ -1809,13 +1823,13 @@ const checkDependencies$1 = (modules, cwd, outputDir) => {
|
|
|
1809
1823
|
const dependenciesKeys = Object.keys(dependencies);
|
|
1810
1824
|
|
|
1811
1825
|
for (const key of dependenciesKeys) {
|
|
1812
|
-
const depPath = path.join(item.destNpmDir, key);
|
|
1826
|
+
const depPath = path$1.join(item.destNpmDir, key);
|
|
1813
1827
|
|
|
1814
1828
|
if (!fs$1.existsSync(depPath)) {
|
|
1815
1829
|
return true;
|
|
1816
1830
|
}
|
|
1817
1831
|
|
|
1818
|
-
const depPackagePath = path.join(depPath, 'package.json');
|
|
1832
|
+
const depPackagePath = path$1.join(depPath, 'package.json');
|
|
1819
1833
|
|
|
1820
1834
|
if (fs$1.existsSync(depPackagePath)) {
|
|
1821
1835
|
const packageData = require(depPackagePath);
|
|
@@ -1843,9 +1857,9 @@ var checkDependencies_1 = {
|
|
|
1843
1857
|
};
|
|
1844
1858
|
|
|
1845
1859
|
const webpackServer = devServer;
|
|
1846
|
-
const fs = require$$
|
|
1860
|
+
const fs = require$$0__default$1;
|
|
1847
1861
|
const {
|
|
1848
|
-
resolve: resolve$
|
|
1862
|
+
resolve: resolve$2
|
|
1849
1863
|
} = widgets;
|
|
1850
1864
|
const init$4 = init$5;
|
|
1851
1865
|
const {
|
|
@@ -1895,21 +1909,21 @@ function isInit(tmsConfig, targetModules, contextDir) {
|
|
|
1895
1909
|
} // 判断源码目录是否有该模块
|
|
1896
1910
|
|
|
1897
1911
|
|
|
1898
|
-
if (item.path && !fs.existsSync(resolve$
|
|
1912
|
+
if (item.path && !fs.existsSync(resolve$2(item.path))) {
|
|
1899
1913
|
fail$1(`${item.path}模块代码路径不存在, 请检查tms.config.js的${item.name}模块的path`);
|
|
1900
1914
|
process.exit(1);
|
|
1901
1915
|
}
|
|
1902
1916
|
} // 判断package.json的版本是否有新的版本
|
|
1903
1917
|
|
|
1904
1918
|
|
|
1905
|
-
return checkDependencies(targetModules, resolve$
|
|
1919
|
+
return checkDependencies(targetModules, resolve$2('./'), tmsConfig.webpack.outputDir);
|
|
1906
1920
|
}
|
|
1907
1921
|
|
|
1908
1922
|
async function dev$1(tmsConfig, targetModules, env) {
|
|
1909
1923
|
// tms.config.js的modules 合并 module.config.json的配置项
|
|
1910
1924
|
let newModules = tmsModulesMergeLocalModuleCfg(targetModules, tmsConfig.appName, DEFAULT_MODULE_DIR); // 判断是否进行init命令
|
|
1911
1925
|
|
|
1912
|
-
if (isInit(tmsConfig, newModules, resolve$
|
|
1926
|
+
if (isInit(tmsConfig, newModules, resolve$2('dist'))) {
|
|
1913
1927
|
// init函数会将 最新的tms.config.js的modules 合并 module.config.json的配置项 返回,不需要再做重复工作
|
|
1914
1928
|
const initData = await init$4(tmsConfig, targetModules);
|
|
1915
1929
|
newModules = initData.targetModules;
|
|
@@ -1941,10 +1955,10 @@ var build$2 = (...args) => {
|
|
|
1941
1955
|
return webpackBuildConfig;
|
|
1942
1956
|
};
|
|
1943
1957
|
|
|
1944
|
-
const webpack = require$$0__default$
|
|
1958
|
+
const webpack = require$$0__default$9;
|
|
1945
1959
|
const webBuildConfig = build$2;
|
|
1946
1960
|
const {
|
|
1947
|
-
createTask: createTask$
|
|
1961
|
+
createTask: createTask$2
|
|
1948
1962
|
} = widgets;
|
|
1949
1963
|
const {
|
|
1950
1964
|
fail
|
|
@@ -1967,7 +1981,7 @@ var buildServer = async (...args) => {
|
|
|
1967
1981
|
const {
|
|
1968
1982
|
err,
|
|
1969
1983
|
stats
|
|
1970
|
-
} = await createTask$
|
|
1984
|
+
} = await createTask$2(compilerRun, '开始webpack打包编译', 'webpack打包编译完成')(compiler);
|
|
1971
1985
|
|
|
1972
1986
|
if (err) {
|
|
1973
1987
|
fail(err);
|
|
@@ -1984,16 +1998,16 @@ var buildServer = async (...args) => {
|
|
|
1984
1998
|
return compiler;
|
|
1985
1999
|
};
|
|
1986
2000
|
|
|
1987
|
-
const shelljs = require$$
|
|
2001
|
+
const shelljs$1 = require$$0__default$2;
|
|
1988
2002
|
const webpackBuildServer = buildServer;
|
|
1989
2003
|
const {
|
|
1990
|
-
resolve
|
|
2004
|
+
resolve: resolve$1
|
|
1991
2005
|
} = widgets;
|
|
1992
2006
|
const init$3 = init$5;
|
|
1993
2007
|
|
|
1994
2008
|
async function build$1(tmsConfig, targetModules, env) {
|
|
1995
2009
|
// 开始构建前,清理输出目录
|
|
1996
|
-
await shelljs.rm('-rf', resolve('dist'));
|
|
2010
|
+
await shelljs$1.rm('-rf', resolve$1('dist'));
|
|
1997
2011
|
const {
|
|
1998
2012
|
targetModules: newModules
|
|
1999
2013
|
} = await init$3(tmsConfig, targetModules);
|
|
@@ -2002,11 +2016,55 @@ async function build$1(tmsConfig, targetModules, env) {
|
|
|
2002
2016
|
|
|
2003
2017
|
var build_1 = build$1;
|
|
2004
2018
|
|
|
2019
|
+
const shelljs = require$$0__default$2;
|
|
2020
|
+
const {
|
|
2021
|
+
createTask: createTask$1
|
|
2022
|
+
} = widgets;
|
|
2023
|
+
const {
|
|
2024
|
+
buildMpNpm
|
|
2025
|
+
} = mpCiUtils;
|
|
2026
|
+
const glob = require$$3__default$1;
|
|
2027
|
+
const path = require$$1__default$1;
|
|
2028
|
+
|
|
2029
|
+
function npmInstall(contextDir) {
|
|
2030
|
+
return new Promise((resolve, reject) => {
|
|
2031
|
+
glob(`${contextDir}/**/package.json`, ['node_modules', 'miniprogram_npm'], (err, files) => {
|
|
2032
|
+
if (err) {
|
|
2033
|
+
reject(err);
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
files.forEach(file => {
|
|
2037
|
+
const dir = path.dirname(file);
|
|
2038
|
+
shelljs.cd(dir);
|
|
2039
|
+
shelljs.exec('npx pnpm install --prod --registry http://mirrors.tencent.com/npm/', {
|
|
2040
|
+
silent: false
|
|
2041
|
+
});
|
|
2042
|
+
});
|
|
2043
|
+
resolve();
|
|
2044
|
+
});
|
|
2045
|
+
});
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2048
|
+
async function install$1(contextDir) {
|
|
2049
|
+
// npm install
|
|
2050
|
+
await createTask$1(npmInstall, '开始npm install', 'npm install完成')(contextDir); // 构建miniprograme_npm
|
|
2051
|
+
|
|
2052
|
+
await createTask$1(buildMpNpm, '开始构建miniprogram_npm', '构建miniprogram_npm 完成')({
|
|
2053
|
+
appId: 'null',
|
|
2054
|
+
projectPath: contextDir,
|
|
2055
|
+
privateKey: 'null'
|
|
2056
|
+
});
|
|
2057
|
+
}
|
|
2058
|
+
|
|
2059
|
+
var install_1 = install$1;
|
|
2060
|
+
|
|
2005
2061
|
const init$2 = init$5;
|
|
2006
2062
|
const dev = dev_1;
|
|
2007
2063
|
const build = build_1;
|
|
2064
|
+
const install = install_1;
|
|
2008
2065
|
const {
|
|
2009
|
-
createTask
|
|
2066
|
+
createTask,
|
|
2067
|
+
resolve
|
|
2010
2068
|
} = widgets;
|
|
2011
2069
|
const {
|
|
2012
2070
|
MODE
|
|
@@ -2032,6 +2090,11 @@ const handleModulesArg = cmd => {
|
|
|
2032
2090
|
};
|
|
2033
2091
|
|
|
2034
2092
|
async function run(commandName, cmd) {
|
|
2093
|
+
if (commandName === 'install') {
|
|
2094
|
+
install(resolve('./'));
|
|
2095
|
+
return;
|
|
2096
|
+
}
|
|
2097
|
+
|
|
2035
2098
|
const moduleArg = handleModulesArg(cmd);
|
|
2036
2099
|
const {
|
|
2037
2100
|
env
|
|
@@ -2086,7 +2149,7 @@ var entry = [{
|
|
|
2086
2149
|
|
|
2087
2150
|
var require$$6 = {
|
|
2088
2151
|
name: "@tmsfe/tmskit",
|
|
2089
|
-
version: "0.0.
|
|
2152
|
+
version: "0.0.5",
|
|
2090
2153
|
description: "tmskit",
|
|
2091
2154
|
main: "main.js",
|
|
2092
2155
|
bin: {
|
|
@@ -2104,49 +2167,34 @@ var require$$6 = {
|
|
|
2104
2167
|
]
|
|
2105
2168
|
},
|
|
2106
2169
|
devDependencies: {
|
|
2107
|
-
"@babel/core": "^7.15.0",
|
|
2108
|
-
"@babel/plugin-transform-modules-commonjs": "^7.16.0",
|
|
2109
|
-
"@babel/preset-env": "^7.16.0",
|
|
2110
2170
|
"@rollup/plugin-babel": "^5.0.2",
|
|
2111
2171
|
"@rollup/plugin-commonjs": "^19.0.0",
|
|
2112
2172
|
"@rollup/plugin-dynamic-import-vars": "^1.1.1",
|
|
2113
2173
|
"@rollup/plugin-json": "^4.0.3",
|
|
2114
|
-
async: "^3.2.2",
|
|
2115
|
-
"babel-core": "^6.26.3",
|
|
2116
|
-
"babel-loader": "^8.2.3",
|
|
2117
|
-
"copy-webpack-plugin": "^9.1.0",
|
|
2118
|
-
"cross-env": "^7.0.3",
|
|
2119
|
-
leven: "3.1.0",
|
|
2120
|
-
metalsmith: "^2.3.0",
|
|
2121
|
-
minimist: "^1.2.5",
|
|
2122
2174
|
rollup: "^2.6.1",
|
|
2123
2175
|
"rollup-plugin-node-resolve": "^5.2.0",
|
|
2176
|
+
"rollup-plugin-replace": "^2.2.0",
|
|
2124
2177
|
"rollup-plugin-terser": "^6.1.0",
|
|
2125
|
-
"rollup-plugin-typescript2": "0.27.0"
|
|
2126
|
-
"ts-loader": "^9.2.6",
|
|
2127
|
-
"url-loader": "^4.1.1",
|
|
2128
|
-
webpack: "^5.64.0",
|
|
2129
|
-
"webpack-cli": "^4.9.1"
|
|
2178
|
+
"rollup-plugin-typescript2": "0.27.0"
|
|
2130
2179
|
},
|
|
2131
2180
|
dependencies: {
|
|
2132
|
-
|
|
2181
|
+
async: "^3.2.2",
|
|
2133
2182
|
chalk: "^4.1.0",
|
|
2134
2183
|
commander: "^6.2.1",
|
|
2184
|
+
"copy-webpack-plugin": "^9.1.0",
|
|
2135
2185
|
"download-git-repo": "^3.0.2",
|
|
2136
2186
|
ejs: "^3.1.5",
|
|
2137
|
-
"
|
|
2138
|
-
"fs-extra": "^9.0.1",
|
|
2187
|
+
"glob-ignore": "^1.0.2",
|
|
2139
2188
|
inquirer: "^7.3.3",
|
|
2189
|
+
leven: "3.1.0",
|
|
2140
2190
|
lodash: "^4.17.21",
|
|
2141
|
-
|
|
2191
|
+
metalsmith: "^2.3.0",
|
|
2142
2192
|
"miniprogram-ci": "1.4.13",
|
|
2143
2193
|
ora: "^5.1.0",
|
|
2144
2194
|
"replace-ext": "^2.0.0",
|
|
2145
|
-
"rollup-plugin-replace": "^2.2.0",
|
|
2146
2195
|
shelljs: "^0.8.4",
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
username: "5.1.0",
|
|
2196
|
+
"ts-loader": "^9.2.6",
|
|
2197
|
+
webpack: "^5.64.0",
|
|
2150
2198
|
"webpack-chain": "^6.5.1"
|
|
2151
2199
|
},
|
|
2152
2200
|
engines: {
|
|
@@ -2159,10 +2207,10 @@ var require$$6 = {
|
|
|
2159
2207
|
|
|
2160
2208
|
const {
|
|
2161
2209
|
exec
|
|
2162
|
-
} = require$$
|
|
2163
|
-
const semver = require$$1__default$
|
|
2210
|
+
} = require$$0__default$2;
|
|
2211
|
+
const semver = require$$1__default$4;
|
|
2164
2212
|
const packageJson = require$$6;
|
|
2165
|
-
const chalk$1 = require$$0__default$
|
|
2213
|
+
const chalk$1 = require$$0__default$3;
|
|
2166
2214
|
const {
|
|
2167
2215
|
log: log$1
|
|
2168
2216
|
} = widgets;
|
|
@@ -2201,7 +2249,7 @@ function initCliContext() {
|
|
|
2201
2249
|
|
|
2202
2250
|
var init$1 = initCliContext;
|
|
2203
2251
|
|
|
2204
|
-
const chalk = require$$0__default$
|
|
2252
|
+
const chalk = require$$0__default$3;
|
|
2205
2253
|
const program = require$$0__default;
|
|
2206
2254
|
const {
|
|
2207
2255
|
log,
|
|
@@ -2225,7 +2273,7 @@ commands.forEach(cmd => {
|
|
|
2225
2273
|
});
|
|
2226
2274
|
program.on('--help', () => {
|
|
2227
2275
|
log();
|
|
2228
|
-
log(` Run ${chalk.cyan(
|
|
2276
|
+
log(` Run ${chalk.cyan(`${TMS_NAME} <command> --help`)} for detailed usage of given command.`);
|
|
2229
2277
|
log();
|
|
2230
2278
|
}); // 捕获未注册的命令
|
|
2231
2279
|
|