@mybricks/to-code-taro 1.0.0

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 (181) hide show
  1. package/dist/cjs/abstractEventTypeDef.d.ts +11 -0
  2. package/dist/cjs/abstractEventTypeDef.js +93 -0
  3. package/dist/cjs/core/comlib/Index.js +45 -0
  4. package/dist/cjs/core/comlib/_ScanQrcode.js +60 -0
  5. package/dist/cjs/core/comlib/_SetStorage.js +76 -0
  6. package/dist/cjs/core/comlib/_ShowToast.js +96 -0
  7. package/dist/cjs/core/mybricks/MyBricksDescriptor.js +213 -0
  8. package/dist/cjs/core/mybricks/Subject.js +115 -0
  9. package/dist/cjs/core/mybricks/constant.js +70 -0
  10. package/dist/cjs/core/mybricks/context.js +33 -0
  11. package/dist/cjs/core/mybricks/createEnv.js +39 -0
  12. package/dist/cjs/core/mybricks/createJSHandle.js +150 -0
  13. package/dist/cjs/core/mybricks/createModuleEventsHandle.js +49 -0
  14. package/dist/cjs/core/mybricks/createReactiveInputHandler.js +63 -0
  15. package/dist/cjs/core/mybricks/event.js +70 -0
  16. package/dist/cjs/core/mybricks/index.js +871 -0
  17. package/dist/cjs/core/mybricks/log.js +38 -0
  18. package/dist/cjs/core/mybricks/utils.js +69 -0
  19. package/dist/cjs/core/mybricks/variables.js +217 -0
  20. package/dist/cjs/core/utils/ComContext.js +39 -0
  21. package/dist/cjs/core/utils/index.js +88 -0
  22. package/dist/cjs/core/utils/useContext.js +53 -0
  23. package/dist/cjs/core/utils/with.js +84 -0
  24. package/dist/cjs/generate/generateTaroProjectJson.d.ts +24 -0
  25. package/dist/cjs/generate/generateTaroProjectJson.js +101 -0
  26. package/dist/cjs/generate/generateTaroTempalteJson.d.ts +15 -0
  27. package/dist/cjs/generate/generateTaroTempalteJson.js +103 -0
  28. package/dist/cjs/generate/utils/appConfig.d.ts +21 -0
  29. package/dist/cjs/generate/utils/appConfig.js +47 -0
  30. package/dist/cjs/generate/utils/commonDir.d.ts +21 -0
  31. package/dist/cjs/generate/utils/commonDir.js +50 -0
  32. package/dist/cjs/generate/utils/fileNode.d.ts +17 -0
  33. package/dist/cjs/generate/utils/fileNode.js +57 -0
  34. package/dist/cjs/generate/utils/index.d.ts +7 -0
  35. package/dist/cjs/generate/utils/index.js +29 -0
  36. package/dist/cjs/generate/utils/tabBarImages.d.ts +14 -0
  37. package/dist/cjs/generate/utils/tabBarImages.js +36 -0
  38. package/dist/cjs/handleCom.d.ts +31 -0
  39. package/dist/cjs/handleCom.js +260 -0
  40. package/dist/cjs/handleDom.d.ts +19 -0
  41. package/dist/cjs/handleDom.js +86 -0
  42. package/dist/cjs/handleExtension.d.ts +10 -0
  43. package/dist/cjs/handleExtension.js +300 -0
  44. package/dist/cjs/handleGlobal.d.ts +21 -0
  45. package/dist/cjs/handleGlobal.js +155 -0
  46. package/dist/cjs/handleModule.d.ts +15 -0
  47. package/dist/cjs/handleModule.js +108 -0
  48. package/dist/cjs/handleSlot.d.ts +27 -0
  49. package/dist/cjs/handleSlot.js +197 -0
  50. package/dist/cjs/index.d.ts +3 -0
  51. package/dist/cjs/index.js +44 -0
  52. package/dist/cjs/taro-template.json +5370 -0
  53. package/dist/cjs/toCodeTaro.d.ts +130 -0
  54. package/dist/cjs/toCodeTaro.js +427 -0
  55. package/dist/cjs/utils/code/component.d.ts +19 -0
  56. package/dist/cjs/utils/code/component.js +85 -0
  57. package/dist/cjs/utils/code/index.d.ts +18 -0
  58. package/dist/cjs/utils/code/index.js +71 -0
  59. package/dist/cjs/utils/code/renderManager.d.ts +22 -0
  60. package/dist/cjs/utils/code/renderManager.js +80 -0
  61. package/dist/cjs/utils/code/scene.d.ts +19 -0
  62. package/dist/cjs/utils/code/scene.js +82 -0
  63. package/dist/cjs/utils/convertNamespace.d.ts +11 -0
  64. package/dist/cjs/utils/convertNamespace.js +43 -0
  65. package/dist/cjs/utils/genJSModules.d.ts +12 -0
  66. package/dist/cjs/utils/genJSModules.js +116 -0
  67. package/dist/cjs/utils/getComponentClassName.d.ts +16 -0
  68. package/dist/cjs/utils/getComponentClassName.js +47 -0
  69. package/dist/cjs/utils/handlePageConfig.d.ts +24 -0
  70. package/dist/cjs/utils/handlePageConfig.js +73 -0
  71. package/dist/cjs/utils/handleProcess.d.ts +9 -0
  72. package/dist/cjs/utils/handleProcess.js +370 -0
  73. package/dist/cjs/utils/index.d.ts +62 -0
  74. package/dist/cjs/utils/index.js +321 -0
  75. package/dist/cjs/utils/pageConfig/converter.d.ts +17 -0
  76. package/dist/cjs/utils/pageConfig/converter.js +83 -0
  77. package/dist/cjs/utils/pageConfig/index.d.ts +10 -0
  78. package/dist/cjs/utils/pageConfig/index.js +33 -0
  79. package/dist/cjs/utils/pageConfig/pageConfig.d.ts +10 -0
  80. package/dist/cjs/utils/pageConfig/pageConfig.js +87 -0
  81. package/dist/cjs/utils/pageConfig/saveBase64Image.d.ts +14 -0
  82. package/dist/cjs/utils/pageConfig/saveBase64Image.js +81 -0
  83. package/dist/cjs/utils/pageConfig/tabBarConfig.d.ts +13 -0
  84. package/dist/cjs/utils/pageConfig/tabBarConfig.js +74 -0
  85. package/dist/cjs/utils/pageConfig/types.d.ts +68 -0
  86. package/dist/cjs/utils/pageConfig/types.js +17 -0
  87. package/dist/cjs/utils/pageConfig/validator.d.ts +13 -0
  88. package/dist/cjs/utils/pageConfig/validator.js +67 -0
  89. package/dist/cjs/utils/pxtransform.d.ts +28 -0
  90. package/dist/cjs/utils/pxtransform.js +102 -0
  91. package/dist/esm/abstractEventTypeDef.d.ts +11 -0
  92. package/dist/esm/abstractEventTypeDef.js +63 -0
  93. package/dist/esm/core/comlib/Index.js +3 -0
  94. package/dist/esm/core/comlib/_ScanQrcode.js +27 -0
  95. package/dist/esm/core/comlib/_SetStorage.js +52 -0
  96. package/dist/esm/core/comlib/_ShowToast.js +68 -0
  97. package/dist/esm/core/mybricks/MyBricksDescriptor.js +232 -0
  98. package/dist/esm/core/mybricks/Subject.js +143 -0
  99. package/dist/esm/core/mybricks/constant.js +18 -0
  100. package/dist/esm/core/mybricks/context.js +5 -0
  101. package/dist/esm/core/mybricks/createEnv.js +9 -0
  102. package/dist/esm/core/mybricks/createJSHandle.js +138 -0
  103. package/dist/esm/core/mybricks/createModuleEventsHandle.js +26 -0
  104. package/dist/esm/core/mybricks/createReactiveInputHandler.js +40 -0
  105. package/dist/esm/core/mybricks/event.js +44 -0
  106. package/dist/esm/core/mybricks/index.js +952 -0
  107. package/dist/esm/core/mybricks/log.js +12 -0
  108. package/dist/esm/core/mybricks/utils.js +41 -0
  109. package/dist/esm/core/mybricks/variables.js +190 -0
  110. package/dist/esm/core/utils/ComContext.js +10 -0
  111. package/dist/esm/core/utils/index.js +57 -0
  112. package/dist/esm/core/utils/useContext.js +24 -0
  113. package/dist/esm/core/utils/with.js +67 -0
  114. package/dist/esm/generate/generateTaroProjectJson.d.ts +24 -0
  115. package/dist/esm/generate/generateTaroProjectJson.js +102 -0
  116. package/dist/esm/generate/generateTaroTempalteJson.d.ts +15 -0
  117. package/dist/esm/generate/generateTaroTempalteJson.js +94 -0
  118. package/dist/esm/generate/utils/appConfig.d.ts +21 -0
  119. package/dist/esm/generate/utils/appConfig.js +30 -0
  120. package/dist/esm/generate/utils/commonDir.d.ts +21 -0
  121. package/dist/esm/generate/utils/commonDir.js +36 -0
  122. package/dist/esm/generate/utils/fileNode.d.ts +17 -0
  123. package/dist/esm/generate/utils/fileNode.js +49 -0
  124. package/dist/esm/generate/utils/index.d.ts +7 -0
  125. package/dist/esm/generate/utils/index.js +8 -0
  126. package/dist/esm/generate/utils/tabBarImages.d.ts +14 -0
  127. package/dist/esm/generate/utils/tabBarImages.js +15 -0
  128. package/dist/esm/handleCom.d.ts +31 -0
  129. package/dist/esm/handleCom.js +297 -0
  130. package/dist/esm/handleDom.d.ts +19 -0
  131. package/dist/esm/handleDom.js +63 -0
  132. package/dist/esm/handleExtension.d.ts +10 -0
  133. package/dist/esm/handleExtension.js +243 -0
  134. package/dist/esm/handleGlobal.d.ts +21 -0
  135. package/dist/esm/handleGlobal.js +117 -0
  136. package/dist/esm/handleModule.d.ts +15 -0
  137. package/dist/esm/handleModule.js +78 -0
  138. package/dist/esm/handleSlot.d.ts +27 -0
  139. package/dist/esm/handleSlot.js +205 -0
  140. package/dist/esm/index.d.ts +3 -0
  141. package/dist/esm/index.js +3 -0
  142. package/dist/esm/taro-template.json +5370 -0
  143. package/dist/esm/toCodeTaro.d.ts +130 -0
  144. package/dist/esm/toCodeTaro.js +452 -0
  145. package/dist/esm/utils/code/component.d.ts +19 -0
  146. package/dist/esm/utils/code/component.js +54 -0
  147. package/dist/esm/utils/code/index.d.ts +18 -0
  148. package/dist/esm/utils/code/index.js +51 -0
  149. package/dist/esm/utils/code/renderManager.d.ts +22 -0
  150. package/dist/esm/utils/code/renderManager.js +62 -0
  151. package/dist/esm/utils/code/scene.d.ts +19 -0
  152. package/dist/esm/utils/code/scene.js +47 -0
  153. package/dist/esm/utils/convertNamespace.d.ts +11 -0
  154. package/dist/esm/utils/convertNamespace.js +27 -0
  155. package/dist/esm/utils/genJSModules.d.ts +12 -0
  156. package/dist/esm/utils/genJSModules.js +44 -0
  157. package/dist/esm/utils/getComponentClassName.d.ts +16 -0
  158. package/dist/esm/utils/getComponentClassName.js +37 -0
  159. package/dist/esm/utils/handlePageConfig.d.ts +24 -0
  160. package/dist/esm/utils/handlePageConfig.js +68 -0
  161. package/dist/esm/utils/handleProcess.d.ts +9 -0
  162. package/dist/esm/utils/handleProcess.js +379 -0
  163. package/dist/esm/utils/index.d.ts +62 -0
  164. package/dist/esm/utils/index.js +345 -0
  165. package/dist/esm/utils/pageConfig/converter.d.ts +17 -0
  166. package/dist/esm/utils/pageConfig/converter.js +105 -0
  167. package/dist/esm/utils/pageConfig/index.d.ts +10 -0
  168. package/dist/esm/utils/pageConfig/index.js +11 -0
  169. package/dist/esm/utils/pageConfig/pageConfig.d.ts +10 -0
  170. package/dist/esm/utils/pageConfig/pageConfig.js +60 -0
  171. package/dist/esm/utils/pageConfig/saveBase64Image.d.ts +14 -0
  172. package/dist/esm/utils/pageConfig/saveBase64Image.js +105 -0
  173. package/dist/esm/utils/pageConfig/tabBarConfig.d.ts +13 -0
  174. package/dist/esm/utils/pageConfig/tabBarConfig.js +82 -0
  175. package/dist/esm/utils/pageConfig/types.d.ts +68 -0
  176. package/dist/esm/utils/pageConfig/types.js +1 -0
  177. package/dist/esm/utils/pageConfig/validator.d.ts +13 -0
  178. package/dist/esm/utils/pageConfig/validator.js +64 -0
  179. package/dist/esm/utils/pxtransform.d.ts +28 -0
  180. package/dist/esm/utils/pxtransform.js +121 -0
  181. package/package.json +74 -0
@@ -0,0 +1,101 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/generate/generateTaroProjectJson.ts
30
+ var generateTaroProjectJson_exports = {};
31
+ __export(generateTaroProjectJson_exports, {
32
+ default: () => generateTaroProjectJson_default
33
+ });
34
+ module.exports = __toCommonJS(generateTaroProjectJson_exports);
35
+ var fs = __toESM(require("fs"));
36
+ var path = __toESM(require("path"));
37
+ var import_fileNode = require("./utils/fileNode");
38
+ var import_commonDir = require("./utils/commonDir");
39
+ var import_tabBarImages = require("./utils/tabBarImages");
40
+ var import_appConfig = require("./utils/appConfig");
41
+ var generateTaroProjectJson = (items = []) => {
42
+ var _a;
43
+ const templateJsonPath = path.join(__dirname, "../taro-template.json");
44
+ if (!fs.existsSync(templateJsonPath)) {
45
+ throw new Error(`模板文件不存在: ${templateJsonPath}`);
46
+ }
47
+ const templateJson = JSON.parse(
48
+ fs.readFileSync(templateJsonPath, "utf-8")
49
+ );
50
+ const srcDir = templateJson.find((node) => node.path === "src");
51
+ srcDir.children = srcDir.children || [];
52
+ const pagesDir = (0, import_fileNode.findDir)(templateJson, "src/pages");
53
+ if (!pagesDir) {
54
+ throw new Error("未找到 pages 目录");
55
+ }
56
+ pagesDir.children = pagesDir.children || [];
57
+ const commonDir = (0, import_fileNode.ensureDir)(srcDir, "src/common");
58
+ const assetsDir = (0, import_fileNode.ensureDir)(srcDir, "src/assets");
59
+ const tabbarDir = (0, import_fileNode.ensureDir)(assetsDir, "src/assets/tabbar");
60
+ const imageFiles = items.__tabBarImageFiles || [];
61
+ const normalItems = items.filter((item) => item.type === "normal");
62
+ const generatedPages = normalItems.map((item) => {
63
+ var _a2;
64
+ const pageName = item.meta.id;
65
+ const importCode = ((_a2 = item.importManager) == null ? void 0 : _a2.toCode()) || "";
66
+ const fileContent = item.content || "";
67
+ const fullContent = importCode ? `${importCode}
68
+ ${fileContent}` : fileContent;
69
+ const configContent = item.pageConfigContent || `export default definePageConfig({
70
+ navigationBarTitleText: '页面'
71
+ })`;
72
+ const pageChildren = [
73
+ {
74
+ path: `src/pages/${pageName}/index.config.ts`,
75
+ content: configContent
76
+ },
77
+ {
78
+ path: `src/pages/${pageName}/index.less`,
79
+ content: item.cssContent || ""
80
+ },
81
+ {
82
+ path: `src/pages/${pageName}/index.tsx`,
83
+ content: fullContent
84
+ }
85
+ ];
86
+ return {
87
+ path: `src/pages/${pageName}`,
88
+ content: null,
89
+ children: pageChildren
90
+ };
91
+ });
92
+ pagesDir.children.push(...generatedPages);
93
+ const appConfigFile = (_a = srcDir.children) == null ? void 0 : _a.find((node) => node.path === "src/app.config.ts");
94
+ if (appConfigFile) {
95
+ (0, import_appConfig.updateAppConfig)(appConfigFile, normalItems, items);
96
+ }
97
+ (0, import_tabBarImages.handleTabBarImages)(tabbarDir, imageFiles);
98
+ (0, import_commonDir.handleCommonDir)(commonDir, items);
99
+ return templateJson;
100
+ };
101
+ var generateTaroProjectJson_default = generateTaroProjectJson;
@@ -0,0 +1,15 @@
1
+ interface FileNode {
2
+ path: string;
3
+ content: string | null;
4
+ children?: FileNode[];
5
+ }
6
+ interface TemplateJson {
7
+ rootDir: string;
8
+ files: FileNode[];
9
+ }
10
+ /**
11
+ * 递归遍历目录并生成文件树结构
12
+ * @param templateDir 模板目录路径,默认为当前文件所在目录下的 template 目录
13
+ */
14
+ declare const generateTaroTemplateJson: (templateDir?: string) => TemplateJson;
15
+ export default generateTaroTemplateJson;
@@ -0,0 +1,103 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/generate/generateTaroTempalteJson.ts
30
+ var generateTaroTempalteJson_exports = {};
31
+ __export(generateTaroTempalteJson_exports, {
32
+ default: () => generateTaroTempalteJson_default
33
+ });
34
+ module.exports = __toCommonJS(generateTaroTempalteJson_exports);
35
+ var fs = __toESM(require("fs"));
36
+ var path = __toESM(require("path"));
37
+ var _templateDir = path.join(__dirname, "../_template");
38
+ var generateTaroTemplateJson = (templateDir = _templateDir) => {
39
+ const rootDir = path.basename(templateDir);
40
+ const files = [];
41
+ const ignoreList = [
42
+ "node_modules",
43
+ "dist",
44
+ ".git",
45
+ ".husky",
46
+ ".swc",
47
+ "yarn.lock",
48
+ "package-lock.json"
49
+ ];
50
+ const readDirectory = (dirPath, relativePath = "") => {
51
+ const items = [];
52
+ const entries = fs.readdirSync(dirPath, { withFileTypes: true });
53
+ entries.sort((a, b) => {
54
+ if (a.isDirectory() && !b.isDirectory())
55
+ return -1;
56
+ if (!a.isDirectory() && b.isDirectory())
57
+ return 1;
58
+ return a.name.localeCompare(b.name);
59
+ });
60
+ for (const entry of entries) {
61
+ if (ignoreList.includes(entry.name)) {
62
+ continue;
63
+ }
64
+ const fullPath = path.join(dirPath, entry.name);
65
+ const itemRelativePath = relativePath ? `${relativePath}/${entry.name}` : entry.name;
66
+ if (entry.isDirectory()) {
67
+ const children = readDirectory(fullPath, itemRelativePath);
68
+ items.push({
69
+ path: itemRelativePath,
70
+ content: null,
71
+ children: children.length > 0 ? children : void 0
72
+ });
73
+ } else {
74
+ try {
75
+ const content = fs.readFileSync(fullPath, "utf-8");
76
+ items.push({
77
+ path: itemRelativePath,
78
+ content,
79
+ children: void 0
80
+ });
81
+ } catch (error) {
82
+ items.push({
83
+ path: itemRelativePath,
84
+ content: "",
85
+ children: void 0
86
+ });
87
+ }
88
+ }
89
+ }
90
+ return items;
91
+ };
92
+ files.push(...readDirectory(templateDir));
93
+ const jsonFilePath = path.join(__dirname, "../taro-template.json");
94
+ if (fs.existsSync(jsonFilePath)) {
95
+ fs.unlinkSync(jsonFilePath);
96
+ }
97
+ fs.writeFileSync(jsonFilePath, JSON.stringify(files, null, 2));
98
+ return {
99
+ rootDir,
100
+ files
101
+ };
102
+ };
103
+ var generateTaroTempalteJson_default = generateTaroTemplateJson;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * app.config.ts 更新工具
3
+ */
4
+ interface FileNode {
5
+ path: string;
6
+ content: string | null;
7
+ children?: FileNode[];
8
+ }
9
+ interface GenerateItem {
10
+ type: string;
11
+ tabBarConfig?: string;
12
+ meta?: {
13
+ id: string;
14
+ };
15
+ [key: string]: any;
16
+ }
17
+ /**
18
+ * 更新 app.config.ts
19
+ */
20
+ export declare function updateAppConfig(appConfigFile: FileNode, normalItems: GenerateItem[], items: GenerateItem[]): void;
21
+ export {};
@@ -0,0 +1,47 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/generate/utils/appConfig.ts
20
+ var appConfig_exports = {};
21
+ __export(appConfig_exports, {
22
+ updateAppConfig: () => updateAppConfig
23
+ });
24
+ module.exports = __toCommonJS(appConfig_exports);
25
+ function updateAppConfig(appConfigFile, normalItems, items) {
26
+ if (!appConfigFile.content) {
27
+ return;
28
+ }
29
+ let content = appConfigFile.content;
30
+ const newPagePaths = normalItems.map((item) => ` 'pages/${item.meta.id}/index'`).join(",\n");
31
+ content = content.replace(/pages:\s*\[([\s\S]*?)\]/, `pages: [
32
+ ${newPagePaths}
33
+ ]`);
34
+ const tabBarConfigItem = items.find((item) => item.type === "tabBarConfig");
35
+ if (tabBarConfigItem == null ? void 0 : tabBarConfigItem.tabBarConfig) {
36
+ content = content.replace(
37
+ /window:\s*\{([\s\S]*?)\n\s*\}/,
38
+ (match) => `${match},
39
+ ${tabBarConfigItem.tabBarConfig}`
40
+ );
41
+ }
42
+ appConfigFile.content = content;
43
+ }
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ updateAppConfig
47
+ });
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Common 目录处理工具
3
+ */
4
+ interface FileNode {
5
+ path: string;
6
+ content: string | null;
7
+ children?: FileNode[];
8
+ }
9
+ interface GenerateItem {
10
+ type: string;
11
+ content?: string;
12
+ importManager?: {
13
+ toCode: () => string;
14
+ };
15
+ [key: string]: any;
16
+ }
17
+ /**
18
+ * 处理 common 目录下的文件
19
+ */
20
+ export declare function handleCommonDir(commonDir: FileNode, items: GenerateItem[]): void;
21
+ export {};
@@ -0,0 +1,50 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/generate/utils/commonDir.ts
20
+ var commonDir_exports = {};
21
+ __export(commonDir_exports, {
22
+ handleCommonDir: () => handleCommonDir
23
+ });
24
+ module.exports = __toCommonJS(commonDir_exports);
25
+ function handleCommonDir(commonDir, items) {
26
+ var _a;
27
+ commonDir.children = commonDir.children || [];
28
+ const jsModulesItem = items.find((item) => item.type === "jsModules");
29
+ if (jsModulesItem) {
30
+ const importCode = ((_a = jsModulesItem.importManager) == null ? void 0 : _a.toCode()) || "";
31
+ const fileContent = jsModulesItem.content || "";
32
+ const fullContent = importCode ? `${importCode}
33
+ ${fileContent}` : fileContent;
34
+ commonDir.children.push({
35
+ path: "src/common/jsModules.ts",
36
+ content: fullContent
37
+ });
38
+ }
39
+ const commonIndexItem = items.find((item) => item.type === "commonIndex");
40
+ if (commonIndexItem) {
41
+ commonDir.children.push({
42
+ path: "src/common/index.ts",
43
+ content: commonIndexItem.content || ""
44
+ });
45
+ }
46
+ }
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ handleCommonDir
50
+ });
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 文件节点相关工具函数
3
+ */
4
+ interface FileNode {
5
+ path: string;
6
+ content: string | null;
7
+ children?: FileNode[];
8
+ }
9
+ /**
10
+ * 查找目录节点
11
+ */
12
+ export declare function findDir(nodes: FileNode[], targetPath: string): FileNode | null;
13
+ /**
14
+ * 确保目录存在,如果不存在则创建
15
+ */
16
+ export declare function ensureDir(parentDir: FileNode, dirPath: string): FileNode;
17
+ export {};
@@ -0,0 +1,57 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/generate/utils/fileNode.ts
20
+ var fileNode_exports = {};
21
+ __export(fileNode_exports, {
22
+ ensureDir: () => ensureDir,
23
+ findDir: () => findDir
24
+ });
25
+ module.exports = __toCommonJS(fileNode_exports);
26
+ function findDir(nodes, targetPath) {
27
+ for (const node of nodes) {
28
+ if (node.path === targetPath) {
29
+ return node;
30
+ }
31
+ if (node.children) {
32
+ const found = findDir(node.children, targetPath);
33
+ if (found)
34
+ return found;
35
+ }
36
+ }
37
+ return null;
38
+ }
39
+ function ensureDir(parentDir, dirPath) {
40
+ parentDir.children = parentDir.children || [];
41
+ let dir = parentDir.children.find((node) => node.path === dirPath);
42
+ if (!dir) {
43
+ dir = {
44
+ path: dirPath,
45
+ content: null,
46
+ children: []
47
+ };
48
+ parentDir.children.push(dir);
49
+ }
50
+ dir.children = dir.children || [];
51
+ return dir;
52
+ }
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ ensureDir,
56
+ findDir
57
+ });
@@ -0,0 +1,7 @@
1
+ /**
2
+ * generate 工具函数统一导出
3
+ */
4
+ export * from './fileNode';
5
+ export * from './commonDir';
6
+ export * from './tabBarImages';
7
+ export * from './appConfig';
@@ -0,0 +1,29 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/generate/utils/index.ts
17
+ var utils_exports = {};
18
+ module.exports = __toCommonJS(utils_exports);
19
+ __reExport(utils_exports, require("./fileNode"), module.exports);
20
+ __reExport(utils_exports, require("./commonDir"), module.exports);
21
+ __reExport(utils_exports, require("./tabBarImages"), module.exports);
22
+ __reExport(utils_exports, require("./appConfig"), module.exports);
23
+ // Annotate the CommonJS export names for ESM import in node:
24
+ 0 && (module.exports = {
25
+ ...require("./fileNode"),
26
+ ...require("./commonDir"),
27
+ ...require("./tabBarImages"),
28
+ ...require("./appConfig")
29
+ });
@@ -0,0 +1,14 @@
1
+ /**
2
+ * TabBar 图片文件处理工具
3
+ */
4
+ import type { ImageFileInfo } from '../../utils/pageConfig';
5
+ interface FileNode {
6
+ path: string;
7
+ content: string | null;
8
+ children?: FileNode[];
9
+ }
10
+ /**
11
+ * 处理 TabBar 图片文件
12
+ */
13
+ export declare function handleTabBarImages(tabbarDir: FileNode, imageFiles: ImageFileInfo[]): void;
14
+ export {};
@@ -0,0 +1,36 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/generate/utils/tabBarImages.ts
20
+ var tabBarImages_exports = {};
21
+ __export(tabBarImages_exports, {
22
+ handleTabBarImages: () => handleTabBarImages
23
+ });
24
+ module.exports = __toCommonJS(tabBarImages_exports);
25
+ function handleTabBarImages(tabbarDir, imageFiles) {
26
+ imageFiles.forEach((imageFile) => {
27
+ tabbarDir.children.push({
28
+ path: imageFile.filePath,
29
+ content: imageFile.fileContent.toString("base64")
30
+ });
31
+ });
32
+ }
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ handleTabBarImages
36
+ });
@@ -0,0 +1,31 @@
1
+ import { ImportManager } from "./utils";
2
+ import { RenderManager } from "./utils/code/renderManager";
3
+ import type { UI, BaseConfig } from "./toCodeTaro";
4
+ export type Com = Extract<UI["children"][0], {
5
+ type: "com";
6
+ }>;
7
+ type HandleComResult = {
8
+ ui: string;
9
+ js: string;
10
+ slots: string[];
11
+ scopeSlots: string[];
12
+ cssContent: string;
13
+ renderCode?: string;
14
+ outputsConfig?: Record<string, any>;
15
+ };
16
+ export interface HandleComConfig extends BaseConfig {
17
+ addParentDependencyImport: (typeof ImportManager)["prototype"]["addImport"];
18
+ addConsumer: (provider: ReturnType<BaseConfig["getCurrentProvider"]>) => void;
19
+ addComId: (comId: string) => void;
20
+ renderManager?: RenderManager;
21
+ addJSModule?: (module: {
22
+ id: string;
23
+ title: string;
24
+ transformCode: string;
25
+ inputs: string[];
26
+ outputs: string[];
27
+ data: any;
28
+ }) => void;
29
+ }
30
+ declare const handleCom: (com: Com, config: HandleComConfig) => HandleComResult;
31
+ export default handleCom;