@cloudbase/framework-plugin-low-code 1.0.2-beta.0 → 1.0.2-beta.3

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 (218) hide show
  1. package/package.json +3 -3
  2. package/template/src/datasources/index.js.tpl +0 -2
  3. package/lib/builder/config/common.d.ts +0 -2
  4. package/lib/builder/config/common.d.ts.map +0 -1
  5. package/lib/builder/config/common.js +0 -13
  6. package/lib/builder/config/index.d.ts +0 -3
  7. package/lib/builder/config/index.d.ts.map +0 -1
  8. package/lib/builder/config/index.js +0 -29
  9. package/lib/builder/config/mp.d.ts +0 -2
  10. package/lib/builder/config/mp.d.ts.map +0 -1
  11. package/lib/builder/config/mp.js +0 -13
  12. package/lib/builder/core/copy.d.ts +0 -5
  13. package/lib/builder/core/copy.d.ts.map +0 -1
  14. package/lib/builder/core/copy.js +0 -62
  15. package/lib/builder/core/generate.d.ts +0 -9
  16. package/lib/builder/core/generate.d.ts.map +0 -1
  17. package/lib/builder/core/generate.js +0 -128
  18. package/lib/builder/core/index.d.ts +0 -32
  19. package/lib/builder/core/index.d.ts.map +0 -1
  20. package/lib/builder/core/index.js +0 -149
  21. package/lib/builder/core/material.d.ts +0 -4
  22. package/lib/builder/core/material.d.ts.map +0 -1
  23. package/lib/builder/core/material.js +0 -80
  24. package/lib/builder/core/plugin.d.ts +0 -4
  25. package/lib/builder/core/plugin.d.ts.map +0 -1
  26. package/lib/builder/core/plugin.js +0 -30
  27. package/lib/builder/core/prepare.d.ts +0 -8
  28. package/lib/builder/core/prepare.d.ts.map +0 -1
  29. package/lib/builder/core/prepare.js +0 -108
  30. package/lib/builder/core/webpack.d.ts +0 -15
  31. package/lib/builder/core/webpack.d.ts.map +0 -1
  32. package/lib/builder/core/webpack.js +0 -58
  33. package/lib/builder/mp/BuildContext.d.ts +0 -13
  34. package/lib/builder/mp/BuildContext.d.ts.map +0 -1
  35. package/lib/builder/mp/BuildContext.js +0 -2
  36. package/lib/builder/mp/index.d.ts +0 -33
  37. package/lib/builder/mp/index.d.ts.map +0 -1
  38. package/lib/builder/mp/index.js +0 -453
  39. package/lib/builder/mp/lowcode.d.ts +0 -8
  40. package/lib/builder/mp/lowcode.d.ts.map +0 -1
  41. package/lib/builder/mp/lowcode.js +0 -58
  42. package/lib/builder/mp/materials.d.ts +0 -15
  43. package/lib/builder/mp/materials.d.ts.map +0 -1
  44. package/lib/builder/mp/materials.js +0 -338
  45. package/lib/builder/mp/mixMode.d.ts +0 -10
  46. package/lib/builder/mp/mixMode.d.ts.map +0 -1
  47. package/lib/builder/mp/mixMode.js +0 -215
  48. package/lib/builder/mp/mp_config.d.ts +0 -18
  49. package/lib/builder/mp/mp_config.d.ts.map +0 -1
  50. package/lib/builder/mp/mp_config.js +0 -206
  51. package/lib/builder/mp/util.d.ts +0 -20
  52. package/lib/builder/mp/util.d.ts.map +0 -1
  53. package/lib/builder/mp/util.js +0 -239
  54. package/lib/builder/mp/wxml.d.ts +0 -16
  55. package/lib/builder/mp/wxml.d.ts.map +0 -1
  56. package/lib/builder/mp/wxml.js +0 -310
  57. package/lib/builder/service/builder/copy.d.ts +0 -14
  58. package/lib/builder/service/builder/copy.d.ts.map +0 -1
  59. package/lib/builder/service/builder/copy.js +0 -185
  60. package/lib/builder/service/builder/generate.d.ts +0 -52
  61. package/lib/builder/service/builder/generate.d.ts.map +0 -1
  62. package/lib/builder/service/builder/generate.js +0 -800
  63. package/lib/builder/service/builder/index.d.ts +0 -16
  64. package/lib/builder/service/builder/index.d.ts.map +0 -1
  65. package/lib/builder/service/builder/index.js +0 -69
  66. package/lib/builder/service/builder/plugin.d.ts +0 -8
  67. package/lib/builder/service/builder/plugin.d.ts.map +0 -1
  68. package/lib/builder/service/builder/plugin.js +0 -149
  69. package/lib/builder/service/builder/webpack.d.ts +0 -91
  70. package/lib/builder/service/builder/webpack.d.ts.map +0 -1
  71. package/lib/builder/service/builder/webpack.js +0 -594
  72. package/lib/builder/types/common.d.ts +0 -12
  73. package/lib/builder/types/common.d.ts.map +0 -1
  74. package/lib/builder/types/common.js +0 -7
  75. package/lib/builder/util/common.d.ts +0 -36
  76. package/lib/builder/util/common.d.ts.map +0 -1
  77. package/lib/builder/util/common.js +0 -257
  78. package/lib/builder/util/console.d.ts +0 -2
  79. package/lib/builder/util/console.d.ts.map +0 -1
  80. package/lib/builder/util/console.js +0 -13
  81. package/lib/builder/util/generateFiles.d.ts +0 -6
  82. package/lib/builder/util/generateFiles.d.ts.map +0 -1
  83. package/lib/builder/util/generateFiles.js +0 -94
  84. package/lib/builder/util/index.d.ts +0 -2
  85. package/lib/builder/util/index.d.ts.map +0 -1
  86. package/lib/builder/util/index.js +0 -13
  87. package/lib/builder/util/junk.d.ts +0 -3
  88. package/lib/builder/util/junk.d.ts.map +0 -1
  89. package/lib/builder/util/junk.js +0 -25
  90. package/lib/builder/util/mp.d.ts +0 -5
  91. package/lib/builder/util/mp.d.ts.map +0 -1
  92. package/lib/builder/util/mp.js +0 -99
  93. package/lib/builder/util/name-mangler.d.ts +0 -3
  94. package/lib/builder/util/name-mangler.d.ts.map +0 -1
  95. package/lib/builder/util/name-mangler.js +0 -7
  96. package/lib/builder/util/net.d.ts +0 -3
  97. package/lib/builder/util/net.d.ts.map +0 -1
  98. package/lib/builder/util/net.js +0 -54
  99. package/lib/builder/util/process.d.ts +0 -9
  100. package/lib/builder/util/process.d.ts.map +0 -1
  101. package/lib/builder/util/process.js +0 -28
  102. package/lib/builder/util/style.d.ts +0 -2
  103. package/lib/builder/util/style.d.ts.map +0 -1
  104. package/lib/builder/util/style.js +0 -13
  105. package/lib/builder/util/weapp.d.ts +0 -2
  106. package/lib/builder/util/weapp.d.ts.map +0 -1
  107. package/lib/builder/util/weapp.js +0 -13
  108. package/lib/generator/config/common.d.ts +0 -6
  109. package/lib/generator/config/common.d.ts.map +0 -1
  110. package/lib/generator/config/common.js +0 -25
  111. package/lib/generator/config/index.d.ts +0 -18
  112. package/lib/generator/config/index.d.ts.map +0 -1
  113. package/lib/generator/config/index.js +0 -43
  114. package/lib/generator/config/mp.d.ts +0 -56
  115. package/lib/generator/config/mp.d.ts.map +0 -1
  116. package/lib/generator/config/mp.js +0 -104
  117. package/lib/generator/core/generate.d.ts +0 -59
  118. package/lib/generator/core/generate.d.ts.map +0 -1
  119. package/lib/generator/core/generate.js +0 -669
  120. package/lib/generator/core/index.d.ts +0 -25
  121. package/lib/generator/core/index.d.ts.map +0 -1
  122. package/lib/generator/core/index.js +0 -102
  123. package/lib/generator/core/material.d.ts +0 -14
  124. package/lib/generator/core/material.d.ts.map +0 -1
  125. package/lib/generator/core/material.js +0 -230
  126. package/lib/generator/template.d.ts +0 -3
  127. package/lib/generator/template.d.ts.map +0 -1
  128. package/lib/generator/template.js +0 -3
  129. package/lib/generator/types/common.d.ts +0 -69
  130. package/lib/generator/types/common.d.ts.map +0 -1
  131. package/lib/generator/types/common.js +0 -21
  132. package/lib/generator/util/common.d.ts +0 -36
  133. package/lib/generator/util/common.d.ts.map +0 -1
  134. package/lib/generator/util/common.js +0 -238
  135. package/lib/generator/util/console.d.ts +0 -3
  136. package/lib/generator/util/console.d.ts.map +0 -1
  137. package/lib/generator/util/console.js +0 -17
  138. package/lib/generator/util/index.d.ts +0 -2
  139. package/lib/generator/util/index.d.ts.map +0 -1
  140. package/lib/generator/util/index.js +0 -13
  141. package/lib/generator/util/name-mangler.d.ts +0 -17
  142. package/lib/generator/util/name-mangler.d.ts.map +0 -1
  143. package/lib/generator/util/name-mangler.js +0 -63
  144. package/lib/generator/util/postcss-rpx.d.ts +0 -11
  145. package/lib/generator/util/postcss-rpx.d.ts.map +0 -1
  146. package/lib/generator/util/postcss-rpx.js +0 -16
  147. package/lib/generator/util/style.d.ts +0 -6
  148. package/lib/generator/util/style.d.ts.map +0 -1
  149. package/lib/generator/util/style.js +0 -92
  150. package/lib/generator/util/weapp.d.ts +0 -5
  151. package/lib/generator/util/weapp.d.ts.map +0 -1
  152. package/lib/generator/util/weapp.js +0 -17
  153. package/lib/types.d.ts +0 -14
  154. package/lib/types.d.ts.map +0 -1
  155. package/lib/types.js +0 -19
  156. package/lib/weapps-core/config/index.d.ts +0 -2
  157. package/lib/weapps-core/config/index.d.ts.map +0 -1
  158. package/lib/weapps-core/config/index.js +0 -13
  159. package/lib/weapps-core/config/style.d.ts +0 -7
  160. package/lib/weapps-core/config/style.d.ts.map +0 -1
  161. package/lib/weapps-core/config/style.js +0 -70
  162. package/lib/weapps-core/index.d.ts +0 -6
  163. package/lib/weapps-core/index.d.ts.map +0 -1
  164. package/lib/weapps-core/index.js +0 -31
  165. package/lib/weapps-core/types/action.d.ts +0 -25
  166. package/lib/weapps-core/types/action.d.ts.map +0 -1
  167. package/lib/weapps-core/types/action.js +0 -28
  168. package/lib/weapps-core/types/app.d.ts +0 -141
  169. package/lib/weapps-core/types/app.d.ts.map +0 -1
  170. package/lib/weapps-core/types/app.js +0 -21
  171. package/lib/weapps-core/types/appbuild.d.ts +0 -63
  172. package/lib/weapps-core/types/appbuild.d.ts.map +0 -1
  173. package/lib/weapps-core/types/appbuild.js +0 -78
  174. package/lib/weapps-core/types/code_types.d.ts +0 -26
  175. package/lib/weapps-core/types/code_types.d.ts.map +0 -1
  176. package/lib/weapps-core/types/code_types.js +0 -2
  177. package/lib/weapps-core/types/git.d.ts +0 -7
  178. package/lib/weapps-core/types/git.d.ts.map +0 -1
  179. package/lib/weapps-core/types/git.js +0 -2
  180. package/lib/weapps-core/types/index.d.ts +0 -11
  181. package/lib/weapps-core/types/index.d.ts.map +0 -1
  182. package/lib/weapps-core/types/index.js +0 -22
  183. package/lib/weapps-core/types/lowcode.d.ts +0 -26
  184. package/lib/weapps-core/types/lowcode.d.ts.map +0 -1
  185. package/lib/weapps-core/types/lowcode.js +0 -25
  186. package/lib/weapps-core/types/material.d.ts +0 -90
  187. package/lib/weapps-core/types/material.d.ts.map +0 -1
  188. package/lib/weapps-core/types/material.js +0 -9
  189. package/lib/weapps-core/types/plugins.d.ts +0 -17
  190. package/lib/weapps-core/types/plugins.d.ts.map +0 -1
  191. package/lib/weapps-core/types/plugins.js +0 -2
  192. package/lib/weapps-core/types/style.d.ts +0 -93
  193. package/lib/weapps-core/types/style.d.ts.map +0 -1
  194. package/lib/weapps-core/types/style.js +0 -2
  195. package/lib/weapps-core/types/web.d.ts +0 -120
  196. package/lib/weapps-core/types/web.d.ts.map +0 -1
  197. package/lib/weapps-core/types/web.js +0 -2
  198. package/lib/weapps-core/utils/appbuild.d.ts +0 -6
  199. package/lib/weapps-core/utils/appbuild.d.ts.map +0 -1
  200. package/lib/weapps-core/utils/appbuild.js +0 -40
  201. package/lib/weapps-core/utils/common.d.ts +0 -16
  202. package/lib/weapps-core/utils/common.d.ts.map +0 -1
  203. package/lib/weapps-core/utils/common.js +0 -90
  204. package/lib/weapps-core/utils/file.d.ts +0 -12
  205. package/lib/weapps-core/utils/file.d.ts.map +0 -1
  206. package/lib/weapps-core/utils/file.js +0 -142
  207. package/lib/weapps-core/utils/formily.d.ts +0 -5
  208. package/lib/weapps-core/utils/formily.d.ts.map +0 -1
  209. package/lib/weapps-core/utils/formily.js +0 -407
  210. package/lib/weapps-core/utils/index.d.ts +0 -7
  211. package/lib/weapps-core/utils/index.d.ts.map +0 -1
  212. package/lib/weapps-core/utils/index.js +0 -18
  213. package/lib/weapps-core/utils/lowcdoe.d.ts +0 -4
  214. package/lib/weapps-core/utils/lowcdoe.d.ts.map +0 -1
  215. package/lib/weapps-core/utils/lowcdoe.js +0 -69
  216. package/lib/weapps-core/utils/style.d.ts +0 -17
  217. package/lib/weapps-core/utils/style.d.ts.map +0 -1
  218. package/lib/weapps-core/utils/style.js +0 -321
@@ -1,669 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.generateCodeFromTpl = exports.writeLowCodeFiles = exports.generateRouterFile = exports.getListenersString = exports.getComponentSchemaString = exports.isSlot = exports.pullComponentToListByInstance = exports.pullActionToListByInstances = exports.getOriginComponentAndActionList = exports.generateSinglePageJsxFile = exports.runGenerateCore = void 0;
16
- const weapps_core_1 = require("../../weapps-core");
17
- const common_1 = require("../types/common");
18
- const path_1 = __importDefault(require("path"));
19
- const template_1 = __importDefault(require("../template"));
20
- const util_1 = require("../util");
21
- const config_1 = require("../config");
22
- const os_1 = __importDefault(require("os"));
23
- const react_schema_renderer_1 = require("@formily/react-schema-renderer");
24
- const style_1 = require("../util/style");
25
- const lodash_template_1 = __importDefault(require("lodash.template"));
26
- const chalk_1 = __importDefault(require("chalk"));
27
- const types_1 = require("../../types");
28
- const dataSource_1 = require("../../utils/dataSource");
29
- function runGenerateCore(props) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- const { appBuildDir, appData, subAppDataList = [], dependencies = [], buildTypeList, appKey, basename, extraData = {
32
- isComposite: false,
33
- compProps: {},
34
- }, i18nConfig, fileCodeMap, isSandbox = false, deployMode, runtime = types_1.RUNTIME.NONE, ignoreInstall = false, } = props;
35
- const { domain } = appData.extra;
36
- const allAppDataList = [appData].concat(subAppDataList);
37
- const deps = {};
38
- allAppDataList.map((app) => {
39
- Object.entries(app.npmDependencies).forEach(([name, version]) => {
40
- deps[name] = version;
41
- });
42
- });
43
- dependencies.map((compLb) => {
44
- if (compLb.isComposite && compLb.compLibCommonResource) {
45
- Object.assign(deps, compLb.compLibCommonResource.npm);
46
- }
47
- });
48
- yield Promise.all(allAppDataList.map((data) => __awaiter(this, void 0, void 0, function* () {
49
- const { pageInstanceList, rootPath = '' } = data;
50
- console.log(chalk_1.default.blue.bold(`Generating files for ${rootPath ? 'Sub app ' + rootPath : 'Main app'}`));
51
- const dstDir = path_1.default.join(appBuildDir, 'src', rootPath ? `packages/${rootPath}` : '');
52
- yield Promise.all(pageInstanceList.map((pageInstance) => generateSinglePageJsxFile(pageInstance, appBuildDir, rootPath, dependencies, extraData, fileCodeMap, isSandbox)));
53
- yield generateCodeFromTpl(appKey, data, dstDir, rootPath, extraData, i18nConfig, fileCodeMap, isSandbox, subAppDataList, buildTypeList, deployMode, domain);
54
- yield writeLowCodeFiles(data, dstDir, fileCodeMap, rootPath);
55
- })));
56
- yield generateRouterFile(allAppDataList, appBuildDir, basename, fileCodeMap, isSandbox);
57
- });
58
- }
59
- exports.runGenerateCore = runGenerateCore;
60
- function getGenericCompFromDep(dependencies = []) {
61
- const genericCompMap = {};
62
- dependencies.forEach((compLib) => {
63
- if (compLib.isComposite) {
64
- compLib.components.forEach((component) => {
65
- (0, util_1.deepDealComponentSchemaJson)(Object.values(component.componentInstances)[0], (componentSchema) => {
66
- if (componentSchema === null || componentSchema === void 0 ? void 0 : componentSchema.genericComp) {
67
- genericCompMap[`${component.materialName}:${component.name}`] =
68
- componentSchema.genericComp;
69
- }
70
- });
71
- });
72
- }
73
- });
74
- return genericCompMap;
75
- }
76
- function generateSinglePageJsxFile(pageInstance, appBuildDir, rootPath, dependencies = [], extraData = {
77
- isComposite: false,
78
- compProps: {},
79
- }, fileCodeMap, isSandbox) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- const dstDir = path_1.default.join(appBuildDir, 'src', rootPath ? `packages/${rootPath}` : '');
82
- const { componentSchemaJson, data, style } = pageInstance;
83
- const genericCompMap = getGenericCompFromDep(dependencies);
84
- const { originComponentList, originActionList, } = getOriginComponentAndActionList(componentSchemaJson, dependencies, [], [], genericCompMap);
85
- const componentInfo = yield (0, util_1.getComponentsInfo)(appBuildDir, dependencies, fileCodeMap);
86
- const { widgets, dataBinds, componentSchema } = getComponentSchemaString(componentSchemaJson, false, componentInfo);
87
- const pageClass = [rootPath, pageInstance.id].filter(Boolean).join('-');
88
- const templateData = {
89
- upperFirst: util_1.upperFirst,
90
- cleanVarName: util_1.cleanVarName,
91
- isSandbox,
92
- pageName: pageInstance.id,
93
- pageStyleText: (0, weapps_core_1.toCssText)((0, weapps_core_1.toCssStyle)(style), `body`),
94
- useComponents: originComponentList,
95
- useActions: originActionList.filter((action) => action.type === weapps_core_1.ActionType.Material),
96
- componentSchema,
97
- widgets,
98
- dataBinds,
99
- pageClass,
100
- isComposite: extraData.isComposite,
101
- compProps: extraData.compProps,
102
- title: data.navigationBarTitleText || data.title || '',
103
- };
104
- const dest = path_1.default.join(dstDir, `/pages/${pageInstance.id}/index.jsx`);
105
- const template = template_1.default[`/src/pages/app.tpl`];
106
- const jsx = (0, lodash_template_1.default)(template.code, { interpolate: /<%=([\s\S]+?)%>/g })(templateData);
107
- fileCodeMap[dest] = {
108
- code: jsx,
109
- };
110
- });
111
- }
112
- exports.generateSinglePageJsxFile = generateSinglePageJsxFile;
113
- function getOriginComponentAndActionList(componentSchema, dependencies, originComponentList = [], originActionList = [], genericCompMap = {}) {
114
- const fieldSchema = new react_schema_renderer_1.Schema(componentSchema);
115
- if (fieldSchema.isObject()) {
116
- const { 'x-props': xProps } = fieldSchema;
117
- if (xProps) {
118
- const { listenerInstances, sourceKey, } = xProps;
119
- if (genericCompMap[sourceKey]) {
120
- const genericProps = genericCompMap[sourceKey];
121
- const genericComp = xProps.data[genericProps.propName];
122
- pullComponentToListByInstance(genericComp, originComponentList, dependencies);
123
- }
124
- pullComponentToListByInstance(sourceKey, originComponentList, dependencies);
125
- pullActionToListByInstances(listenerInstances, originActionList, dependencies);
126
- }
127
- const filedSchemaProperties = fieldSchema.properties || {};
128
- Object.keys(filedSchemaProperties).forEach((key) => {
129
- const schema = filedSchemaProperties[key];
130
- const schemaJson = schema;
131
- getOriginComponentAndActionList(schemaJson, dependencies, originComponentList, originActionList, genericCompMap);
132
- });
133
- }
134
- return {
135
- originComponentList,
136
- originActionList,
137
- };
138
- }
139
- exports.getOriginComponentAndActionList = getOriginComponentAndActionList;
140
- function pullActionToListByInstances(listenerInstances, originActionList, fixedDependencies) {
141
- if (!listenerInstances || !listenerInstances.length) {
142
- return;
143
- }
144
- listenerInstances.map((pageListenerInstance) => {
145
- const { sourceKey, type } = pageListenerInstance;
146
- const { materialName, name, variableName } = (0, util_1.getMetaInfoBySourceKey)(sourceKey);
147
- const material = fixedDependencies.find((m) => m.name === materialName);
148
- const actionKey = `${materialName}_${name}`;
149
- const isExistAction = originActionList.find((item) => item.key === actionKey);
150
- if (!isExistAction) {
151
- originActionList.push({
152
- name,
153
- materialName,
154
- materialVersion: material === null || material === void 0 ? void 0 : material.version,
155
- key: actionKey,
156
- type,
157
- variableName,
158
- entries: material === null || material === void 0 ? void 0 : material.entries,
159
- });
160
- }
161
- });
162
- }
163
- exports.pullActionToListByInstances = pullActionToListByInstances;
164
- function pullComponentToListByInstance(sourceKey, originComponentList, fixedDependencies) {
165
- var _a, _b;
166
- const { materialName, name, variableName } = (0, util_1.getMetaInfoBySourceKey)(sourceKey);
167
- const componentKey = `${materialName}_${name}`;
168
- const isExistComponent = originComponentList.find((item) => item.key === componentKey);
169
- if (!isExistComponent) {
170
- const foundOne = fixedDependencies.find((m) => m.name === materialName);
171
- if (!foundOne)
172
- return;
173
- const { schemaVersion = '' } = foundOne;
174
- let isPlainProps = false;
175
- try {
176
- if (Number((_a = schemaVersion.split('.')) === null || _a === void 0 ? void 0 : _a[0]) >= 3) {
177
- isPlainProps = true;
178
- }
179
- }
180
- catch (e) { }
181
- originComponentList.push({
182
- sourceKey,
183
- name: name || '',
184
- materialName: materialName || '',
185
- materialVersion: foundOne.version,
186
- isComposite: foundOne.isComposite,
187
- key: componentKey,
188
- variableName: variableName || '',
189
- isPlainProps,
190
- entries: (_b = foundOne) === null || _b === void 0 ? void 0 : _b.entries,
191
- });
192
- }
193
- }
194
- exports.pullComponentToListByInstance = pullComponentToListByInstance;
195
- function isSlot(comp) {
196
- return comp.path && !comp['x-props'];
197
- }
198
- exports.isSlot = isSlot;
199
- function getComponentSchemaString(componentSchema, isComposite = false, componentsInfoMap = {}, wrapperClass) {
200
- const componentInputProps = (0, util_1.getInputProps)(componentsInfoMap) || {};
201
- const copyJson = (0, util_1.simpleDeepClone)(componentSchema);
202
- const compWidgets = {};
203
- const compDataBinds = {};
204
- const componentSchemaJson = (0, util_1.deepDealSchema)(copyJson, (schema) => {
205
- var _a, _b, _c, _d, _e, _f, _g;
206
- const { 'x-props': xProps = {}, properties } = schema;
207
- const { dataBinds = [], commonStyle = {}, data = {}, classNameList = [], sourceKey, styleBind, classNameListBind, } = xProps;
208
- const componentInfo = componentsInfoMap[sourceKey];
209
- if ((_a = componentInfo) === null || _a === void 0 ? void 0 : _a.selectableBlock) {
210
- schema['selectableBlock'] = componentInfo['selectableBlock'];
211
- }
212
- if ((_b = componentInfo) === null || _b === void 0 ? void 0 : _b.compConfig) {
213
- schema['compConfig'] = componentInfo['compConfig'];
214
- }
215
- if ((_c = componentInfo) === null || _c === void 0 ? void 0 : _c.events) {
216
- schema['emitEvents'] = (_d = componentInfo) === null || _d === void 0 ? void 0 : _d.events.map((item) => item.name);
217
- }
218
- else if ((_e = componentInfo) === null || _e === void 0 ? void 0 : _e.emitEvents) {
219
- schema['emitEvents'] = componentInfo.emitEvents.map((item) => item.eventName);
220
- }
221
- if (!isSlot(schema) && schema.key) {
222
- const parentSchema = schema.parent;
223
- compWidgets[schema.key] = Object.assign(Object.assign({}, data), { style: (0, weapps_core_1.toCssStyle)(commonStyle), classList: classNameList, widgetType: sourceKey, _parentId: isSlot(parentSchema)
224
- ? (_f = parentSchema.parent) === null || _f === void 0 ? void 0 : _f.key
225
- : parentSchema.key });
226
- if (dataBinds.length > 0) {
227
- compDataBinds[schema.key] = generateDataBinds(dataBinds, isComposite);
228
- }
229
- if (styleBind) {
230
- if (!styleBind.bindDataPath) {
231
- console.warn('无 bindDataPath', xProps);
232
- }
233
- else {
234
- styleBind.propertyPath = 'style';
235
- compDataBinds[schema.key] = Object.assign(Object.assign({}, (compDataBinds[schema.key] || {})), generateDataBinds([styleBind], isComposite));
236
- }
237
- }
238
- if (classNameListBind) {
239
- classNameListBind.propertyPath = 'classList';
240
- compDataBinds[schema.key] = Object.assign(Object.assign({}, (compDataBinds[schema.key] || {})), generateDataBinds([classNameListBind], isComposite));
241
- }
242
- }
243
- delete xProps.data;
244
- delete xProps.dataTypes;
245
- delete xProps.dataBinds;
246
- delete xProps.styleBind;
247
- delete xProps.classNameListBind;
248
- if (properties && (0, weapps_core_1.isEmptyObj)(properties)) {
249
- delete schema.properties;
250
- }
251
- delete schema.type;
252
- if (compWidgets[schema.key]) {
253
- const propsKeys = Object.keys(compWidgets[schema.key]);
254
- propsKeys.forEach((propsKey) => {
255
- const propsVaule = compWidgets[schema.key][propsKey];
256
- if (propsVaule && Array.isArray(propsVaule)) {
257
- propsVaule.map((block) => {
258
- var _a, _b;
259
- const blockInstance = (block === null || block === void 0 ? void 0 : block.selectableBlock) &&
260
- ((_b = (_a = block === null || block === void 0 ? void 0 : block.selectableBlock) === null || _a === void 0 ? void 0 : _a['x-props']) === null || _b === void 0 ? void 0 : _b.listenerInstances);
261
- if (blockInstance) {
262
- block.selectableBlock['x-props'].listenerInstances = generateListnerInstances(blockInstance, isComposite);
263
- }
264
- return block;
265
- });
266
- }
267
- });
268
- }
269
- if (xProps) {
270
- if (isComposite) {
271
- if (!((_g = schema.parent) === null || _g === void 0 ? void 0 : _g.parent)) {
272
- if (!xProps['classNameList'])
273
- xProps['classNameList'] = [];
274
- xProps['classNameList'].push(wrapperClass);
275
- }
276
- }
277
- xProps['commonStyle'] = (0, weapps_core_1.toCssStyle)(xProps['commonStyle']);
278
- if ((0, weapps_core_1.isEmptyObj)(xProps['commonStyle'])) {
279
- delete xProps['commonStyle'];
280
- }
281
- if ((0, weapps_core_1.isEmptyObj)(xProps['style'])) {
282
- delete xProps['style'];
283
- }
284
- if (xProps['dataBinds'] && xProps['dataBinds'].length === 0) {
285
- delete xProps['dataBinds'];
286
- }
287
- if (xProps['listenerInstances'] &&
288
- xProps['listenerInstances'].length === 0) {
289
- delete xProps['listenerInstances'];
290
- }
291
- if (xProps['data']) {
292
- const xPropsData = xProps['data'];
293
- if (xPropsData._waFor && xPropsData._waFor.length === 0) {
294
- delete xPropsData._waFor;
295
- }
296
- if (xPropsData.title === '') {
297
- delete xPropsData.title;
298
- }
299
- if ((0, weapps_core_1.isEmptyObj)(xPropsData)) {
300
- delete xProps['data'];
301
- }
302
- }
303
- if (xProps.listenerInstances) {
304
- xProps.listenerInstances = generateListnerInstances(xProps.listenerInstances, isComposite);
305
- }
306
- const syncProps = componentInputProps[xProps.sourceKey];
307
- if (syncProps) {
308
- if (!xProps.listenerInstances)
309
- xProps.listenerInstances = [];
310
- Object.keys(syncProps).forEach((key) => {
311
- let syncPropArr = [];
312
- const syncProp = syncProps[key];
313
- if (!Array.isArray(syncProp)) {
314
- syncPropArr = [syncProp];
315
- }
316
- syncPropArr.forEach(({ changeEvent, valueFromEvent }) => {
317
- xProps.listenerInstances.unshift({
318
- trigger: changeEvent,
319
- instanceFunction: `${config_1.REPLACE_SIGN}function({ event, forItems, $context }) {
320
- const $for = forItems;
321
- const wid = ${isComposite ? 'this.widgets' : '$page.widgets'}.${schema.key};
322
- const widgetData = (forItems.forIndexes && forItems.forIndexes.length > 0) ? get(wid, forItems.forIndexes) : wid;
323
- widgetData.${key} = ${valueFromEvent};
324
- }.bind(this)${config_1.REPLACE_SIGN}`,
325
- });
326
- });
327
- });
328
- }
329
- if (xProps.dataBinds) {
330
- xProps.dataBinds = generateDataBinds(xProps.dataBinds, isComposite);
331
- }
332
- if (xProps.styleBind) {
333
- xProps.styleBind = generateDataBinds([xProps.styleBind], isComposite);
334
- }
335
- if (xProps.classNameListBind) {
336
- xProps.classNameListBind = generateDataBinds([xProps.classNameListBind], isComposite);
337
- }
338
- }
339
- });
340
- return {
341
- widgets: (0, util_1.JsonToStringWithVariableName)(compWidgets, { EOL: false }),
342
- dataBinds: (0, util_1.JsonToStringWithVariableName)(compDataBinds, { EOL: true }),
343
- componentSchema: (0, util_1.JsonToStringWithVariableName)(componentSchemaJson, {
344
- EOL: true,
345
- }),
346
- };
347
- }
348
- exports.getComponentSchemaString = getComponentSchemaString;
349
- function generateDataBinds(dataBinds, isComposite) {
350
- const dataBindFuncs = {};
351
- dataBinds.forEach((bind) => {
352
- if (!bind.bindDataPath) {
353
- return console.warn('无 bindDataPath', bind.propertyPath);
354
- }
355
- let funcCode = '()=>{}';
356
- if (bind.type === weapps_core_1.PropBindType.forItem) {
357
- funcCode = `(forItems) => forItems.${bind.bindDataPath}`;
358
- }
359
- else if (bind.type === weapps_core_1.PropBindType.scope) {
360
- funcCode = `() => ({__type: "scopedValue", getValue: ($scope)=>$scope.${bind.bindDataPath}})}`;
361
- }
362
- else if (bind.type === weapps_core_1.PropBindType.expression) {
363
- if (isComposite) {
364
- funcCode = `(forItems, event, $context) => {const $for = forItems; return (${bind.bindDataPath
365
- .replace(/\$comp/g, 'this.$WEAPPS_COMP')
366
- .replace(/;$/, '')})}`;
367
- }
368
- else {
369
- const code = bind.bindDataPath.replace(/;$/, '');
370
- funcCode = /\$scope\./.test(code)
371
- ? `(forItems, event, $context)) => ({__type: "scopedValue", getValue: ($scope) => { const $for = forItems; return (${code})}})`
372
- : `(forItems, event, $context)) => { const $for = forItems; return (${code})}`;
373
- }
374
- }
375
- else if (bind.type === weapps_core_1.PropBindType.prop) {
376
- let bindDataPath = bind.bindDataPath;
377
- const isNegated = bindDataPath.startsWith('!');
378
- if (isNegated)
379
- bindDataPath = bindDataPath.replace(/^!/, '');
380
- if (isComposite) {
381
- funcCode = `() => ${isNegated ? '!' : ''}${'this.$WEAPPS_COMP'}.props.data.${bindDataPath}`;
382
- }
383
- else {
384
- funcCode = `() => ${isNegated ? '!' : ''}$page.props.data.${bindDataPath}`;
385
- }
386
- }
387
- else {
388
- const PREFIX_MAP = {
389
- [weapps_core_1.PropBindType.state]: 'state',
390
- [weapps_core_1.PropBindType.computed]: 'computed',
391
- [weapps_core_1.PropBindType.dataVar]: 'dataVar',
392
- [weapps_core_1.PropBindType.stateData]: 'dataset.state',
393
- [weapps_core_1.PropBindType.paramData]: 'dataset.params',
394
- };
395
- switch (bind.type) {
396
- case weapps_core_1.PropBindType.state:
397
- case weapps_core_1.PropBindType.computed:
398
- case weapps_core_1.PropBindType.dataVar:
399
- case weapps_core_1.PropBindType.stateData:
400
- case weapps_core_1.PropBindType.paramData: {
401
- if (bind.bindDataPath.startsWith('global.')) {
402
- funcCode = bind.bindDataPath.replace(/^global./, `app.${PREFIX_MAP[bind.type]}.`);
403
- }
404
- else {
405
- if (isComposite) {
406
- funcCode = bind.bindDataPath
407
- .replace(/^comp-\w+./, `this.$WEAPPS_COMP.${PREFIX_MAP[bind.type]}.`)
408
- .replace(/^\$\w+_\d+./, `this.$WEAPPS_COMP.${PREFIX_MAP[bind.type]}.`);
409
- }
410
- else {
411
- funcCode = bind.bindDataPath.replace(/^\w+./, `$page.${PREFIX_MAP[bind.type]}.`);
412
- }
413
- }
414
- funcCode = `() => ${funcCode}`;
415
- break;
416
- }
417
- }
418
- }
419
- dataBindFuncs[bind.propertyPath] = `${config_1.REPLACE_SIGN}${funcCode}${config_1.REPLACE_SIGN}`;
420
- });
421
- return dataBindFuncs;
422
- }
423
- function generateListnerInstances(listenerInstances, isComposite = false) {
424
- return listenerInstances.map((listener) => {
425
- var _a, _b, _c, _d, _e;
426
- const generatedListener = {
427
- key: listener.key,
428
- trigger: listener.trigger,
429
- isCapturePhase: listener.isCapturePhase,
430
- noPropagation: listener.noPropagation,
431
- };
432
- if (listener.type === weapps_core_1.ActionType.Material) {
433
- const { sourceKey } = listener;
434
- const { variableName } = (0, util_1.getMetaInfoBySourceKey)(sourceKey);
435
- generatedListener.instanceFunction = `${config_1.REPLACE_SIGN}${variableName}${config_1.REPLACE_SIGN}`;
436
- }
437
- else if (listener.type === weapps_core_1.ActionType.PropEvent) {
438
- if (isComposite) {
439
- generatedListener.instanceFunction = `${config_1.REPLACE_SIGN}function({ data, event, forItems }) {
440
- event.detail.data = data;
441
- this.props.emit('${((_a = listener.handler) === null || _a === void 0 ? void 0 : _a.name) || listener.jsCode}', event.detail);
442
- }.bind(this)${config_1.REPLACE_SIGN}`;
443
- }
444
- else {
445
- generatedListener.instanceFunction = `${config_1.REPLACE_SIGN}function(...args) { $page.props.events.${((_b = listener.handler) === null || _b === void 0 ? void 0 : _b.name) || listener.jsCode}.apply(null, args) }${config_1.REPLACE_SIGN}`;
446
- }
447
- }
448
- else if (listener.type === weapps_core_1.ActionType.Inline) {
449
- if (isComposite) {
450
- generatedListener.instanceFunction = `${config_1.REPLACE_SIGN}function({event, domEvent, customEventData, data, forItems}) {
451
- return ${listener.jsCode}
452
- }.bind(this)${config_1.REPLACE_SIGN}`;
453
- }
454
- else {
455
- generatedListener.instanceFunction = `${config_1.REPLACE_SIGN}function({event, domEvent, customEventData, data, forItems}) {
456
- return ${listener.jsCode}
457
- }.bind(pageCodeContext)${config_1.REPLACE_SIGN}`;
458
- }
459
- }
460
- else if (listener.type === weapps_core_1.ActionType.Platform) {
461
- let name = ((_c = listener.handler) === null || _c === void 0 ? void 0 : _c.name) || listener.jsCode;
462
- generatedListener.instanceFunction = `${config_1.REPLACE_SIGN}function({data}) { return app.${name}(data) }${config_1.REPLACE_SIGN}`;
463
- }
464
- else if (listener.type === weapps_core_1.ActionType.DataSource) {
465
- generatedListener.instanceFunction = `${config_1.REPLACE_SIGN}function({data}) { return app.cloud.callDataSource(data) }${config_1.REPLACE_SIGN}`;
466
- }
467
- else {
468
- if (isComposite) {
469
- generatedListener.instanceFunction = `${config_1.REPLACE_SIGN}this.handler.${((_d = listener.handler) === null || _d === void 0 ? void 0 : _d.name) || listener.jsCode}.bind(this)${config_1.REPLACE_SIGN}`;
470
- }
471
- else {
472
- let name = ((_e = listener.handler) === null || _e === void 0 ? void 0 : _e.name) || listener.jsCode;
473
- generatedListener.instanceFunction = `${config_1.REPLACE_SIGN}handler.${name}.bind(pageCodeContext)${config_1.REPLACE_SIGN}`;
474
- }
475
- }
476
- if (!(0, weapps_core_1.isEmptyObj)(listener.data)) {
477
- generatedListener.data = listener.data;
478
- }
479
- if (listener.dataBinds && listener.dataBinds.length > 0) {
480
- generatedListener.dataBinds = generateDataBinds(listener.dataBinds, isComposite);
481
- }
482
- return generatedListener;
483
- });
484
- }
485
- function getListenersString(listeners = [], isComposite = false) {
486
- return (0, util_1.JsonToStringWithVariableName)(generateListnerInstances(listeners, isComposite), {
487
- EOL: true,
488
- });
489
- }
490
- exports.getListenersString = getListenersString;
491
- function generateRouterFile(allAppDataList, appBuildDir, basename = '', fileCodeMap, isSandbox) {
492
- return __awaiter(this, void 0, void 0, function* () {
493
- const routerImports = [];
494
- const routerRenders = [];
495
- const mountApis = [];
496
- let homePageId = '';
497
- yield Promise.all(allAppDataList.map((data) => __awaiter(this, void 0, void 0, function* () {
498
- const { pageInstanceList, rootPath = '' } = data;
499
- const pageFilePath = rootPath ? `/src/packages/${rootPath}/` : '/src/';
500
- pageInstanceList.map((pageInstance) => {
501
- const pageId = [rootPath, pageInstance.id].filter((i) => !!i).join('_');
502
- const pagePath = rootPath
503
- ? `${rootPath}/${pageInstance.id}`
504
- : `${pageInstance.id}`;
505
- if (pageInstance.isHome && !rootPath) {
506
- homePageId = pageId;
507
- routerRenders.push(`<Redirect from="/" exact to="/${pageId}"/>`);
508
- }
509
- if (pageInstance.isHome && rootPath) {
510
- routerRenders.push(`<Redirect from="/${rootPath}" exact to="/${pagePath}"/>`);
511
- }
512
- if (isSandbox) {
513
- routerImports.push(`import Page${pageId} from '${pageFilePath}pages/${pageInstance.id}/index';`);
514
- }
515
- else {
516
- routerImports.push(`const Page${pageId} = React.lazy(() => import('${pageFilePath}pages/${pageInstance.id}/index'));`);
517
- }
518
- routerRenders.push(`<Route path="/${pagePath}" component={() => <Page${pageId} />}/>`);
519
- });
520
- })));
521
- const routerTemplate = template_1.default['/src/router/index.tpl'].code;
522
- const routerIndexStr = (0, lodash_template_1.default)(routerTemplate, {
523
- interpolate: /<%=([\s\S]+?)%>/g,
524
- })({
525
- routerImports: routerImports.join('\n'),
526
- routerRenders: routerRenders.join('\n'),
527
- mountApis: mountApis.join('\n'),
528
- basename: basename,
529
- homePageId,
530
- isHash: isSandbox,
531
- });
532
- const dest = path_1.default.resolve(appBuildDir, `src/router/index.jsx`);
533
- fileCodeMap[dest] = {
534
- code: routerIndexStr,
535
- };
536
- });
537
- }
538
- exports.generateRouterFile = generateRouterFile;
539
- function writeLowCodeFiles(appData, appBuildDir, fileCodeMap, rootPath) {
540
- return __awaiter(this, void 0, void 0, function* () {
541
- const lowcodeRootDir = path_1.default.join(appBuildDir, 'lowcode');
542
- (0, style_1.generateDefaultTheme)(appData);
543
- generateDefaultLifecycle(appData);
544
- const themeCode = appData.codeModules.find((mod) => mod.type === 'theme');
545
- yield Promise.all(appData.codeModules.map((m) => writeCode2file(m, 'global')));
546
- yield Promise.all(appData.pageInstanceList.map((page) => __awaiter(this, void 0, void 0, function* () {
547
- (0, style_1.generateDefaultStyle)(page);
548
- yield page.codeModules
549
- .filter((m) => m.name !== '____index____')
550
- .forEach((m) => writeCode2file(m, page.id, page));
551
- })));
552
- function writeCode2file(mod, pageId, page) {
553
- return __awaiter(this, void 0, void 0, function* () {
554
- const file = path_1.default.join(lowcodeRootDir, (0, weapps_core_1.getCodeModuleFilePath)(pageId, mod, {
555
- style: '.css',
556
- }));
557
- let code = mod.code || '';
558
- let weappsApiPrefix = '';
559
- if (mod.type !== 'theme' && mod.type !== 'style') {
560
- const isIncludeAppDot = !!code
561
- .replace('通过 app.common.[name].xxx 访问这里定义的方法或值', '')
562
- .match(/[^'"\w]?app[^'"\w]/g);
563
- if (isIncludeAppDot) {
564
- weappsApiPrefix = `import { app } from '${path_1.default
565
- .relative(path_1.default.dirname(file), appBuildDir + '/app/global-api')
566
- .replace(/\\/g, '/')}';\nconst $app = app;`;
567
- }
568
- }
569
- if (mod.type === 'style') {
570
- let pageStyleString = '';
571
- if (page) {
572
- const pageClass = [rootPath, page.id].filter(Boolean).join('-');
573
- pageStyleString = (0, weapps_core_1.toCssText)((0, weapps_core_1.toCssStyle)(page.style), `.weapps-page-${pageClass}`);
574
- }
575
- code = yield (0, style_1.processLess)(((themeCode === null || themeCode === void 0 ? void 0 : themeCode.code) || style_1.defaultThemeCode) + code);
576
- }
577
- if (mod.type === 'theme') {
578
- return;
579
- }
580
- fileCodeMap[file] = {
581
- code: weappsApiPrefix + os_1.default.EOL + code.replace(/\$page/g, 'this.$page'),
582
- };
583
- });
584
- }
585
- });
586
- }
587
- exports.writeLowCodeFiles = writeLowCodeFiles;
588
- function generateDefaultLifecycle(data) {
589
- const lowCodes = data.lowCodes || data.codeModules || [];
590
- const isHas = lowCodes.find((item) => item.type === 'lifecycle');
591
- if (!isHas) {
592
- const themeStyle = {
593
- type: 'lifecycle',
594
- name: 'lifecycle',
595
- code: `export default {}`,
596
- path: `global/lifecycle`,
597
- system: true,
598
- };
599
- lowCodes.unshift(themeStyle);
600
- return themeStyle;
601
- }
602
- return isHas;
603
- }
604
- function generateCodeFromTpl(appKey, appData, appBuildDir, rootPath, extraData, i18nConfig, fileCodeMap, isSandbox, subAppDataList, buildTypeList, deployMode, domain) {
605
- var _a;
606
- return __awaiter(this, void 0, void 0, function* () {
607
- const pageIds = [];
608
- const pageModules = {};
609
- appData.pageInstanceList.map((p) => {
610
- pageIds.push(p.id);
611
- pageModules[p.id] = p.codeModules;
612
- });
613
- const yyptConfig = yield (0, util_1.getYyptConfigInfo)(extraData);
614
- const templatesData = {
615
- 'app/global-api.js': {
616
- appId: appKey,
617
- subPackageName: rootPath,
618
- domain: domain,
619
- },
620
- 'app/handlers.js': {
621
- pageModules,
622
- },
623
- 'app/common.js': {
624
- mods: appData.codeModules
625
- .filter((m) => m.type === 'normal-module' && m.name !== '____index____')
626
- .map((m) => m.name),
627
- },
628
- 'store/computed.js': {
629
- pageIds,
630
- },
631
- 'store/index.js': {},
632
- 'utils/initGlobalVar.js': {},
633
- 'datasources/index.js.tpl': {},
634
- 'datasources/config.js.tpl': {
635
- appID: appKey,
636
- envID: appData.envId,
637
- isProd: deployMode === types_1.DEPLOY_MODE.UPLOAD,
638
- clientID: ((_a = appData.extra) === null || _a === void 0 ? void 0 : _a.clientId) || '',
639
- },
640
- 'datasources/datasource-profiles.js.tpl': {
641
- datasourceProfiles: JSON.stringify((0, dataSource_1.getDatasourceProfiles)(appData.datasources || []), null, 2),
642
- },
643
- 'datasources/dataset-profiles.js.tpl': {
644
- datasetProfiles: (0, util_1.JsonToStringWithVariableName)((0, dataSource_1.getDatasetProfiles)(appData, [appData]), { EOL: true }),
645
- },
646
- 'utils/common.js': {
647
- isAdminPortal: (0, common_1.buildAsAdminPortalByBuildType)(buildTypeList),
648
- },
649
- };
650
- if (!rootPath) {
651
- templatesData['index.jsx'] = Object.assign(Object.assign({}, yyptConfig), { i18nConfig,
652
- isSandbox, isBuildApp: buildTypeList.includes('app'), subAppDataList });
653
- }
654
- for (const file in templatesData) {
655
- const filePath = `/src/${file}`;
656
- if (!template_1.default[filePath]) {
657
- console.log('not found', filePath);
658
- process.exit();
659
- }
660
- const tplStr = template_1.default[filePath].code;
661
- const generatedCode = (0, lodash_template_1.default)(tplStr)(templatesData[file]);
662
- const outFile = path_1.default.resolve(appBuildDir, file.replace(/.tpl$/, ''));
663
- fileCodeMap[outFile] = {
664
- code: generatedCode,
665
- };
666
- }
667
- });
668
- }
669
- exports.generateCodeFromTpl = generateCodeFromTpl;