@cloudbase/lowcode-builder 1.8.106 → 1.8.107

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 (47) hide show
  1. package/lib/builder/config/dependencies.d.ts +9 -0
  2. package/lib/builder/config/dependencies.js +45 -0
  3. package/lib/builder/config/index.d.ts +1 -0
  4. package/lib/builder/config/index.js +3 -1
  5. package/lib/builder/core/index.d.ts +1 -1
  6. package/lib/builder/core/index.js +13 -13
  7. package/lib/builder/mp/BuildContext.d.ts +1 -0
  8. package/lib/builder/mp/index.d.ts +1 -2
  9. package/lib/builder/mp/index.js +13 -38
  10. package/lib/builder/mp/lowcode.js +5 -1
  11. package/lib/builder/mp/materials.d.ts +2 -3
  12. package/lib/builder/mp/materials.js +28 -26
  13. package/lib/builder/mp/mp_config.js +2 -1
  14. package/lib/builder/mp/util.d.ts +5 -2
  15. package/lib/builder/mp/util.js +14 -6
  16. package/lib/builder/mp/wxml.d.ts +3 -1
  17. package/lib/builder/mp/wxml.js +20 -7
  18. package/lib/builder.web.js +8 -8
  19. package/package.json +3 -3
  20. package/template/html/index.html.ejs +2 -2
  21. package/template/mp/app/common.js +0 -2
  22. package/template/mp/app/weapps-api.js +1 -20
  23. package/template/mp/common/info/index.js +4 -2
  24. package/template/mp/common/util.js +33 -774
  25. package/template/mp/common/weapp-page.js +12 -514
  26. package/template/mp/component/index.js +52 -19
  27. package/template/mp/component/index.json +1 -1
  28. package/template/mp/datasources/index.js.tpl +3 -99
  29. package/template/mp/package.json +4 -15
  30. package/template/mp/packages/$wd_system/pages/login/index.json +1 -1
  31. package/template/mp/packages/$wd_system/pages/login/methods/loginByWXPhone.js +6 -3
  32. package/template/mp/page/index.js +1 -2
  33. package/template/mp/common/constant.js +0 -1
  34. package/template/mp/common/data-patch-test.js +0 -60
  35. package/template/mp/common/data-patch.js +0 -66
  36. package/template/mp/common/event-emitter.js +0 -124
  37. package/template/mp/common/flow.js +0 -65
  38. package/template/mp/common/merge-renderer.js +0 -75
  39. package/template/mp/common/placeholder/index.js +0 -1
  40. package/template/mp/common/placeholder/index.json +0 -4
  41. package/template/mp/common/placeholder/index.wxml +0 -1
  42. package/template/mp/common/placeholder/index.wxss +0 -1
  43. package/template/mp/common/query.js +0 -300
  44. package/template/mp/common/style.js +0 -34
  45. package/template/mp/common/watch.js +0 -70
  46. package/template/mp/common/weapp-component.js +0 -289
  47. package/template/mp/common/widget.js +0 -872
@@ -3,7 +3,7 @@ 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.getMpEventHandlerName = exports.generateWxml = exports.WD_RUNTIME_TAG = exports.WD_EMPTY_PLACEHOLDER = void 0;
6
+ exports.generateComponentPlaceholder = exports.getMpEventHandlerName = exports.generateWxml = exports.WD_RUNTIME_TAG = exports.WD_EMPTY_PLACEHOLDER = void 0;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const weapps_core_1 = require("@cloudbase/lowcode-generator/lib/weapps-core");
9
9
  const xml_js_1 = require("xml-js");
@@ -17,7 +17,7 @@ exports.WD_EMPTY_PLACEHOLDER = 'wd-ph';
17
17
  const WD_INFO = 'wd-info';
18
18
  exports.WD_RUNTIME_TAG = [exports.WD_EMPTY_PLACEHOLDER, WD_INFO];
19
19
  const error = chalk_1.default.redBright;
20
- function generateWxml(ctx, widgets, docTag, wxmlDataPrefix, usingComponents, componentGenerics, nodeTransform) {
20
+ function generateWxml(ctx, widgets, docTag, wxmlDataPrefix, usingComponents, componentGenerics, nodeTransform, mode = 'inline') {
21
21
  const nameMangler = ctx.isProduction ? new name_mangler_1.default({ blackList: mp_1.builtinMpTags }) : undefined;
22
22
  const xmlJson = {
23
23
  elements: createXml(widgets),
@@ -38,8 +38,8 @@ function generateWxml(ctx, widgets, docTag, wxmlDataPrefix, usingComponents, com
38
38
  xmlJson.elements = [pageMeta];
39
39
  // usingComponents['wd-privacy'] = '/common/privacyModal/index';
40
40
  usingComponents[WD_INFO] = path_1.default.posix.join('/', ctx.wedaRoot || '', '/common/info/index');
41
- if (enableAsyncMaterials) {
42
- usingComponents[exports.WD_EMPTY_PLACEHOLDER] = path_1.default.posix.join('/', ctx.wedaRoot || '', '/common/placeholder/index');
41
+ if (enableAsyncMaterials || mode === 'lib') {
42
+ usingComponents[exports.WD_EMPTY_PLACEHOLDER] = '@cloudbase/weda-client/mp/runtime/placeholder/index';
43
43
  }
44
44
  if (disabled && ctx.pageUUID !== ctx.statusPageId) {
45
45
  pageMeta.elements = [
@@ -223,7 +223,7 @@ function generateWxml(ctx, widgets, docTag, wxmlDataPrefix, usingComponents, com
223
223
  console.error(error(`Component(${xComponent.name}) not found in lib(${xComponent.moduleName}). ${helpMsg}`));
224
224
  continue;
225
225
  }
226
- const meta = (0, materials_1.getWxmlTag)(ctx, xComponent, nameMangler);
226
+ const meta = (0, materials_1.getWxmlTag)(ctx, xComponent, nameMangler, mode);
227
227
  tagName = meta.tagName;
228
228
  path = meta.path;
229
229
  }
@@ -313,7 +313,7 @@ function generateWxml(ctx, widgets, docTag, wxmlDataPrefix, usingComponents, com
313
313
  // handle generic component, https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/generics.html
314
314
  const passedComp = data[prop].value;
315
315
  const [libName, compName] = passedComp.split(':');
316
- const { tagName, path } = (0, materials_1.getWxmlTag)(ctx, { moduleName: libName, name: compName }, nameMangler);
316
+ const { tagName, path } = (0, materials_1.getWxmlTag)(ctx, { moduleName: libName, name: compName }, nameMangler, mode);
317
317
  node.attributes[`generic:${getGenericCompTagName(prop)}`] = tagName;
318
318
  usingComponents[tagName] = path;
319
319
  continue;
@@ -327,7 +327,7 @@ function generateWxml(ctx, widgets, docTag, wxmlDataPrefix, usingComponents, com
327
327
  /**
328
328
  * 来自外部引用的组件,添加系统系别的事件绑定
329
329
  */
330
- if (componentGenerics[tagName] || usingComponents[tagName]) {
330
+ if ((componentGenerics[tagName] || usingComponents[tagName]) && !ctx.disablePageComponentInvoke) {
331
331
  node.attributes['bind:attached'] = '__mnt__';
332
332
  node.attributes['bind:detached'] = '__unmnt__';
333
333
  }
@@ -507,3 +507,16 @@ function isGlobalAttr(prop = '') {
507
507
  ];
508
508
  return globalAttrs.indexOf(prop) > -1 || prop.startsWith('data-') || prop.startsWith('aria-');
509
509
  }
510
+ function generateComponentPlaceholder(usingComponents) {
511
+ let componentPlaceholder;
512
+ if (usingComponents[exports.WD_EMPTY_PLACEHOLDER]) {
513
+ componentPlaceholder = Object.keys(usingComponents).reduce((map, key) => {
514
+ if (!exports.WD_RUNTIME_TAG.includes(key)) {
515
+ map[key] = exports.WD_EMPTY_PLACEHOLDER;
516
+ }
517
+ return map;
518
+ }, {});
519
+ }
520
+ return componentPlaceholder;
521
+ }
522
+ exports.generateComponentPlaceholder = generateComponentPlaceholder;