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