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

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 (217) 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 +58 -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 +789 -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/generator/config/common.d.ts +6 -0
  107. package/lib/generator/config/common.d.ts.map +1 -0
  108. package/lib/generator/config/common.js +25 -0
  109. package/lib/generator/config/index.d.ts +18 -0
  110. package/lib/generator/config/index.d.ts.map +1 -0
  111. package/lib/generator/config/index.js +43 -0
  112. package/lib/generator/config/mp.d.ts +56 -0
  113. package/lib/generator/config/mp.d.ts.map +1 -0
  114. package/lib/generator/config/mp.js +104 -0
  115. package/lib/generator/core/generate.d.ts +59 -0
  116. package/lib/generator/core/generate.d.ts.map +1 -0
  117. package/lib/generator/core/generate.js +669 -0
  118. package/lib/generator/core/index.d.ts +25 -0
  119. package/lib/generator/core/index.d.ts.map +1 -0
  120. package/lib/generator/core/index.js +102 -0
  121. package/lib/generator/core/material.d.ts +14 -0
  122. package/lib/generator/core/material.d.ts.map +1 -0
  123. package/lib/generator/core/material.js +230 -0
  124. package/lib/generator/template.d.ts +3 -0
  125. package/lib/generator/template.d.ts.map +1 -0
  126. package/lib/generator/template.js +3 -0
  127. package/lib/generator/types/common.d.ts +69 -0
  128. package/lib/generator/types/common.d.ts.map +1 -0
  129. package/lib/generator/types/common.js +21 -0
  130. package/lib/generator/util/common.d.ts +36 -0
  131. package/lib/generator/util/common.d.ts.map +1 -0
  132. package/lib/generator/util/common.js +238 -0
  133. package/lib/generator/util/console.d.ts +3 -0
  134. package/lib/generator/util/console.d.ts.map +1 -0
  135. package/lib/generator/util/console.js +17 -0
  136. package/lib/generator/util/index.d.ts +2 -0
  137. package/lib/generator/util/index.d.ts.map +1 -0
  138. package/lib/generator/util/index.js +13 -0
  139. package/lib/generator/util/name-mangler.d.ts +17 -0
  140. package/lib/generator/util/name-mangler.d.ts.map +1 -0
  141. package/lib/generator/util/name-mangler.js +63 -0
  142. package/lib/generator/util/postcss-rpx.d.ts +11 -0
  143. package/lib/generator/util/postcss-rpx.d.ts.map +1 -0
  144. package/lib/generator/util/postcss-rpx.js +16 -0
  145. package/lib/generator/util/style.d.ts +6 -0
  146. package/lib/generator/util/style.d.ts.map +1 -0
  147. package/lib/generator/util/style.js +92 -0
  148. package/lib/generator/util/weapp.d.ts +5 -0
  149. package/lib/generator/util/weapp.d.ts.map +1 -0
  150. package/lib/generator/util/weapp.js +17 -0
  151. package/lib/types.d.ts +14 -0
  152. package/lib/types.d.ts.map +1 -0
  153. package/lib/types.js +19 -0
  154. package/lib/weapps-core/config/index.d.ts +2 -0
  155. package/lib/weapps-core/config/index.d.ts.map +1 -0
  156. package/lib/weapps-core/config/index.js +13 -0
  157. package/lib/weapps-core/config/style.d.ts +7 -0
  158. package/lib/weapps-core/config/style.d.ts.map +1 -0
  159. package/lib/weapps-core/config/style.js +70 -0
  160. package/lib/weapps-core/index.d.ts +6 -0
  161. package/lib/weapps-core/index.d.ts.map +1 -0
  162. package/lib/weapps-core/index.js +31 -0
  163. package/lib/weapps-core/types/action.d.ts +25 -0
  164. package/lib/weapps-core/types/action.d.ts.map +1 -0
  165. package/lib/weapps-core/types/action.js +28 -0
  166. package/lib/weapps-core/types/app.d.ts +142 -0
  167. package/lib/weapps-core/types/app.d.ts.map +1 -0
  168. package/lib/weapps-core/types/app.js +21 -0
  169. package/lib/weapps-core/types/appbuild.d.ts +63 -0
  170. package/lib/weapps-core/types/appbuild.d.ts.map +1 -0
  171. package/lib/weapps-core/types/appbuild.js +78 -0
  172. package/lib/weapps-core/types/code_types.d.ts +26 -0
  173. package/lib/weapps-core/types/code_types.d.ts.map +1 -0
  174. package/lib/weapps-core/types/code_types.js +2 -0
  175. package/lib/weapps-core/types/git.d.ts +7 -0
  176. package/lib/weapps-core/types/git.d.ts.map +1 -0
  177. package/lib/weapps-core/types/git.js +2 -0
  178. package/lib/weapps-core/types/index.d.ts +11 -0
  179. package/lib/weapps-core/types/index.d.ts.map +1 -0
  180. package/lib/weapps-core/types/index.js +22 -0
  181. package/lib/weapps-core/types/lowcode.d.ts +26 -0
  182. package/lib/weapps-core/types/lowcode.d.ts.map +1 -0
  183. package/lib/weapps-core/types/lowcode.js +25 -0
  184. package/lib/weapps-core/types/material.d.ts +90 -0
  185. package/lib/weapps-core/types/material.d.ts.map +1 -0
  186. package/lib/weapps-core/types/material.js +9 -0
  187. package/lib/weapps-core/types/plugins.d.ts +17 -0
  188. package/lib/weapps-core/types/plugins.d.ts.map +1 -0
  189. package/lib/weapps-core/types/plugins.js +2 -0
  190. package/lib/weapps-core/types/style.d.ts +93 -0
  191. package/lib/weapps-core/types/style.d.ts.map +1 -0
  192. package/lib/weapps-core/types/style.js +2 -0
  193. package/lib/weapps-core/types/web.d.ts +120 -0
  194. package/lib/weapps-core/types/web.d.ts.map +1 -0
  195. package/lib/weapps-core/types/web.js +2 -0
  196. package/lib/weapps-core/utils/appbuild.d.ts +6 -0
  197. package/lib/weapps-core/utils/appbuild.d.ts.map +1 -0
  198. package/lib/weapps-core/utils/appbuild.js +40 -0
  199. package/lib/weapps-core/utils/common.d.ts +16 -0
  200. package/lib/weapps-core/utils/common.d.ts.map +1 -0
  201. package/lib/weapps-core/utils/common.js +90 -0
  202. package/lib/weapps-core/utils/file.d.ts +12 -0
  203. package/lib/weapps-core/utils/file.d.ts.map +1 -0
  204. package/lib/weapps-core/utils/file.js +142 -0
  205. package/lib/weapps-core/utils/formily.d.ts +5 -0
  206. package/lib/weapps-core/utils/formily.d.ts.map +1 -0
  207. package/lib/weapps-core/utils/formily.js +416 -0
  208. package/lib/weapps-core/utils/index.d.ts +7 -0
  209. package/lib/weapps-core/utils/index.d.ts.map +1 -0
  210. package/lib/weapps-core/utils/index.js +18 -0
  211. package/lib/weapps-core/utils/lowcdoe.d.ts +4 -0
  212. package/lib/weapps-core/utils/lowcdoe.d.ts.map +1 -0
  213. package/lib/weapps-core/utils/lowcdoe.js +69 -0
  214. package/lib/weapps-core/utils/style.d.ts +17 -0
  215. package/lib/weapps-core/utils/style.d.ts.map +1 -0
  216. package/lib/weapps-core/utils/style.js +330 -0
  217. package/package.json +5 -5
@@ -0,0 +1,669 @@
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;