@cloudbase/lowcode-builder 0.1.26 → 1.0.0

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.
Files changed (84) hide show
  1. package/lib/builder/core/index.d.ts +1 -3
  2. package/lib/builder/core/index.js +42 -52
  3. package/lib/builder/h5/compile.d.ts +1 -1
  4. package/lib/builder/h5/compile.js +59 -20
  5. package/lib/builder/h5/copy.js +2 -4
  6. package/lib/builder/h5/generate.js +3 -3
  7. package/lib/builder/h5/index.d.ts +5 -4
  8. package/lib/builder/h5/index.js +25 -14
  9. package/lib/builder/h5/material.js +6 -11
  10. package/lib/builder/h5/npm.js +6 -5
  11. package/lib/builder/mp/index.js +38 -49
  12. package/lib/builder/mp/materials.js +25 -18
  13. package/lib/builder/mp/mixMode.js +7 -10
  14. package/lib/builder/mp/mp_config.js +2 -3
  15. package/lib/builder/mp/wxml.js +1 -1
  16. package/lib/builder/service/webpack.d.ts +7 -1
  17. package/lib/builder/service/webpack.js +97 -24
  18. package/lib/builder/types/common.d.ts +1 -1
  19. package/lib/builder/types/common.js +2 -1
  20. package/lib/builder/util/common.js +1 -4
  21. package/lib/builder/util/generateFiles.js +12 -10
  22. package/lib/builder/util/mp.js +2 -8
  23. package/lib/builder.web.js +71 -0
  24. package/lib/index.d.ts +4 -0
  25. package/lib/index.js +6 -0
  26. package/lib/types.d.ts +1 -0
  27. package/lib/types.js +11 -0
  28. package/package.json +3 -8
  29. package/template/html/index.html.ejs +59 -29
  30. package/template/mp/common/weapp-page.js +23 -1
  31. package/template/mp/package.json +1 -1
  32. package/template/mp/page/index.js +2 -1
  33. package/template/package.json +5 -2
  34. package/template/webpack/getCSSModuleLocalIdent.js +28 -0
  35. package/template/webpack/web.prod.js +112 -103
  36. package/template/src/app/common.js +0 -13
  37. package/template/src/app/global-api.js +0 -99
  38. package/template/src/app/handlers.js +0 -13
  39. package/template/src/app/material-actions.js +0 -16
  40. package/template/src/app/mountAppApis.js +0 -25
  41. package/template/src/app/mountMpApis.js +0 -4
  42. package/template/src/datasources/config.js.tpl +0 -23
  43. package/template/src/datasources/dataset-profiles.js.tpl +0 -5
  44. package/template/src/datasources/datasource-profiles.js.tpl +0 -4
  45. package/template/src/datasources/index.js +0 -31
  46. package/template/src/handlers/FieldMiddleware/renderer.jsx +0 -331
  47. package/template/src/handlers/HotAreas.js +0 -36
  48. package/template/src/handlers/PositionHandler.jsx +0 -8
  49. package/template/src/handlers/actionHandler/utils.js +0 -149
  50. package/template/src/handlers/componentEventActionEmitter.js +0 -29
  51. package/template/src/handlers/componentNodeMap.js +0 -24
  52. package/template/src/handlers/controller.js +0 -5
  53. package/template/src/handlers/emitComponentEvent.js +0 -8
  54. package/template/src/handlers/eventListener/componentEventListener.js +0 -15
  55. package/template/src/handlers/eventListener/hotAreaEventListener.js +0 -32
  56. package/template/src/handlers/eventListener/index.js +0 -29
  57. package/template/src/handlers/eventListener/pageEventListener.js +0 -11
  58. package/template/src/handlers/eventListener/types.js +0 -32
  59. package/template/src/handlers/hooks/index.js +0 -14
  60. package/template/src/handlers/initWebEnv.js +0 -4
  61. package/template/src/handlers/injectStyle.js +0 -14
  62. package/template/src/handlers/instanceMap.js +0 -39
  63. package/template/src/handlers/lifecycle.js +0 -232
  64. package/template/src/handlers/render.jsx +0 -131
  65. package/template/src/handlers/utils/common.js +0 -151
  66. package/template/src/handlers/utils/eventProxy.js +0 -64
  67. package/template/src/handlers/utils/events.js +0 -8
  68. package/template/src/handlers/utils/index.js +0 -4
  69. package/template/src/handlers/utils/widgets.js +0 -320
  70. package/template/src/index.jsx +0 -142
  71. package/template/src/index.less +0 -119
  72. package/template/src/libraries/default-lib/wx_yypt_report_v2.js +0 -441
  73. package/template/src/pages/app.tpl +0 -124
  74. package/template/src/router/index.tpl +0 -28
  75. package/template/src/store/computed.js +0 -11
  76. package/template/src/store/index.js +0 -40
  77. package/template/src/utils/ScanCodeComponent.js +0 -396
  78. package/template/src/utils/date.js +0 -324
  79. package/template/src/utils/history.js +0 -72
  80. package/template/src/utils/index.js +0 -67
  81. package/template/src/utils/kbone.js +0 -18
  82. package/template/src/utils/monitor-jssdk.min.js +0 -763
  83. package/template/src/utils/request.js +0 -5
  84. package/template/src/utils/scan-code-action.js +0 -27
@@ -3,22 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.downloadAssets = exports.generateWebpackWebDevServerFile = exports.getMaterialNodeModulesPathList = exports.installDependencies = exports.downloadDependencies = exports.downloadAndInstallDependencies = exports.getAllPageMpEntryPath = exports.getWebpackMpBuildParams = exports.getWebpackWebBuildParams = exports.getMpAllRouterConfig = exports.getPageName = exports.getHomePageInstance = exports.getMainAppDataByList = exports.generateMpJsonConfigFile = exports.generateKboneAppConfig = exports.generateKbonePageConfig = exports.downloadAndWriteTabBarIcon = exports.generateKboneTabBarConfig = exports.generateAppConfig = exports.generateWebpackWebBuildParamsFile = exports.fixAppJson = void 0;
6
+ exports.downloadAssets = exports.generateWebpackWebDevServerFile = exports.getMaterialNodeModulesPathList = exports.installDependencies = exports.downloadDependencies = exports.downloadAndInstallDependencies = exports.getAllPageMpEntryPath = exports.getWebpackMpBuildParams = exports.getWebpackWebBuildParams = exports.getMpAllRouterConfig = exports.getPageName = exports.getHomePageInstance = exports.getMainAppDataByList = exports.generateMpJsonConfigFile = exports.generateKboneAppConfig = exports.generateKbonePageConfig = exports.downloadAndWriteTabBarIcon = exports.generateKboneTabBarConfig = exports.generateAppConfig = exports.generateWebpackWebBuildParamsFile = exports.fixAppJson = exports.PERSISTENT_DEPENDIENCES_MAP = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const fs_extra_1 = __importDefault(require("fs-extra"));
9
- const lodash_template_1 = __importDefault(require("lodash.template"));
9
+ const lodash_1 = require("lodash");
10
10
  const util_1 = require("../util");
11
11
  const axios_1 = __importDefault(require("axios"));
12
12
  const compressing_1 = __importDefault(require("compressing"));
13
13
  const cross_spawn_1 = __importDefault(require("cross-spawn"));
14
14
  const weapps_core_1 = require("@cloudbase/lowcode-generator/lib/weapps-core");
15
15
  const config_1 = require("../config");
16
- // import { getPluginKboneSubpackage } from './plugin';
17
16
  const common_1 = require("../types/common");
18
- const config_2 = require("../config");
19
17
  const common_2 = require("../util/common");
20
18
  const types_1 = require("../../types");
21
19
  const generateFiles_1 = require("../util/generateFiles");
20
+ exports.PERSISTENT_DEPENDIENCES_MAP = {};
22
21
  async function fixAppJson(appBuildDir) {
23
22
  const appJsonPath = path_1.default.resolve(appBuildDir, 'dist/mp/app.json');
24
23
  if (!fs_extra_1.default.existsSync(appJsonPath)) {
@@ -139,7 +138,6 @@ function generateKbonePageConfig(mpConfig, mainAppData, subAppDataList = []) {
139
138
  config_1.KBONE_PAGE_KEYS.forEach((key) => {
140
139
  if (item.data[key]) {
141
140
  mpConfig.pages[pageId][key] = item.data[key];
142
- delete item.data[key];
143
141
  }
144
142
  });
145
143
  // extra 配置
@@ -284,10 +282,13 @@ function getWebpackWebBuildParams(appId, appBuildDir, publicPath = '/', mode = c
284
282
  },
285
283
  htmlTemplatePath: path_1.default.resolve(appBuildDir, './index.html'),
286
284
  externals: {
285
+ react: 'window.React',
286
+ 'react-dom': 'window.ReactDOM',
287
287
  mobx: 'window.mobx',
288
288
  '@cloudbase/js-sdk': 'window.cloudbase',
289
289
  '@cloudbase/weda-cloud-sdk/dist/h5': 'window.CloudSDK',
290
290
  '@zxing/library': 'window.ZXing',
291
+ '@cloudbase/lowcode-render': 'window["weda-render"]',
291
292
  },
292
293
  resolveModules: [
293
294
  // path.resolve(appBuildDir, 'node_modules'),
@@ -300,6 +301,11 @@ function getWebpackWebBuildParams(appId, appBuildDir, publicPath = '/', mode = c
300
301
  'process.env.isAdminPortal': (0, common_1.buildAsAdminPortalByBuildType)(buildTypeList),
301
302
  ...extraDefine,
302
303
  },
304
+ devtool: ['app-nvzcvt10', 'app-msa2ihs9'].includes(appId)
305
+ ? 'source-map'
306
+ : mode !== common_1.WebpackModeType.PRODUCTION
307
+ ? 'eval'
308
+ : false,
303
309
  };
304
310
  }
305
311
  exports.getWebpackWebBuildParams = getWebpackWebBuildParams;
@@ -314,7 +320,8 @@ function getWebpackMpBuildParams(appBuildDir, materialsDir, dependencies = [], n
314
320
  appBuildDir,
315
321
  path_1.default.resolve(appBuildDir, 'node_modules'),
316
322
  path_1.default.resolve(appBuildDir, 'src'),
317
- ...getMaterialNodeModulesPathList(dependencies, materialsDir),
323
+ ...getMaterialNodeModulesPathList(dependencies, materialsDir, appBuildDir),
324
+ 'node_modules',
318
325
  ],
319
326
  watchOptions: {
320
327
  ignored: /node_modules/,
@@ -350,23 +357,53 @@ async function downloadAndInstallDependencies(dependencies = [], materialsDir, i
350
357
  const { name, version, srcZipUrl } = item;
351
358
  const materialNameVersion = `${name}@${version}`;
352
359
  const targetDir = path_1.default.join(materialsDir, materialNameVersion);
353
- // 如果需要下载素材
354
- if (!(await fs_extra_1.default.pathExists(targetDir))) {
355
- await downloadDependencies(targetDir, item.srcZipUrl);
356
- await installDependencies(targetDir, {
357
- ...installOptions,
358
- isDependence: true,
359
- ignoreInstall: (0, common_2.isOfficialComponentLib)(name, version),
360
- });
361
- }
362
- // 同步依赖
363
- const packageJson = await fs_extra_1.default.readJson(path_1.default.join(targetDir, 'package.json'));
364
- item.dependencies = packageJson.dependencies || {};
365
360
  // 当前本地目录是素材库的时候,直接用本地的
366
361
  if (localPkg && localPkg.name === name && localPkg.version === version) {
367
362
  console.log('当前本地目录是素材库的时候,无需安装', materialNameVersion);
368
363
  return;
369
364
  }
365
+ // 如果需要下载素材
366
+ if (!(await fs_extra_1.default.pathExists(targetDir))) {
367
+ const matched = srcZipUrl.match(/\/(cg-.*?)\//);
368
+ const { appBuildDir } = (0, util_1.getCompileDirs)('app');
369
+ if ((matched === null || matched === void 0 ? void 0 : matched[1]) && fs_extra_1.default.existsSync(path_1.default.resolve(appBuildDir, `.component_cache/web/${matched[1]}@${version}`))) {
370
+ console.log(`link ${name}@${version} ...`);
371
+ await fs_extra_1.default.symlink(path_1.default.resolve(appBuildDir, `.component_cache/web/${matched[1]}@${version}`), targetDir, 'dir');
372
+ // await fs.copy(
373
+ // path.resolve(
374
+ // appBuildDir,
375
+ // `.component_cache/web/${matched[1]}@${version}`
376
+ // ),
377
+ // targetDir,
378
+ // {
379
+ // filter: function (src, dest) {
380
+ // const path = src.split('/');
381
+ // return !junk.is(path[path.length - 1]);
382
+ // },
383
+ // }
384
+ // );
385
+ }
386
+ else {
387
+ console.log(`下载${name}@${version} ...`);
388
+ await downloadDependencies(targetDir, srcZipUrl);
389
+ }
390
+ }
391
+ console.log(`处理${name}@${version}依赖 ...`);
392
+ await installDependencies(targetDir, {
393
+ ...installOptions,
394
+ isDependence: true,
395
+ ignoreInstall: (0, common_2.isOfficialComponentLib)(name, version) || (installOptions === null || installOptions === void 0 ? void 0 : installOptions.ignoreInstall),
396
+ dependenceMeta: {
397
+ name,
398
+ version,
399
+ downloadUrl: srcZipUrl,
400
+ },
401
+ });
402
+ // 同步依赖
403
+ // const packageJson = await fs.readJson(
404
+ // path.join(targetDir, 'package.json')
405
+ // );
406
+ // item.dependencies = packageJson.dependencies || {};
370
407
  }));
371
408
  }
372
409
  exports.downloadAndInstallDependencies = downloadAndInstallDependencies;
@@ -382,7 +419,27 @@ async function downloadDependencies(targetDir, srcZipUrl) {
382
419
  // proxy: false
383
420
  });
384
421
  await fs_extra_1.default.ensureDir(targetDir);
422
+ // let download = spawn(
423
+ // 'curl',
424
+ // ['-fsSL', srcZipUrl, '-o', `${targetDir}.zip`],
425
+ // {
426
+ // stdio: 'inherit',
427
+ // }
428
+ // );
429
+ // await promisifyProcess(download);
430
+ const tag = `uncompress ${srcZipUrl}`;
431
+ console.time(tag);
385
432
  await compressing_1.default.zip.uncompress(response.data, targetDir);
433
+ // let unzip = spawn(
434
+ // 'unzip',
435
+ // ['-q', '-o', `${targetDir}.zip`, '-d', targetDir],
436
+ // {
437
+ // stdio: 'inherit',
438
+ // }
439
+ // );
440
+ // await promisifyProcess(unzip);
441
+ // await fs.remove(`${targetDir}.zip`);
442
+ console.timeEnd(tag);
386
443
  }
387
444
  catch (e) {
388
445
  console.error(`Fail to download weapps material package ${srcZipUrl}`, e);
@@ -417,8 +474,15 @@ async function installDependencies(targetDir, options = {}) {
417
474
  console.time(operationTag);
418
475
  const registry = `--registry=${config_1.npmRegistry}`;
419
476
  const npmOptions = ['--prefer-offline', '--no-audit', '--progress=false', registry];
420
- if (options === null || options === void 0 ? void 0 : options.isDependence) {
477
+ if (options === null || options === void 0 ? void 0 : options.dependenceMeta) {
421
478
  npmOptions.push('--production');
479
+ const { name, version } = options.dependenceMeta;
480
+ if (!fs_extra_1.default.existsSync(path_1.default.join(targetDir, 'node_modules'))) {
481
+ exports.PERSISTENT_DEPENDIENCES_MAP[`${name}@${version}`] = {
482
+ ...options === null || options === void 0 ? void 0 : options.dependenceMeta,
483
+ source: targetDir,
484
+ };
485
+ }
422
486
  }
423
487
  let installProcess;
424
488
  // 云端构建, 选用 npm
@@ -436,6 +500,11 @@ async function installDependencies(targetDir, options = {}) {
436
500
  installProcess = cross_spawn_1.default.sync('npm', ['install', packageName, ...npmOptions], installlProcessOptions);
437
501
  }
438
502
  fixNodeModules(targetDir);
503
+ try {
504
+ await fs_extra_1.default.remove(path_1.default.join(path_1.default.join(targetDir, 'package-lock.json')));
505
+ await fs_extra_1.default.remove(path_1.default.join(path_1.default.join(targetDir, 'yarn.lock')));
506
+ }
507
+ catch (e) { }
439
508
  console.timeEnd(operationTag);
440
509
  }
441
510
  exports.installDependencies = installDependencies;
@@ -450,25 +519,29 @@ function fixNodeModules(projDir) {
450
519
  }
451
520
  }
452
521
  }
453
- function getMaterialNodeModulesPathList(dependencies = [], materialsDir) {
522
+ function getMaterialNodeModulesPathList(dependencies = [], materialsDir, base) {
454
523
  const localPkg = (0, util_1.getCurrentPackageJson)();
455
524
  return dependencies.map(({ name, version }) => {
456
525
  const nameVersion = `${name}@${version}`;
526
+ let target = '';
457
527
  if (localPkg && localPkg.name === name && localPkg.version === version) {
458
528
  console.log('当前本地目录是素材库的时候,直接使用当前目录的 node_modules', nameVersion);
459
- return path_1.default.join(process.cwd(), 'node_modules');
529
+ target = path_1.default.join(process.cwd(), 'node_modules');
530
+ }
531
+ else {
532
+ target = path_1.default.join(materialsDir, nameVersion, 'node_modules');
460
533
  }
461
- return path_1.default.join(materialsDir, nameVersion, 'node_modules');
534
+ return base ? path_1.default.relative(base, target) : target;
462
535
  });
463
536
  }
464
537
  exports.getMaterialNodeModulesPathList = getMaterialNodeModulesPathList;
465
538
  // 生成devServer 核心依赖
466
539
  async function generateWebpackWebDevServerFile({ appBuildDir, buildTypeList }) {
467
540
  const dest = path_1.default.resolve(appBuildDir, `./webpack/devServer.js`);
468
- const template = await fs_extra_1.default.readFile(path_1.default.resolve(config_2.appTemplateDir, './webpack/devServer.js'), {
541
+ const template = await fs_extra_1.default.readFile(path_1.default.resolve(config_1.appTemplateDir, './webpack/devServer.js'), {
469
542
  encoding: 'utf8',
470
543
  });
471
- const jsContent = (0, lodash_template_1.default)(template, {
544
+ const jsContent = (0, lodash_1.template)(template, {
472
545
  interpolate: /<%=([\s\S]+?)%>/g,
473
546
  })({
474
547
  isApp: buildTypeList.includes(common_1.BuildType.APP),
@@ -1,4 +1,4 @@
1
- export { BuildType, GenerateMpType, WebpackModeType, WebpackBuildCallBack, IPackageJson, buildAsWebByBuildType, buildAsAdminPortalByBuildType, IAppUsedComp, IUsedComps, ISyncProp, IComponentInputProps, IFileCodeMap, } from '@cloudbase/lowcode-generator/lib/generator/types/common';
1
+ export { BuildType, GenerateMpType, WebpackModeType, WebpackBuildCallBack, IPackageJson, buildAsWebByBuildType, buildAsAdminPortalByBuildType, buildAsXPageByBuildType, IAppUsedComp, IUsedComps, ISyncProp, IComponentInputProps, IFileCodeMap, } from '@cloudbase/lowcode-generator/lib/generator/types/common';
2
2
  import { IComponentMeta, ICompositedComponent } from '@cloudbase/lowcode-generator/lib/weapps-core';
3
3
  export declare type IComponentsInfoMap = {
4
4
  [componentSourceKey: string]: ({
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildAsAdminPortalByBuildType = exports.buildAsWebByBuildType = exports.WebpackModeType = exports.GenerateMpType = exports.BuildType = void 0;
3
+ exports.buildAsXPageByBuildType = exports.buildAsAdminPortalByBuildType = exports.buildAsWebByBuildType = exports.WebpackModeType = exports.GenerateMpType = exports.BuildType = void 0;
4
4
  var common_1 = require("@cloudbase/lowcode-generator/lib/generator/types/common");
5
5
  Object.defineProperty(exports, "BuildType", { enumerable: true, get: function () { return common_1.BuildType; } });
6
6
  Object.defineProperty(exports, "GenerateMpType", { enumerable: true, get: function () { return common_1.GenerateMpType; } });
7
7
  Object.defineProperty(exports, "WebpackModeType", { enumerable: true, get: function () { return common_1.WebpackModeType; } });
8
8
  Object.defineProperty(exports, "buildAsWebByBuildType", { enumerable: true, get: function () { return common_1.buildAsWebByBuildType; } });
9
9
  Object.defineProperty(exports, "buildAsAdminPortalByBuildType", { enumerable: true, get: function () { return common_1.buildAsAdminPortalByBuildType; } });
10
+ Object.defineProperty(exports, "buildAsXPageByBuildType", { enumerable: true, get: function () { return common_1.buildAsXPageByBuildType; } });
@@ -222,11 +222,8 @@ function readComponentLibMata(libDir) {
222
222
  }
223
223
  exports.readComponentLibMata = readComponentLibMata;
224
224
  const _OFFICIAL_COMPONENT_LIB = {
225
- 'gsd-h5-react': ['0.0.61', '0.0.70'],
225
+ 'gsd-h5-react': ['*'],
226
226
  CLOUDBASE_BUSSINESS: ['1627377179261'],
227
- crm_basis: ['*', '1629778630449'],
228
- tea_basis: ['*', '1629209320310'],
229
- tea_shop: ['*'],
230
227
  };
231
228
  function isOfficialComponentLib(name, version) {
232
229
  var _a, _b;
@@ -25,7 +25,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.strToBuf = exports.fileToZip = exports.getFiles = exports.copyRecursiveSync = exports.copyFileSync = exports.copy = exports.copyFiles = exports.cleanDir = exports.removeFile = exports.writeFile = void 0;
26
26
  const fs_extra_1 = __importDefault(require("fs-extra"));
27
27
  const path_1 = __importDefault(require("path"));
28
- const lodash_template_1 = __importDefault(require("lodash.template"));
28
+ const lodash_1 = require("lodash");
29
29
  const junk = __importStar(require("../util/junk"));
30
30
  const glob_1 = __importDefault(require("glob"));
31
31
  const jszip_1 = __importDefault(require("jszip"));
@@ -41,7 +41,7 @@ async function generateFiles(appFileData, srcDir, dstDir, ctx) {
41
41
  const tplStr = await fs_extra_1.default.readFile(path_1.default.join(srcDir, srcFileName), {
42
42
  encoding: 'utf8',
43
43
  });
44
- let generatedCode = (0, lodash_template_1.default)(tplStr, { interpolate: /<%=([\s\S]+?)%>/ })(appFileData[file]);
44
+ let generatedCode = (0, lodash_1.template)(tplStr, { interpolate: /<%=([\s\S]+?)%>/ })(appFileData[file]);
45
45
  // 混合模式下,引用公共路径要多增加一层,并加多一层命名
46
46
  // 混合子包直接在对应目录上生成,而不采用替换的方式 @royhyang
47
47
  // if (ctx?.isMixMode && ctx?.rootPath) {
@@ -75,7 +75,7 @@ async function writeFile(outFile, content) {
75
75
  }
76
76
  exports.writeFile = writeFile;
77
77
  function removeFile(file) {
78
- console.log('Removing ' + file);
78
+ console.log(`Removing ${file}`);
79
79
  Object.keys(generatedFileContents).map((cachedFile) => {
80
80
  if (cachedFile.indexOf(file) === 0) {
81
81
  delete generatedFileContents[cachedFile];
@@ -145,7 +145,7 @@ exports.copyFileSync = copyFileSync;
145
145
  */
146
146
  const copyRecursiveSync = function (src, dest, options) {
147
147
  const exists = fs_extra_1.default.existsSync(src);
148
- if (!exists || (options && options.filter && !options.filter(src, dest))) {
148
+ if (!exists || ((options === null || options === void 0 ? void 0 : options.filter) && !options.filter(src, dest))) {
149
149
  return;
150
150
  }
151
151
  const stats = fs_extra_1.default.statSync(src);
@@ -155,7 +155,7 @@ const copyRecursiveSync = function (src, dest, options) {
155
155
  }
156
156
  if (isDirectory) {
157
157
  const files = fs_extra_1.default.readdirSync(src);
158
- files.forEach(function (childItemName) {
158
+ files.forEach((childItemName) => {
159
159
  (0, exports.copyRecursiveSync)(path_1.default.join(src, childItemName), path_1.default.join(dest, childItemName), options);
160
160
  });
161
161
  }
@@ -171,7 +171,7 @@ exports.copyRecursiveSync = copyRecursiveSync;
171
171
  * @returns
172
172
  */
173
173
  function mkDirByPathSync(targetDir, { isRelativeToScript = false } = {}) {
174
- const sep = path_1.default.sep;
174
+ const { sep } = path_1.default;
175
175
  const initDir = path_1.default.isAbsolute(targetDir) ? sep : '';
176
176
  const baseDir = isRelativeToScript ? __dirname : '.';
177
177
  return targetDir.split(sep).reduce((parentDir, childDir) => {
@@ -180,15 +180,17 @@ function mkDirByPathSync(targetDir, { isRelativeToScript = false } = {}) {
180
180
  fs_extra_1.default.mkdirSync(curDir);
181
181
  }
182
182
  catch (err) {
183
- if (err.code === 'EEXIST') { // curDir already exists!
183
+ if (err.code === 'EEXIST') {
184
+ // curDir already exists!
184
185
  return curDir;
185
186
  }
186
187
  // To avoid `EISDIR` error on Mac and `EACCES`-->`ENOENT` and `EPERM` on Windows.
187
- if (err.code === 'ENOENT') { // Throw the original parentDir error on curDir `ENOENT` failure.
188
+ if (err.code === 'ENOENT') {
189
+ // Throw the original parentDir error on curDir `ENOENT` failure.
188
190
  throw new Error(`EACCES: permission denied, mkdir '${parentDir}'`);
189
191
  }
190
192
  const caughtErr = ['EACCES', 'EPERM', 'EISDIR'].indexOf(err.code) > -1;
191
- if (!caughtErr || caughtErr && curDir === path_1.default.resolve(targetDir)) {
193
+ if (!caughtErr || (caughtErr && curDir === path_1.default.resolve(targetDir))) {
192
194
  throw err; // Throw if it's just the last created dir.
193
195
  }
194
196
  }
@@ -231,7 +233,7 @@ exports.getFiles = getFiles;
231
233
  * @returns
232
234
  */
233
235
  async function fileToZip(files, type) {
234
- var zip = new jszip_1.default();
236
+ let zip = new jszip_1.default();
235
237
  for (let prop in files) {
236
238
  zip.file(prop, files[prop]);
237
239
  }
@@ -18,9 +18,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
18
18
  __setModuleDefault(result, mod);
19
19
  return result;
20
20
  };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
21
  Object.defineProperty(exports, "__esModule", { value: true });
25
22
  exports.mergePages = exports.mergePackageDependiences = exports.mergePackageJson = exports.mergeSubPackages = void 0;
26
23
  /**
@@ -31,7 +28,7 @@ exports.mergePages = exports.mergePackageDependiences = exports.mergePackageJson
31
28
  * Please refer to license text included with this package for license details.
32
29
  */
33
30
  const fs = __importStar(require("fs-extra"));
34
- const lodash_1 = __importDefault(require("lodash"));
31
+ const lodash_1 = require("lodash");
35
32
  const mp_config_1 = require("../mp/mp_config");
36
33
  // 将后面的子包配置合并到前面
37
34
  // 暂时不考虑 root 会重名的情况
@@ -80,10 +77,7 @@ exports.mergePackageDependiences = mergePackageDependiences;
80
77
  async function mergePages(baseAppJsonPath, mergeAppJsonPath) {
81
78
  const baseJson = fs.readJSONSync(baseAppJsonPath);
82
79
  const mergeJson = fs.readJSONSync(mergeAppJsonPath);
83
- baseJson.pages = lodash_1.default.uniq([
84
- ...(baseJson.pages || []),
85
- ...(mergeJson.pages || []),
86
- ]);
80
+ baseJson.pages = (0, lodash_1.uniq)([...(baseJson.pages || []), ...(mergeJson.pages || [])]);
87
81
  await fs.writeJSON(baseAppJsonPath, baseJson, { spaces: 2 });
88
82
  }
89
83
  exports.mergePages = mergePages;