@mybricks/to-code-taro 1.2.6 → 1.2.8

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 (229) hide show
  1. package/package.json +1 -1
  2. package/dist/cjs/abstractEventTypeDef.d.ts +0 -11
  3. package/dist/cjs/abstractEventTypeDef.js +0 -93
  4. package/dist/cjs/generate/compressImages.d.ts +0 -16
  5. package/dist/cjs/generate/compressImages.js +0 -76
  6. package/dist/cjs/generate/generateTaroProjectJson.d.ts +0 -13
  7. package/dist/cjs/generate/generateTaroProjectJson.js +0 -225
  8. package/dist/cjs/generate/generateTaroTempalteJson.d.ts +0 -15
  9. package/dist/cjs/generate/generateTaroTempalteJson.js +0 -103
  10. package/dist/cjs/generate/utils/appConfig.d.ts +0 -21
  11. package/dist/cjs/generate/utils/appConfig.js +0 -57
  12. package/dist/cjs/generate/utils/commonDir.d.ts +0 -21
  13. package/dist/cjs/generate/utils/commonDir.js +0 -63
  14. package/dist/cjs/generate/utils/customTabBar.d.ts +0 -11
  15. package/dist/cjs/generate/utils/customTabBar.js +0 -73
  16. package/dist/cjs/generate/utils/fileNode.d.ts +0 -21
  17. package/dist/cjs/generate/utils/fileNode.js +0 -67
  18. package/dist/cjs/generate/utils/index.d.ts +0 -7
  19. package/dist/cjs/generate/utils/index.js +0 -29
  20. package/dist/cjs/generate/utils/pageImages.d.ts +0 -14
  21. package/dist/cjs/generate/utils/pageImages.js +0 -36
  22. package/dist/cjs/generate/utils/tabBarImages.d.ts +0 -14
  23. package/dist/cjs/generate/utils/tabBarImages.js +0 -36
  24. package/dist/cjs/handleCom.d.ts +0 -8
  25. package/dist/cjs/handleCom.js +0 -280
  26. package/dist/cjs/handleDom.d.ts +0 -21
  27. package/dist/cjs/handleDom.js +0 -52
  28. package/dist/cjs/handleExtension.d.ts +0 -10
  29. package/dist/cjs/handleExtension.js +0 -300
  30. package/dist/cjs/handleGlobal.d.ts +0 -11
  31. package/dist/cjs/handleGlobal.js +0 -191
  32. package/dist/cjs/handleModule.d.ts +0 -15
  33. package/dist/cjs/handleModule.js +0 -104
  34. package/dist/cjs/handleSlot.d.ts +0 -29
  35. package/dist/cjs/handleSlot.js +0 -153
  36. package/dist/cjs/index.d.ts +0 -4
  37. package/dist/cjs/index.js +0 -48
  38. package/dist/cjs/processors/processComEvents.d.ts +0 -9
  39. package/dist/cjs/processors/processComEvents.js +0 -163
  40. package/dist/cjs/processors/processModule.d.ts +0 -31
  41. package/dist/cjs/processors/processModule.js +0 -159
  42. package/dist/cjs/processors/processScene.d.ts +0 -32
  43. package/dist/cjs/processors/processScene.js +0 -198
  44. package/dist/cjs/processors/processSceneLogic.d.ts +0 -7
  45. package/dist/cjs/processors/processSceneLogic.js +0 -230
  46. package/dist/cjs/shims-taro.d.ts +0 -20
  47. package/dist/cjs/taro-template.json +0 -154
  48. package/dist/cjs/toCodeTaro.d.ts +0 -168
  49. package/dist/cjs/toCodeTaro.js +0 -326
  50. package/dist/cjs/utils/builder/buildResult.d.ts +0 -24
  51. package/dist/cjs/utils/builder/buildResult.js +0 -163
  52. package/dist/cjs/utils/common/ImportManager.d.ts +0 -26
  53. package/dist/cjs/utils/common/ImportManager.js +0 -123
  54. package/dist/cjs/utils/common/helper.d.ts +0 -12
  55. package/dist/cjs/utils/common/helper.js +0 -52
  56. package/dist/cjs/utils/common/object.d.ts +0 -5
  57. package/dist/cjs/utils/common/object.js +0 -58
  58. package/dist/cjs/utils/common/string.d.ts +0 -18
  59. package/dist/cjs/utils/common/string.js +0 -59
  60. package/dist/cjs/utils/config/content/converter.d.ts +0 -17
  61. package/dist/cjs/utils/config/content/converter.js +0 -84
  62. package/dist/cjs/utils/config/content/index.d.ts +0 -10
  63. package/dist/cjs/utils/config/content/index.js +0 -33
  64. package/dist/cjs/utils/config/content/pageConfig.d.ts +0 -10
  65. package/dist/cjs/utils/config/content/pageConfig.js +0 -80
  66. package/dist/cjs/utils/config/content/saveBase64Image.d.ts +0 -24
  67. package/dist/cjs/utils/config/content/saveBase64Image.js +0 -113
  68. package/dist/cjs/utils/config/content/tabBarConfig.d.ts +0 -28
  69. package/dist/cjs/utils/config/content/tabBarConfig.js +0 -74
  70. package/dist/cjs/utils/config/content/types.d.ts +0 -73
  71. package/dist/cjs/utils/config/content/types.js +0 -17
  72. package/dist/cjs/utils/config/content/validator.d.ts +0 -13
  73. package/dist/cjs/utils/config/content/validator.js +0 -67
  74. package/dist/cjs/utils/config/handlePageConfig.d.ts +0 -31
  75. package/dist/cjs/utils/config/handlePageConfig.js +0 -88
  76. package/dist/cjs/utils/context/buildContext.d.ts +0 -31
  77. package/dist/cjs/utils/context/buildContext.js +0 -76
  78. package/dist/cjs/utils/context/buildFrameMap.d.ts +0 -16
  79. package/dist/cjs/utils/context/buildFrameMap.js +0 -106
  80. package/dist/cjs/utils/context/buildGlobalData.d.ts +0 -13
  81. package/dist/cjs/utils/context/buildGlobalData.js +0 -58
  82. package/dist/cjs/utils/context/collectJSModules.d.ts +0 -41
  83. package/dist/cjs/utils/context/collectJSModules.js +0 -93
  84. package/dist/cjs/utils/context/createEventQueries.d.ts +0 -45
  85. package/dist/cjs/utils/context/createEventQueries.js +0 -99
  86. package/dist/cjs/utils/context/createProvider.d.ts +0 -21
  87. package/dist/cjs/utils/context/createProvider.js +0 -49
  88. package/dist/cjs/utils/index.d.ts +0 -10
  89. package/dist/cjs/utils/index.js +0 -60
  90. package/dist/cjs/utils/logic/convertNamespace.d.ts +0 -11
  91. package/dist/cjs/utils/logic/convertNamespace.js +0 -43
  92. package/dist/cjs/utils/logic/genJSModules.d.ts +0 -16
  93. package/dist/cjs/utils/logic/genJSModules.js +0 -114
  94. package/dist/cjs/utils/logic/handleProcess.d.ts +0 -9
  95. package/dist/cjs/utils/logic/handleProcess.js +0 -462
  96. package/dist/cjs/utils/logic/processChildren.d.ts +0 -26
  97. package/dist/cjs/utils/logic/processChildren.js +0 -121
  98. package/dist/cjs/utils/style/color.d.ts +0 -4
  99. package/dist/cjs/utils/style/color.js +0 -45
  100. package/dist/cjs/utils/style/converter.d.ts +0 -7
  101. package/dist/cjs/utils/style/converter.js +0 -175
  102. package/dist/cjs/utils/style/getComponentClassName.d.ts +0 -16
  103. package/dist/cjs/utils/style/getComponentClassName.js +0 -47
  104. package/dist/cjs/utils/style/pxtransform.d.ts +0 -4
  105. package/dist/cjs/utils/style/pxtransform.js +0 -62
  106. package/dist/cjs/utils/style/types.d.ts +0 -23
  107. package/dist/cjs/utils/style/types.js +0 -17
  108. package/dist/cjs/utils/templates/component.d.ts +0 -19
  109. package/dist/cjs/utils/templates/component.js +0 -86
  110. package/dist/cjs/utils/templates/index.d.ts +0 -32
  111. package/dist/cjs/utils/templates/index.js +0 -116
  112. package/dist/cjs/utils/templates/renderManager.d.ts +0 -18
  113. package/dist/cjs/utils/templates/renderManager.js +0 -152
  114. package/dist/cjs/utils/templates/scene.d.ts +0 -23
  115. package/dist/cjs/utils/templates/scene.js +0 -113
  116. package/dist/esm/abstractEventTypeDef.d.ts +0 -11
  117. package/dist/esm/abstractEventTypeDef.js +0 -63
  118. package/dist/esm/generate/compressImages.d.ts +0 -16
  119. package/dist/esm/generate/compressImages.js +0 -108
  120. package/dist/esm/generate/generateTaroProjectJson.d.ts +0 -13
  121. package/dist/esm/generate/generateTaroProjectJson.js +0 -228
  122. package/dist/esm/generate/generateTaroTempalteJson.d.ts +0 -15
  123. package/dist/esm/generate/generateTaroTempalteJson.js +0 -94
  124. package/dist/esm/generate/utils/appConfig.d.ts +0 -21
  125. package/dist/esm/generate/utils/appConfig.js +0 -49
  126. package/dist/esm/generate/utils/commonDir.d.ts +0 -21
  127. package/dist/esm/generate/utils/commonDir.js +0 -53
  128. package/dist/esm/generate/utils/customTabBar.d.ts +0 -11
  129. package/dist/esm/generate/utils/customTabBar.js +0 -52
  130. package/dist/esm/generate/utils/fileNode.d.ts +0 -21
  131. package/dist/esm/generate/utils/fileNode.js +0 -62
  132. package/dist/esm/generate/utils/index.d.ts +0 -7
  133. package/dist/esm/generate/utils/index.js +0 -8
  134. package/dist/esm/generate/utils/pageImages.d.ts +0 -14
  135. package/dist/esm/generate/utils/pageImages.js +0 -15
  136. package/dist/esm/generate/utils/tabBarImages.d.ts +0 -14
  137. package/dist/esm/generate/utils/tabBarImages.js +0 -15
  138. package/dist/esm/handleCom.d.ts +0 -8
  139. package/dist/esm/handleCom.js +0 -350
  140. package/dist/esm/handleDom.d.ts +0 -21
  141. package/dist/esm/handleDom.js +0 -26
  142. package/dist/esm/handleExtension.d.ts +0 -10
  143. package/dist/esm/handleExtension.js +0 -243
  144. package/dist/esm/handleGlobal.d.ts +0 -11
  145. package/dist/esm/handleGlobal.js +0 -157
  146. package/dist/esm/handleModule.d.ts +0 -15
  147. package/dist/esm/handleModule.js +0 -73
  148. package/dist/esm/handleSlot.d.ts +0 -29
  149. package/dist/esm/handleSlot.js +0 -215
  150. package/dist/esm/index.d.ts +0 -4
  151. package/dist/esm/index.js +0 -4
  152. package/dist/esm/processors/processComEvents.d.ts +0 -9
  153. package/dist/esm/processors/processComEvents.js +0 -170
  154. package/dist/esm/processors/processModule.d.ts +0 -31
  155. package/dist/esm/processors/processModule.js +0 -177
  156. package/dist/esm/processors/processScene.d.ts +0 -32
  157. package/dist/esm/processors/processScene.js +0 -234
  158. package/dist/esm/processors/processSceneLogic.d.ts +0 -7
  159. package/dist/esm/processors/processSceneLogic.js +0 -247
  160. package/dist/esm/shims-taro.d.ts +0 -20
  161. package/dist/esm/taro-template.json +0 -154
  162. package/dist/esm/toCodeTaro.d.ts +0 -168
  163. package/dist/esm/toCodeTaro.js +0 -367
  164. package/dist/esm/utils/builder/buildResult.d.ts +0 -24
  165. package/dist/esm/utils/builder/buildResult.js +0 -119
  166. package/dist/esm/utils/common/ImportManager.d.ts +0 -26
  167. package/dist/esm/utils/common/ImportManager.js +0 -131
  168. package/dist/esm/utils/common/helper.d.ts +0 -12
  169. package/dist/esm/utils/common/helper.js +0 -33
  170. package/dist/esm/utils/common/object.d.ts +0 -5
  171. package/dist/esm/utils/common/object.js +0 -32
  172. package/dist/esm/utils/common/string.d.ts +0 -18
  173. package/dist/esm/utils/common/string.js +0 -37
  174. package/dist/esm/utils/config/content/converter.d.ts +0 -17
  175. package/dist/esm/utils/config/content/converter.js +0 -106
  176. package/dist/esm/utils/config/content/index.d.ts +0 -10
  177. package/dist/esm/utils/config/content/index.js +0 -11
  178. package/dist/esm/utils/config/content/pageConfig.d.ts +0 -10
  179. package/dist/esm/utils/config/content/pageConfig.js +0 -43
  180. package/dist/esm/utils/config/content/saveBase64Image.d.ts +0 -24
  181. package/dist/esm/utils/config/content/saveBase64Image.js +0 -127
  182. package/dist/esm/utils/config/content/tabBarConfig.d.ts +0 -28
  183. package/dist/esm/utils/config/content/tabBarConfig.js +0 -89
  184. package/dist/esm/utils/config/content/types.d.ts +0 -73
  185. package/dist/esm/utils/config/content/types.js +0 -1
  186. package/dist/esm/utils/config/content/validator.d.ts +0 -13
  187. package/dist/esm/utils/config/content/validator.js +0 -64
  188. package/dist/esm/utils/config/handlePageConfig.d.ts +0 -31
  189. package/dist/esm/utils/config/handlePageConfig.js +0 -89
  190. package/dist/esm/utils/context/buildContext.d.ts +0 -31
  191. package/dist/esm/utils/context/buildContext.js +0 -65
  192. package/dist/esm/utils/context/buildFrameMap.d.ts +0 -16
  193. package/dist/esm/utils/context/buildFrameMap.js +0 -131
  194. package/dist/esm/utils/context/buildGlobalData.d.ts +0 -13
  195. package/dist/esm/utils/context/buildGlobalData.js +0 -44
  196. package/dist/esm/utils/context/collectJSModules.d.ts +0 -41
  197. package/dist/esm/utils/context/collectJSModules.js +0 -87
  198. package/dist/esm/utils/context/createEventQueries.d.ts +0 -45
  199. package/dist/esm/utils/context/createEventQueries.js +0 -99
  200. package/dist/esm/utils/context/createProvider.d.ts +0 -21
  201. package/dist/esm/utils/context/createProvider.js +0 -33
  202. package/dist/esm/utils/index.d.ts +0 -10
  203. package/dist/esm/utils/index.js +0 -12
  204. package/dist/esm/utils/logic/convertNamespace.d.ts +0 -11
  205. package/dist/esm/utils/logic/convertNamespace.js +0 -27
  206. package/dist/esm/utils/logic/genJSModules.d.ts +0 -16
  207. package/dist/esm/utils/logic/genJSModules.js +0 -33
  208. package/dist/esm/utils/logic/handleProcess.d.ts +0 -9
  209. package/dist/esm/utils/logic/handleProcess.js +0 -520
  210. package/dist/esm/utils/logic/processChildren.d.ts +0 -26
  211. package/dist/esm/utils/logic/processChildren.js +0 -101
  212. package/dist/esm/utils/style/color.d.ts +0 -4
  213. package/dist/esm/utils/style/color.js +0 -17
  214. package/dist/esm/utils/style/converter.d.ts +0 -7
  215. package/dist/esm/utils/style/converter.js +0 -175
  216. package/dist/esm/utils/style/getComponentClassName.d.ts +0 -16
  217. package/dist/esm/utils/style/getComponentClassName.js +0 -37
  218. package/dist/esm/utils/style/pxtransform.d.ts +0 -4
  219. package/dist/esm/utils/style/pxtransform.js +0 -54
  220. package/dist/esm/utils/style/types.d.ts +0 -23
  221. package/dist/esm/utils/style/types.js +0 -1
  222. package/dist/esm/utils/templates/component.d.ts +0 -19
  223. package/dist/esm/utils/templates/component.js +0 -55
  224. package/dist/esm/utils/templates/index.d.ts +0 -32
  225. package/dist/esm/utils/templates/index.js +0 -97
  226. package/dist/esm/utils/templates/renderManager.d.ts +0 -18
  227. package/dist/esm/utils/templates/renderManager.js +0 -145
  228. package/dist/esm/utils/templates/scene.d.ts +0 -23
  229. package/dist/esm/utils/templates/scene.js +0 -66
@@ -1,367 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _typeof from "@babel/runtime/helpers/esm/typeof";
3
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
5
- /**
6
- * Taro 代码生成入口文件
7
- * 参考鸿蒙实现,采用低耦合、高内聚的设计
8
- */
9
-
10
- import toCode from "@mybricks/to-code-react/dist/cjs/toCode";
11
- import handleGlobal from "./handleGlobal";
12
- import handleExtension from "./handleExtension";
13
- import { HandlePageConfig } from "./utils/config/handlePageConfig";
14
- import { replaceBase64InText } from "./utils/config/content";
15
-
16
- // 工具函数
17
- import { buildFrameMap } from "./utils/context/buildFrameMap";
18
- import { buildSceneMap, buildEventsMap, buildConnectorMap, createGetSceneById, createGetExtensionEventById, createGetFrameById } from "./utils/context/buildContext";
19
- import { createJSModulesCollector } from "./utils/context/collectJSModules";
20
- import { buildGlobalVarTypeDef, buildDefaultFxsMap } from "./utils/context/buildGlobalData";
21
- import { buildFinalResults } from "./utils/builder/buildResult";
22
-
23
- // 处理器
24
- import { processScenes } from "./processors/processScene";
25
- import { processModules } from "./processors/processModule";
26
-
27
- /** 单个生成文件的信息 */
28
-
29
- /** 统一的生成结果结构 */
30
-
31
- /**
32
- * Taro 代码生成主函数
33
- */
34
- var toCodeTaro = function toCodeTaro(tojson, config) {
35
- // 将 modules 中的场景展开到 scenes 中,使 toCode 能识别并处理模块
36
- if (tojson.modules) {
37
- Object.values(tojson.modules).forEach(function (mod) {
38
- if (mod.json) {
39
- tojson.scenes.push(mod.json);
40
- }
41
- });
42
- // 预处理:从 modules.json 重建 frames 中模块的事件数据
43
- rebuildModuleFrames(tojson);
44
- }
45
- return getCode({
46
- tojson: tojson,
47
- toCodejson: toCode(tojson)
48
- }, config);
49
- };
50
- /**
51
- * 核心代码生成逻辑
52
- * 参考鸿蒙实现,采用模块化设计
53
- */
54
- var getCode = function getCode(params, config) {
55
- // 初始化配置
56
- transformConfig(config);
57
- var files = [];
58
- var tojson = params.tojson,
59
- toCodejson = params.toCodejson;
60
- var scenes = toCodejson.scenes,
61
- extensionEvents = toCodejson.extensionEvents,
62
- globalFxs = toCodejson.globalFxs,
63
- globalVars = toCodejson.globalVars,
64
- modules = toCodejson.modules;
65
-
66
- // ========== 第一步:构建上下文数据 ==========
67
- // 构建 frameMap(参考鸿蒙实现)
68
- var frameMap = buildFrameMap(tojson);
69
- var getFrameById = createGetFrameById(frameMap);
70
-
71
- // 构建场景和事件映射
72
- var sceneMap = buildSceneMap(tojson.scenes);
73
- // 将模块场景也加入 sceneMap,使 getSceneById 能查到模块
74
- if (tojson.modules) {
75
- Object.values(tojson.modules).forEach(function (mod) {
76
- var _mod$json;
77
- if ((_mod$json = mod.json) !== null && _mod$json !== void 0 && _mod$json.id) {
78
- sceneMap[mod.json.id] = mod.json;
79
- }
80
- });
81
- }
82
- var eventsMap = buildEventsMap(tojson.frames);
83
- var getSceneById = createGetSceneById(sceneMap);
84
- var getExtensionEventById = createGetExtensionEventById(eventsMap);
85
- var connectorMap = buildConnectorMap(tojson.plugins);
86
-
87
- // ========== 第二步:处理扩展事件 ==========
88
- files.push.apply(files, _toConsumableArray(handleExtension({
89
- extensionEvents: extensionEvents,
90
- tojson: tojson
91
- }, _objectSpread(_objectSpread({}, config), {}, {
92
- // @ts-ignore
93
- getExtensionEventById: getExtensionEventById,
94
- getSceneById: getSceneById
95
- }))));
96
-
97
- // ========== 第三步:构建全局数据 ==========
98
- var globalVarTypeDef = buildGlobalVarTypeDef(tojson.global.comsReg);
99
- var defaultFxsMap = buildDefaultFxsMap(tojson.global.fxFrames || []);
100
-
101
- // ========== 第四步:处理全局变量、FX、其他全局配置 ==========
102
- files.push.apply(files, _toConsumableArray(handleGlobal({
103
- tojson: tojson,
104
- globalFxs: globalFxs,
105
- globalVars: globalVars
106
- }, _objectSpread(_objectSpread({}, config), {}, {
107
- // @ts-ignore
108
- getExtensionEventById: getExtensionEventById,
109
- getSceneById: getSceneById
110
- }))));
111
-
112
- // ========== 第五步:初始化共享资源 ==========
113
- var abstractEventTypeDefMap = {};
114
- var jsModulesCollector = createJSModulesCollector();
115
- var pageConfigHandler = new HandlePageConfig();
116
- var pageBase64Images = [];
117
- var pageImageIndex = new Map();
118
- var nextImageIndex = function nextImageIndex(pageId, nameHint) {
119
- var key = "".concat(pageId, "::").concat(nameHint);
120
- var next = (pageImageIndex.get(key) || 0) + 1;
121
- pageImageIndex.set(key, next);
122
- return next;
123
- };
124
- var replaceBase64InObject = function replaceBase64InObject(value, pageId, nameHint) {
125
- if (typeof value === "string") {
126
- return replaceBase64InText(value, pageId, pageBase64Images, nameHint, function () {
127
- return nextImageIndex(pageId, nameHint);
128
- });
129
- }
130
- if (Array.isArray(value)) {
131
- return value.map(function (item) {
132
- return replaceBase64InObject(item, pageId, nameHint);
133
- });
134
- }
135
- if (value && _typeof(value) === "object") {
136
- Object.keys(value).forEach(function (key) {
137
- value[key] = replaceBase64InObject(value[key], pageId, nameHint);
138
- });
139
- return value;
140
- }
141
- return value;
142
- };
143
-
144
- // 提前识别所有弹窗场景
145
- var popupIds = new Set();
146
- tojson.scenes.forEach(function (s) {
147
- var _s$deps;
148
- if (s.type === 'popup' || (_s$deps = s.deps) !== null && _s$deps !== void 0 && _s$deps.some(function (dep) {
149
- return dep.namespace === 'mybricks.taro.popup';
150
- })) {
151
- popupIds.add(s.id);
152
- }
153
- });
154
-
155
- // ========== 第六步:预处理 base64 图片(替换 data 中的 base64 为本地资源路径) ==========
156
- scenes.forEach(function (_ref) {
157
- var scene = _ref.scene;
158
- var pageId = scene === null || scene === void 0 ? void 0 : scene.id;
159
- if (!pageId) return;
160
- Object.entries(scene.coms || {}).forEach(function (_ref2) {
161
- var _com$model, _com$props, _com$props2;
162
- var _ref3 = _slicedToArray(_ref2, 2),
163
- comId = _ref3[0],
164
- com = _ref3[1];
165
- if (com !== null && com !== void 0 && (_com$model = com.model) !== null && _com$model !== void 0 && _com$model.data) {
166
- com.model.data = replaceBase64InObject(com.model.data, pageId, "".concat(comId));
167
- }
168
- if (com !== null && com !== void 0 && (_com$props = com.props) !== null && _com$props !== void 0 && _com$props.data) {
169
- com.props.data = replaceBase64InObject(com.props.data, pageId, "".concat(comId));
170
- }
171
- if (com !== null && com !== void 0 && (_com$props2 = com.props) !== null && _com$props2 !== void 0 && _com$props2.style) {
172
- com.props.style = replaceBase64InObject(com.props.style, pageId, "".concat(comId));
173
- }
174
- });
175
- });
176
-
177
- // ========== 第七步:处理场景 ==========
178
- processScenes(scenes, {
179
- config: _objectSpread(_objectSpread({}, config), {}, {
180
- // @ts-ignore
181
- hasPopups: popupIds.size > 0
182
- }),
183
- globalVarTypeDef: globalVarTypeDef,
184
- defaultFxsMap: defaultFxsMap,
185
- abstractEventTypeDefMap: abstractEventTypeDefMap,
186
- jsModulesMap: jsModulesCollector.getMap(),
187
- getExtensionEventById: getExtensionEventById,
188
- getSceneById: getSceneById,
189
- getFrameById: getFrameById,
190
- pageConfigHandler: pageConfigHandler,
191
- addResult: function addResult(item) {
192
- files.push(item);
193
- }
194
- });
195
-
196
- // ========== 第八步:处理模块 ==========
197
- processModules(modules, {
198
- config: config,
199
- globalVarTypeDef: globalVarTypeDef,
200
- defaultFxsMap: defaultFxsMap,
201
- abstractEventTypeDefMap: abstractEventTypeDefMap,
202
- jsModulesMap: jsModulesCollector.getMap(),
203
- getExtensionEventById: getExtensionEventById,
204
- getSceneById: getSceneById,
205
- getFrameById: getFrameById,
206
- addResult: function addResult(item) {
207
- files.push(item);
208
- }
209
- });
210
-
211
- // ========== 第九步:构建最终结果 ==========
212
- // 为页面产物中的图片路径补充 import,并用变量名替换字符串
213
- files.forEach(function (file) {
214
- var _file$meta;
215
- if (!file.content || !file.importManager || !((_file$meta = file.meta) !== null && _file$meta !== void 0 && _file$meta.id)) return;
216
- var pageId = file.meta.id;
217
- var regex = new RegExp("@/assets/".concat(pageId, "/([a-zA-Z0-9_\\-\\.]+\\.(?:png|jpg|jpeg|gif|webp|svg))"), "g");
218
- var seen = new Map();
219
- var updated = file.content;
220
- var match;
221
- while ((match = regex.exec(file.content)) !== null) {
222
- var fileName = match[1];
223
- if (!seen.has(fileName)) {
224
- var base = fileName.replace(/\.[^.]+$/, "");
225
- var varName = "".concat(base, "Img").replace(/[^a-zA-Z0-9_]/g, "_");
226
- if (/^[0-9]/.test(varName)) {
227
- varName = "img_".concat(varName);
228
- }
229
- seen.set(fileName, varName);
230
- file.importManager.addImport({
231
- packageName: "@/assets/".concat(pageId, "/").concat(fileName),
232
- dependencyNames: [varName],
233
- importType: "default"
234
- });
235
- }
236
- }
237
- seen.forEach(function (varName, fileName) {
238
- var literal = "@/assets/".concat(pageId, "/").concat(fileName);
239
- // 替换字符串字面量为变量(去掉引号)
240
- updated = updated.split("\"".concat(literal, "\"")).join(varName).split("'".concat(literal, "'")).join(varName).split(literal).join(varName);
241
- });
242
- file.content = updated;
243
- });
244
- var finalResultData = buildFinalResults({
245
- abstractEventTypeDefMap: abstractEventTypeDefMap,
246
- jsModulesMap: jsModulesCollector.getMap(),
247
- connectorMap: connectorMap,
248
- globalTabBarConfig: pageConfigHandler.getTabBarConfig(),
249
- tabBarImageFiles: pageConfigHandler.getTabBarImageFiles(),
250
- customTabBarFileContent: pageConfigHandler.getCustomTabBarFileContent(),
251
- popupIds: Array.from(popupIds),
252
- config: config
253
- });
254
- files.push.apply(files, _toConsumableArray(finalResultData.files));
255
- return {
256
- files: files,
257
- assets: {
258
- tabBarImages: finalResultData.tabBarImageFiles,
259
- pageImages: pageBase64Images
260
- }
261
- };
262
- };
263
-
264
- /**
265
- * 预处理:从 modules.json 重建 frames 中模块的事件数据
266
- *
267
- * 背景:tojson.frames 中模块的 frame 可能是空壳(coms: {}, diagrams[0].conAry: []),
268
- * 而完整的组件事件数据在 modules[moduleId].json 中(coms/cons/outputEvents)。
269
- * toCode 的 handleFrame 需要 frame.coms 包含组件事件子 frames 才能生成事件代码。
270
- */
271
- var rebuildModuleFrames = function rebuildModuleFrames(tojson) {
272
- var modules = tojson.modules;
273
- if (!modules) return;
274
- Object.values(modules).forEach(function (mod) {
275
- var moduleJson = mod.json;
276
- if (!moduleJson) return;
277
- var frame = tojson.frames.find(function (f) {
278
- return f.id === moduleJson.id;
279
- });
280
- if (!frame || Object.keys(frame.coms).length > 0) return;
281
- var coms = moduleJson.coms || {};
282
- var cons = moduleJson.cons || {};
283
- Object.values(coms).forEach(function (com) {
284
- var _com$model2;
285
- var outputEvents = (_com$model2 = com.model) === null || _com$model2 === void 0 ? void 0 : _com$model2.outputEvents;
286
- if (!outputEvents || Object.keys(outputEvents).length === 0) return;
287
- var comFrames = [];
288
- Object.entries(outputEvents).forEach(function (_ref4) {
289
- var _activeEvent$options;
290
- var _ref5 = _slicedToArray(_ref4, 2),
291
- pinId = _ref5[0],
292
- events = _ref5[1];
293
- var activeEvent = Array.isArray(events) ? events.find(function (e) {
294
- return e.active;
295
- }) : null;
296
- if (!(activeEvent !== null && activeEvent !== void 0 && (_activeEvent$options = activeEvent.options) !== null && _activeEvent$options !== void 0 && _activeEvent$options.id)) return;
297
- var diagramId = activeEvent.options.id;
298
- var consKey = "".concat(com.id, "-").concat(pinId);
299
- var connections = cons[consKey] || [];
300
- var conAry = connections.map(function (con) {
301
- return {
302
- id: con.id,
303
- from: {
304
- id: pinId,
305
- title: activeEvent.options.title || pinId,
306
- parent: {
307
- id: com.id,
308
- type: "com"
309
- }
310
- },
311
- to: {
312
- id: con.pinId,
313
- title: con.pinId,
314
- parent: {
315
- id: con.comId,
316
- type: "com"
317
- }
318
- },
319
- startPinParentKey: con.startPinParentKey || con.frameKey,
320
- finishPinParentKey: con.finishPinParentKey || con.targetFrameKey
321
- };
322
- });
323
- if (conAry.length === 0) return;
324
- comFrames.push({
325
- id: "".concat(com.id, "_").concat(pinId, "_frame"),
326
- title: activeEvent.options.title || "".concat(com.title, " > ").concat(pinId),
327
- type: "com",
328
- coms: {},
329
- autoRunComs: {},
330
- inputs: [],
331
- outputs: [],
332
- frames: [],
333
- diagrams: [{
334
- id: diagramId,
335
- title: activeEvent.options.title || "".concat(com.title, " > ").concat(pinId),
336
- starter: {
337
- type: "com",
338
- comId: com.id,
339
- pinId: pinId
340
- },
341
- conAry: conAry,
342
- runtimeBefore: [],
343
- runtimeAfter: []
344
- }]
345
- });
346
- });
347
- if (comFrames.length > 0) {
348
- frame.coms[com.id] = {
349
- id: com.id,
350
- frames: comFrames
351
- };
352
- }
353
- });
354
- });
355
- };
356
-
357
- /**
358
- * 初始化配置
359
- */
360
- var transformConfig = function transformConfig(config) {
361
- if (!config.codeStyle) {
362
- config.codeStyle = {
363
- indent: 2
364
- };
365
- }
366
- };
367
- export default toCodeTaro;
@@ -1,24 +0,0 @@
1
- /**
2
- * 构建最终结果
3
- * 包括抽象事件类型定义、JS 模块、TabBar 配置等
4
- */
5
- import type { ToTaroCodeConfig, GeneratedFile } from "../../toCodeTaro";
6
- import type { JSModulesMap } from "../context/collectJSModules";
7
- interface BuildResultParams {
8
- abstractEventTypeDefMap: Record<string, any>;
9
- jsModulesMap: JSModulesMap;
10
- connectorMap: any;
11
- globalTabBarConfig: string | null;
12
- tabBarImageFiles: any[];
13
- popupIds: string[];
14
- config: ToTaroCodeConfig;
15
- customTabBarFileContent: string | null;
16
- }
17
- /**
18
- * 构建最终结果
19
- */
20
- export declare const buildFinalResults: (params: BuildResultParams) => {
21
- files: GeneratedFile[];
22
- tabBarImageFiles: any[];
23
- };
24
- export {};
@@ -1,119 +0,0 @@
1
- /**
2
- * 构建最终结果
3
- * 包括抽象事件类型定义、JS 模块、TabBar 配置等
4
- */
5
-
6
- import { ImportManager } from "../common/ImportManager";
7
- import abstractEventTypeDef from "../../abstractEventTypeDef";
8
- import { genJSModulesRuntime } from "../logic/genJSModules";
9
- /**
10
- * 构建最终结果
11
- */
12
- export var buildFinalResults = function buildFinalResults(params) {
13
- var abstractEventTypeDefMap = params.abstractEventTypeDefMap,
14
- jsModulesMap = params.jsModulesMap,
15
- connectorMap = params.connectorMap,
16
- globalTabBarConfig = params.globalTabBarConfig,
17
- tabBarImageFiles = params.tabBarImageFiles,
18
- popupIds = params.popupIds,
19
- config = params.config,
20
- customTabBarFileContent = params.customTabBarFileContent;
21
- var files = [];
22
-
23
- // 添加抽象事件类型定义
24
- files.push({
25
- type: "abstractEventTypeDef",
26
- content: abstractEventTypeDef(abstractEventTypeDefMap, config),
27
- importManager: new ImportManager(config),
28
- name: "abstractEventTypeDef"
29
- });
30
-
31
- // 生成 JSModules 运行时工具(公共)
32
- if (jsModulesMap.size > 0) {
33
- files.push({
34
- type: "jsModulesRuntime",
35
- content: genJSModulesRuntime(),
36
- importManager: new ImportManager(config),
37
- name: "jsModulesRuntime"
38
- });
39
- }
40
-
41
- // 生成 API 定义
42
- if (connectorMap) {
43
- files.push({
44
- type: "connector-api",
45
- content: generateApi(connectorMap),
46
- importManager: new ImportManager(config),
47
- name: "api"
48
- });
49
- }
50
-
51
- // 生成弹窗汇总文件 (popup.ts)
52
- if (popupIds.length > 0) {
53
- var registryContent = "";
54
- popupIds.forEach(function (id) {
55
- registryContent += "import Scene_".concat(id, " from '../popupComponents/").concat(id, "/index';\n");
56
- });
57
- registryContent += "\nexport const POPUP_MAP: Record<string, any> = {\n";
58
- popupIds.forEach(function (id) {
59
- registryContent += " '".concat(id, "': Scene_").concat(id, ",\n");
60
- });
61
- registryContent += "};\n\n";
62
- registryContent += "export const POPUP_IDS = ".concat(JSON.stringify(popupIds), ";\n");
63
- files.push({
64
- type: "popup",
65
- content: registryContent,
66
- importManager: new ImportManager(config),
67
- name: "popup"
68
- });
69
- }
70
-
71
- // 添加 TabBar 配置项(如果存在)
72
- if (globalTabBarConfig) {
73
- files.push({
74
- type: "tabBarConfig",
75
- content: globalTabBarConfig,
76
- importManager: new ImportManager(config),
77
- name: "tabBarConfig"
78
- });
79
- files.push({
80
- type: "customTabBar",
81
- content: customTabBarFileContent,
82
- importManager: new ImportManager(config),
83
- name: "customTabBar"
84
- });
85
- }
86
- return {
87
- files: files,
88
- tabBarImageFiles: tabBarImageFiles
89
- };
90
- };
91
-
92
- /**
93
- * 生成 API 定义代码
94
- */
95
- function generateApi(connectorMap) {
96
- var connectors = connectorMap.connectors,
97
- config = connectorMap.config;
98
- var code = "/* eslint-disable @typescript-eslint/no-explicit-any */\n\n";
99
- code += "export const api: Record<string, any> = {\n";
100
- connectors.forEach(function (conn) {
101
- code += " '".concat(conn.id, "': {\n");
102
- code += " type: '".concat(conn.type, "',\n");
103
- code += " input: ".concat(conn.input || 'function _RT_(params) { return params; }', ",\n");
104
- code += " output: ".concat(conn.output || 'function _RT_(result) { return result; }', ",\n");
105
- code += " method: '".concat(conn.method, "',\n");
106
- code += " path: '".concat(conn.path, "',\n");
107
- code += " globalMock: ".concat(conn.globalMock || false, ",\n");
108
- code += " markList: ".concat(JSON.stringify(conn.markList || []), "\n");
109
- code += " },\n";
110
- });
111
- code += "};\n\n";
112
- code += "export const baseConfig = {\n";
113
- code += " globalParamsFn: ".concat(config.paramsFn || 'function _RT_(params) { return params; }', ",\n");
114
- code += " globalResultFn: ".concat(config.resultFn || 'function _RT_(response) { return response; }', ",\n");
115
- code += " globalErrorResultFn: ".concat(config.errorResultFn || 'function _RT_(error) { throw error; }', ",\n");
116
- code += " globalMock: ".concat(config.globalMock || false, "\n");
117
- code += "};\n";
118
- return code;
119
- }
@@ -1,26 +0,0 @@
1
- import type { ToTaroCodeConfig } from "../../toCodeTaro";
2
- export type ImportType = "default" | "named" | "module";
3
- export type DependencyImport = Record<string, Record<string, {
4
- importType: ImportType;
5
- }>>;
6
- /** 导入依赖收集、解析 */
7
- export declare class ImportManager {
8
- private _config;
9
- private _imports;
10
- constructor(_config: ToTaroCodeConfig);
11
- /** 添加依赖 */
12
- addImport({ packageName, dependencyNames, importType, }: {
13
- packageName: string;
14
- dependencyNames: string[];
15
- importType: ImportType;
16
- }): void;
17
- /**
18
- * 获取 import 排序优先级
19
- * 1. 第三方包(react, @tarojs 等)
20
- * 2. 绝对路径别名(@/xxx)
21
- * 3. 相对路径(./xxx, ../xxx)
22
- */
23
- private getImportPriority;
24
- /** 依赖解析为code */
25
- toCode(): string;
26
- }
@@ -1,131 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
- import { indentation } from "./helper";
6
- /** 导入依赖收集、解析 */
7
- export var ImportManager = /*#__PURE__*/function () {
8
- function ImportManager(_config) {
9
- _classCallCheck(this, ImportManager);
10
- _defineProperty(this, "_imports", {});
11
- this._config = _config;
12
- }
13
-
14
- /** 添加依赖 */
15
- _createClass(ImportManager, [{
16
- key: "addImport",
17
- value: function addImport(_ref) {
18
- var packageName = _ref.packageName,
19
- dependencyNames = _ref.dependencyNames,
20
- importType = _ref.importType;
21
- if (!packageName) {
22
- return;
23
- }
24
- var _imports = this._imports;
25
- if (!_imports[packageName]) {
26
- _imports[packageName] = {};
27
- }
28
-
29
- // 对于 module 类型且 dependencyNames 为空的情况,使用特殊标记
30
- if (importType === "module" && dependencyNames.length === 0) {
31
- _imports[packageName]["__module__"] = {
32
- importType: "module"
33
- };
34
- } else {
35
- dependencyNames.forEach(function (dependencyName) {
36
- _imports[packageName][dependencyName] = {
37
- importType: importType
38
- };
39
- });
40
- }
41
- }
42
-
43
- /**
44
- * 获取 import 排序优先级
45
- * 1. 第三方包(react, @tarojs 等)
46
- * 2. 绝对路径别名(@/xxx)
47
- * 3. 相对路径(./xxx, ../xxx)
48
- */
49
- }, {
50
- key: "getImportPriority",
51
- value: function getImportPriority(packageName) {
52
- if (packageName.startsWith('./') || packageName.startsWith('../')) {
53
- return 3; // 相对路径
54
- }
55
- if (packageName.startsWith('@/')) {
56
- return 2; // 绝对路径别名
57
- }
58
- return 1; // 第三方包
59
- }
60
-
61
- /** 依赖解析为code */
62
- }, {
63
- key: "toCode",
64
- value: function toCode() {
65
- var _this = this;
66
- var indent = indentation(this._config.codeStyle.indent);
67
-
68
- // 对 imports 按优先级排序
69
- var sortedEntries = Object.entries(this._imports).sort(function (_ref2, _ref3) {
70
- var _ref4 = _slicedToArray(_ref2, 1),
71
- a = _ref4[0];
72
- var _ref5 = _slicedToArray(_ref3, 1),
73
- b = _ref5[0];
74
- return _this.getImportPriority(a) - _this.getImportPriority(b);
75
- });
76
- return sortedEntries.reduce(function (pre, _ref6) {
77
- var _dependencies$__modul;
78
- var _ref7 = _slicedToArray(_ref6, 2),
79
- packageName = _ref7[0],
80
- dependencies = _ref7[1];
81
- var defaultDependency = "";
82
- var namedDependencies = "";
83
- var dependencyEntries = Object.entries(dependencies);
84
-
85
- // 检查是否有 module 类型的导入(如 import './index.less')
86
- var hasModuleType = ((_dependencies$__modul = dependencies["__module__"]) === null || _dependencies$__modul === void 0 ? void 0 : _dependencies$__modul.importType) === "module" || dependencyEntries.some(function (_ref8) {
87
- var _ref9 = _slicedToArray(_ref8, 2),
88
- importType = _ref9[1].importType;
89
- return importType === "module";
90
- });
91
- if (hasModuleType) {
92
- return pre + "import '".concat(packageName, "';\n");
93
- }
94
-
95
- /** 超过三项换行 */
96
- var validEntries = dependencyEntries.filter(function (_ref10) {
97
- var _ref11 = _slicedToArray(_ref10, 1),
98
- key = _ref11[0];
99
- return key !== "__module__";
100
- });
101
- var wrap = validEntries.length > 3;
102
- validEntries.forEach(function (_ref12, index) {
103
- var _ref13 = _slicedToArray(_ref12, 2),
104
- dependencyName = _ref13[0],
105
- importType = _ref13[1].importType;
106
- if (importType === "default") {
107
- defaultDependency = dependencyName;
108
- } else if (importType === "named") {
109
- if (wrap) {
110
- namedDependencies += "".concat(indent).concat(dependencyName, ",\n");
111
- } else {
112
- namedDependencies += "".concat(index ? ", " : "").concat(dependencyName);
113
- }
114
- }
115
- });
116
- if (namedDependencies) {
117
- if (wrap) {
118
- namedDependencies = "{\n".concat(namedDependencies, "}");
119
- } else {
120
- namedDependencies = "{ ".concat(namedDependencies, " }");
121
- }
122
- if (defaultDependency) {
123
- defaultDependency += ", ";
124
- }
125
- }
126
- return pre + "import ".concat(defaultDependency).concat(namedDependencies, " from '").concat(packageName, "';\n");
127
- }, "");
128
- }
129
- }]);
130
- return ImportManager;
131
- }();
@@ -1,12 +0,0 @@
1
- /** 缩进 */
2
- export declare const indentation: (level: number) => string;
3
- /**
4
- * 根据 schema.type 推导变量默认 initValue
5
- * - string: ''(未提供 initValue)
6
- * - number: 0
7
- * - boolean: false
8
- * - array: []
9
- * - object: {}
10
- * - 其他/未知: 优先使用 initValue,否则 {}
11
- */
12
- export declare const getInitValueBySchema: (schema: any, initValue: any) => any;