@lingxia/cli 0.0.9 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/bin/lingxia.js +207 -32
  2. package/dist/builder/commands/build.d.ts +1 -1
  3. package/dist/builder/commands/build.d.ts.map +1 -1
  4. package/dist/builder/commands/build.js +138 -103
  5. package/dist/builder/commands/build.js.map +1 -1
  6. package/dist/builder/core/builders/logic.d.ts +3 -3
  7. package/dist/builder/core/builders/logic.d.ts.map +1 -1
  8. package/dist/builder/core/builders/logic.js +55 -46
  9. package/dist/builder/core/builders/logic.js.map +1 -1
  10. package/dist/builder/core/builders/page-functions.d.ts.map +1 -1
  11. package/dist/builder/core/builders/page-functions.js +43 -35
  12. package/dist/builder/core/builders/page-functions.js.map +1 -1
  13. package/dist/builder/core/builders/page-path-injector.js +27 -27
  14. package/dist/builder/core/builders/page-path-injector.js.map +1 -1
  15. package/dist/builder/core/builders/page-types.d.ts +22 -0
  16. package/dist/builder/core/builders/page-types.d.ts.map +1 -0
  17. package/dist/builder/core/builders/page-types.js +374 -0
  18. package/dist/builder/core/builders/page-types.js.map +1 -0
  19. package/dist/builder/core/builders/page.d.ts +5 -4
  20. package/dist/builder/core/builders/page.d.ts.map +1 -1
  21. package/dist/builder/core/builders/page.js +54 -52
  22. package/dist/builder/core/builders/page.js.map +1 -1
  23. package/dist/builder/core/builders/view-validator.d.ts +9 -0
  24. package/dist/builder/core/builders/view-validator.d.ts.map +1 -0
  25. package/dist/builder/core/builders/view-validator.js +58 -0
  26. package/dist/builder/core/builders/view-validator.js.map +1 -0
  27. package/dist/builder/core/builders/view.d.ts +40 -3
  28. package/dist/builder/core/builders/view.d.ts.map +1 -1
  29. package/dist/builder/core/builders/view.js +406 -55
  30. package/dist/builder/core/builders/view.js.map +1 -1
  31. package/dist/builder/core/config/alias-config.d.ts +1 -1
  32. package/dist/builder/core/config/alias-config.d.ts.map +1 -1
  33. package/dist/builder/core/config/alias-config.js +8 -8
  34. package/dist/builder/core/config/alias-config.js.map +1 -1
  35. package/dist/builder/core/config/framework.d.ts +1 -1
  36. package/dist/builder/core/config/framework.d.ts.map +1 -1
  37. package/dist/builder/core/config/framework.js +14 -11
  38. package/dist/builder/core/config/framework.js.map +1 -1
  39. package/dist/builder/core/config/lxapp-config.d.ts +74 -0
  40. package/dist/builder/core/config/lxapp-config.d.ts.map +1 -0
  41. package/dist/builder/core/config/lxapp-config.js +195 -0
  42. package/dist/builder/core/config/lxapp-config.js.map +1 -0
  43. package/dist/builder/core/config/view-build-schema.d.ts +2 -2
  44. package/dist/builder/core/config/view-config.d.ts +3 -3
  45. package/dist/builder/core/config/view-config.d.ts.map +1 -1
  46. package/dist/builder/core/config/view-config.js +16 -16
  47. package/dist/builder/core/config/view-config.js.map +1 -1
  48. package/dist/builder/core/config.d.ts +1 -1
  49. package/dist/builder/core/config.js +11 -11
  50. package/dist/builder/core/constants/source-dirs.d.ts +1 -1
  51. package/dist/builder/core/constants/source-dirs.js +9 -9
  52. package/dist/builder/core/constants/source-dirs.js.map +1 -1
  53. package/dist/builder/core/constants/static-dirs.d.ts +1 -1
  54. package/dist/builder/core/constants/static-dirs.d.ts.map +1 -1
  55. package/dist/builder/core/constants/static-dirs.js +11 -11
  56. package/dist/builder/core/constants/static-dirs.js.map +1 -1
  57. package/dist/builder/core/frameworks/base.d.ts +1 -1
  58. package/dist/builder/core/frameworks/base.d.ts.map +1 -1
  59. package/dist/builder/core/frameworks/base.js +13 -11
  60. package/dist/builder/core/frameworks/base.js.map +1 -1
  61. package/dist/builder/core/frameworks/factory.d.ts +1 -1
  62. package/dist/builder/core/frameworks/factory.d.ts.map +1 -1
  63. package/dist/builder/core/frameworks/factory.js +9 -9
  64. package/dist/builder/core/frameworks/factory.js.map +1 -1
  65. package/dist/builder/core/frameworks/html.d.ts +2 -2
  66. package/dist/builder/core/frameworks/html.d.ts.map +1 -1
  67. package/dist/builder/core/frameworks/html.js +10 -10
  68. package/dist/builder/core/frameworks/html.js.map +1 -1
  69. package/dist/builder/core/frameworks/react.d.ts +3 -3
  70. package/dist/builder/core/frameworks/react.d.ts.map +1 -1
  71. package/dist/builder/core/frameworks/react.js +45 -43
  72. package/dist/builder/core/frameworks/react.js.map +1 -1
  73. package/dist/builder/core/frameworks/templates.d.ts +1 -1
  74. package/dist/builder/core/frameworks/templates.d.ts.map +1 -1
  75. package/dist/builder/core/frameworks/templates.js +1 -1
  76. package/dist/builder/core/frameworks/templates.js.map +1 -1
  77. package/dist/builder/core/frameworks/vue.d.ts +3 -3
  78. package/dist/builder/core/frameworks/vue.d.ts.map +1 -1
  79. package/dist/builder/core/frameworks/vue.js +48 -43
  80. package/dist/builder/core/frameworks/vue.js.map +1 -1
  81. package/dist/builder/core/registry.d.ts.map +1 -1
  82. package/dist/builder/core/registry.js +34 -25
  83. package/dist/builder/core/registry.js.map +1 -1
  84. package/dist/builder/core/template.d.ts +1 -1
  85. package/dist/builder/core/template.d.ts.map +1 -1
  86. package/dist/builder/core/template.js +19 -14
  87. package/dist/builder/core/template.js.map +1 -1
  88. package/dist/builder/core/templates/embedded.d.ts +3 -3
  89. package/dist/builder/core/templates/embedded.d.ts.map +1 -1
  90. package/dist/builder/core/templates/embedded.js +62 -31
  91. package/dist/builder/core/templates/embedded.js.map +1 -1
  92. package/dist/builder/core/type-generator.d.ts +17 -0
  93. package/dist/builder/core/type-generator.d.ts.map +1 -0
  94. package/dist/builder/core/type-generator.js +172 -0
  95. package/dist/builder/core/type-generator.js.map +1 -0
  96. package/dist/builder/core/utils/file.js +4 -4
  97. package/dist/builder/core/utils/incremental.d.ts +59 -0
  98. package/dist/builder/core/utils/incremental.d.ts.map +1 -0
  99. package/dist/builder/core/utils/incremental.js +177 -0
  100. package/dist/builder/core/utils/incremental.js.map +1 -0
  101. package/dist/builder/core/utils/page.d.ts +12 -2
  102. package/dist/builder/core/utils/page.d.ts.map +1 -1
  103. package/dist/builder/core/utils/page.js +63 -8
  104. package/dist/builder/core/utils/page.js.map +1 -1
  105. package/dist/builder/index.d.ts +1 -1
  106. package/dist/builder/index.js +1 -1
  107. package/dist/builder/types/index.d.ts +7 -6
  108. package/dist/builder/types/index.d.ts.map +1 -1
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +15 -16
  111. package/dist/index.js.map +1 -1
  112. package/package.json +7 -6
  113. package/scripts/install.cjs +35 -15
  114. package/templates/AppIcon.png +0 -0
  115. package/templates/android-native/app/src/main/java/MainActivity.kt +2 -2
  116. package/templates/android-native/app/src/main/res/values/strings.xml +1 -1
  117. package/templates/android-native/settings.gradle.kts +4 -0
  118. package/templates/harmony-native/AppScope/app.json5 +10 -0
  119. package/templates/harmony-native/AppScope/resources/base/element/string.json +8 -0
  120. package/templates/harmony-native/build-profile.json5 +41 -0
  121. package/templates/harmony-native/entry/build-profile.json5 +8 -0
  122. package/templates/harmony-native/entry/hvigorfile.ts +6 -0
  123. package/templates/harmony-native/entry/oh-package.json5 +11 -0
  124. package/templates/harmony-native/entry/src/main/ets/entryability/EntryAbility.ets +38 -0
  125. package/templates/harmony-native/entry/src/main/ets/pages/Index.ets +15 -0
  126. package/templates/harmony-native/entry/src/main/module.json5 +38 -0
  127. package/templates/harmony-native/entry/src/main/resources/base/element/color.json +8 -0
  128. package/templates/harmony-native/entry/src/main/resources/base/element/string.json +16 -0
  129. package/templates/harmony-native/entry/src/main/resources/base/profile/main_pages.json +5 -0
  130. package/templates/harmony-native/entry/src/main/resources/dark/element/color.json +8 -0
  131. package/templates/harmony-native/hvigor/hvigor-config.json5 +13 -0
  132. package/templates/harmony-native/hvigorfile.ts +6 -0
  133. package/templates/harmony-native/oh-package.json5 +10 -0
  134. package/templates/ios-native/App.entitlements +10 -0
  135. package/templates/ios-native/Info.plist +8 -0
  136. package/templates/ios-native/Package.swift +31 -0
  137. package/templates/ios-native/Sources/App.swift +44 -0
  138. package/templates/lxapp-create/html/global.d.ts +1 -0
  139. package/templates/lxapp-create/html/lxapp.config.ts +5 -0
  140. package/templates/lxapp-create/html/lxapp.json +8 -0
  141. package/templates/lxapp-create/html/lxapp.ts +8 -0
  142. package/templates/lxapp-create/html/package.json +20 -0
  143. package/templates/lxapp-create/html/pages/home/index.html +32 -0
  144. package/templates/lxapp-create/html/pages/home/index.json +3 -0
  145. package/templates/lxapp-create/html/pages/home/index.ts +14 -0
  146. package/templates/lxapp-create/html/tsconfig.json +13 -0
  147. package/templates/lxapp-create/html/view/home.ts +19 -0
  148. package/templates/lxapp-create/react/app.css +20 -0
  149. package/templates/lxapp-create/react/lxapp.config.ts +8 -0
  150. package/templates/lxapp-create/react/lxapp.json +1 -1
  151. package/templates/lxapp-create/react/package.json +2 -0
  152. package/templates/lxapp-create/react/pages/home/index.json +1 -1
  153. package/templates/lxapp-create/react/pages/home/index.ts +8 -3
  154. package/templates/lxapp-create/react/pages/home/index.tsx +113 -42
  155. package/templates/lxapp-create/react/tsconfig.json +5 -2
  156. package/templates/lxapp-create/vue/app.css +20 -0
  157. package/templates/lxapp-create/vue/lxapp.config.ts +8 -0
  158. package/templates/lxapp-create/vue/lxapp.json +1 -1
  159. package/templates/lxapp-create/vue/package.json +2 -0
  160. package/templates/lxapp-create/vue/pages/home/index.json +1 -1
  161. package/templates/lxapp-create/vue/pages/home/index.ts +8 -3
  162. package/templates/lxapp-create/vue/pages/home/index.vue +124 -37
  163. package/templates/lxapp-create/vue/tsconfig.json +5 -2
  164. package/templates/macos-native/Info.plist +40 -0
  165. package/templates/macos-native/Package.swift +30 -0
  166. package/templates/macos-native/Sources/main.swift +23 -0
  167. package/templates/rust-lib/Cargo.toml +16 -1
  168. package/templates/rust-lib/README.md +1 -1
  169. package/templates/rust-lib/src/lib.rs +39 -1
  170. package/vendor/lingxia +0 -0
  171. package/templates/lxapp-create/react/lxapp.config.json +0 -8
  172. package/templates/lxapp-create/react/public/.gitkeep +0 -0
  173. package/templates/lxapp-create/vue/lxapp.config.json +0 -8
  174. package/templates/lxapp-create/vue/public/.gitkeep +0 -0
@@ -1,10 +1,14 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { FileUtils } from '../utils/file.js';
4
- import { PageProcessor } from './page.js';
5
- import { extractPageFunctionsFromSource } from './page-functions.js';
6
- import { resolveStaticDirs } from '../constants/static-dirs.js';
7
- import { readProjectFramework } from '../config/framework.js';
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { FileUtils } from "../utils/file.js";
4
+ import { PageProcessor } from "./page.js";
5
+ import { extractPageFunctionsFromSource } from "./page-functions.js";
6
+ import { extractPageTypes } from "./page-types.js";
7
+ import { validateViewFile } from "./view-validator.js";
8
+ import { resolveStaticDirs, } from "../constants/static-dirs.js";
9
+ import { TemplateManager } from "../template.js";
10
+ import { readProjectFramework } from "../config/framework.js";
11
+ import { TypeGenerator } from "../type-generator.js";
8
12
  export class ViewBuilder {
9
13
  projectPath;
10
14
  outputDir;
@@ -12,57 +16,377 @@ export class ViewBuilder {
12
16
  pageProcessor;
13
17
  staticDirs;
14
18
  framework;
15
- constructor(projectPath, outputDir, buildConfig) {
19
+ templateManager;
20
+ constructor(projectPath, outputDir, buildConfig, framework) {
16
21
  this.projectPath = projectPath;
17
22
  this.outputDir = outputDir;
18
23
  this.fileUtils = new FileUtils();
24
+ this.templateManager = new TemplateManager();
19
25
  this.staticDirs = resolveStaticDirs(projectPath, buildConfig);
20
- this.framework = readProjectFramework(projectPath);
21
- this.pageProcessor = new PageProcessor(projectPath, outputDir, this.staticDirs, buildConfig);
26
+ // Use provided framework or auto-detect
27
+ this.framework = framework ?? readProjectFramework(projectPath);
28
+ this.pageProcessor = new PageProcessor(projectPath, outputDir, this.staticDirs, buildConfig, this.framework);
22
29
  }
23
30
  async buildPages(pages, options = {}) {
24
31
  await this.copyStaticAssets();
25
- await this.copyRootFiles();
26
- // Group pages by framework and validate supported types
32
+ // Group pages by framework
27
33
  const reactPages = [];
28
34
  const vuePages = [];
29
- const unsupported = [];
35
+ const htmlPages = [];
30
36
  for (const p of pages) {
31
- if (p.type === 'react')
37
+ if (p.type === "react")
32
38
  reactPages.push(p);
33
- else if (p.type === 'vue')
39
+ else if (p.type === "vue")
34
40
  vuePages.push(p);
35
- else
36
- unsupported.push(p);
41
+ else if (p.type === "html")
42
+ htmlPages.push(p);
37
43
  }
38
- if (unsupported.length > 0) {
39
- const paths = unsupported.map(p => p.path).join(', ');
40
- throw new Error(`HTML pages are no longer supported. Please migrate these entries to React/Vue: ${paths}`);
41
- }
42
- if (this.framework === 'react' && vuePages.length > 0) {
43
- throw new Error(`Project configured for React, but found Vue pages. Please keep only one framework.`);
44
+ // Pure HTML project mode: all pages must be HTML
45
+ if (htmlPages.length > 0) {
46
+ if (reactPages.length > 0 || vuePages.length > 0) {
47
+ throw new Error(`Mixed HTML and React/Vue pages not supported. ` +
48
+ `Project must be either all HTML or all React/Vue.`);
49
+ }
50
+ // Build HTML pages
51
+ await this.copyRootFiles(htmlPages);
52
+ await this.buildHtmlPages(htmlPages, options);
53
+ return;
44
54
  }
45
- if (this.framework === 'vue' && reactPages.length > 0) {
46
- throw new Error(`Project configured for Vue, but found React pages. Please keep only one framework.`);
55
+ // Filter pages by framework - only build pages matching the configured framework
56
+ const pagesToBuild = this.framework === "react" ? reactPages : vuePages;
57
+ if (pagesToBuild.length === 0) {
58
+ const otherFramework = this.framework === "react" ? "vue" : "react";
59
+ const otherCount = this.framework === "react" ? vuePages.length : reactPages.length;
60
+ if (otherCount > 0) {
61
+ throw new Error(`No ${this.framework} pages found. Found ${otherCount} ${otherFramework} pages instead. ` +
62
+ `Use --framework ${otherFramework} to build them.`);
63
+ }
64
+ throw new Error(`No pages found for framework: ${this.framework}`);
47
65
  }
48
- // Batch build React/Vue using multi-entry
66
+ // Copy root files with actual page paths (with extensions)
67
+ await this.copyRootFiles(pagesToBuild);
68
+ // Generate TypeScript type definitions for useLingXia
69
+ await this.generatePageTypes(pagesToBuild);
70
+ // Batch build pages using multi-entry
49
71
  const buildBatch = async (framework, subset) => {
50
72
  if (subset.length === 0)
51
73
  return;
52
- const items = subset.map(page => {
74
+ const items = subset.map((page) => {
53
75
  const pageFiles = this.detectPageFiles(page);
76
+ // Validate that view files don't use lx.* APIs (must use useLingXia() instead)
77
+ validateViewFile(pageFiles);
54
78
  const pageFunctions = this.extractPageFunctions(pageFiles);
55
79
  return { page, pageFiles, pageFunctions };
56
80
  });
57
81
  // Always use Vite for view builds
58
82
  await this.pageProcessor.buildPagesBatch(framework, items, options);
59
83
  };
60
- // Parallel build for better performance
61
- if (this.framework === 'react') {
62
- await buildBatch('react', reactPages);
84
+ // At this point, framework must be "react" or "vue" (HTML pages were handled above)
85
+ if (this.framework !== "react" && this.framework !== "vue") {
86
+ throw new Error(`Unexpected framework: ${this.framework}`);
63
87
  }
64
- else {
65
- await buildBatch('vue', vuePages);
88
+ await buildBatch(this.framework, pagesToBuild);
89
+ }
90
+ /**
91
+ * Build pure HTML pages by copying HTML files and processing JS files with esbuild.
92
+ */
93
+ async buildHtmlPages(pages, options) {
94
+ // Output directly to dist/ (same as React/Vue projects, no view/ subdirectory)
95
+ const outputBase = path.join(this.projectPath, "dist");
96
+ const libDir = path.join(this.projectPath, "lib");
97
+ const target = options.target || "es2020";
98
+ console.log(`📦 Building ${pages.length} HTML page(s) (target: ${target})`);
99
+ // Process view/ and lib/ directories with TS/JS compilation
100
+ const scriptDirs = ["view", "lib"];
101
+ for (const dirName of scriptDirs) {
102
+ const srcDir = path.join(this.projectPath, dirName);
103
+ if (!fs.existsSync(srcDir))
104
+ continue;
105
+ const outDir = path.join(outputBase, dirName);
106
+ await fs.promises.mkdir(outDir, { recursive: true });
107
+ const files = fs.readdirSync(srcDir);
108
+ for (const file of files) {
109
+ const srcPath = path.join(srcDir, file);
110
+ if (!fs.statSync(srcPath).isFile())
111
+ continue;
112
+ // Compile TS/JS files with esbuild
113
+ if (file.endsWith(".ts") || file.endsWith(".js")) {
114
+ const outFile = file.replace(/\.ts$/, ".js");
115
+ const destPath = path.join(outDir, outFile);
116
+ const esbuild = await import("esbuild");
117
+ const result = await esbuild.build({
118
+ entryPoints: [srcPath],
119
+ outfile: destPath,
120
+ bundle: false,
121
+ minify: options.minify ?? true,
122
+ target: target,
123
+ format: "iife",
124
+ write: true,
125
+ });
126
+ if (result.errors.length > 0) {
127
+ throw new Error(`Failed to process ${file}: ${result.errors[0].text}`);
128
+ }
129
+ }
130
+ else {
131
+ // Copy other files as-is
132
+ await fs.promises.copyFile(srcPath, path.join(outDir, file));
133
+ }
134
+ }
135
+ console.log(` ✓ Processed ${dirName}/ directory`);
136
+ }
137
+ // Process each HTML page
138
+ for (const page of pages) {
139
+ const pageDir = path.dirname(page.path);
140
+ const baseName = path.basename(page.path, path.extname(page.path));
141
+ const sourceDir = path.join(this.projectPath, pageDir);
142
+ const outputDir = path.join(outputBase, pageDir);
143
+ await fs.promises.mkdir(outputDir, { recursive: true });
144
+ // Extract page functions from Logic layer
145
+ const pageFunctions = this.extractHtmlPageFunctions(sourceDir, baseName);
146
+ // Copy HTML file and inject runtime.js + page function bridge
147
+ const htmlSrc = path.join(this.projectPath, page.path);
148
+ const htmlDest = path.join(outputDir, `${baseName}.html`);
149
+ let htmlContent = await fs.promises.readFile(htmlSrc, "utf-8");
150
+ htmlContent = this.injectRuntimeScript(htmlContent);
151
+ htmlContent = this.injectPageFunctionBridge(htmlContent, pageFunctions);
152
+ // Validate HTML script references before writing
153
+ this.validateHtmlScriptReferences(htmlContent, page.path, pageDir, outputBase);
154
+ await fs.promises.writeFile(htmlDest, htmlContent, "utf-8");
155
+ // Process all TS/JS files in page directory (except Logic layer)
156
+ const pageFiles = fs.readdirSync(sourceDir);
157
+ for (const file of pageFiles) {
158
+ const filePath = path.join(sourceDir, file);
159
+ if (!fs.statSync(filePath).isFile())
160
+ continue;
161
+ // Skip Logic layer files (index.ts/index.js)
162
+ if (file === "index.ts" || file === "index.js") {
163
+ continue;
164
+ }
165
+ // Compile TS/JS files with esbuild
166
+ if (file.endsWith(".ts") || file.endsWith(".js")) {
167
+ const outFile = file.replace(/\.ts$/, ".js");
168
+ const destPath = path.join(outputDir, outFile);
169
+ const esbuild = await import("esbuild");
170
+ await esbuild.build({
171
+ entryPoints: [filePath],
172
+ outfile: destPath,
173
+ bundle: false,
174
+ minify: options.minify ?? true,
175
+ target: target,
176
+ format: "iife",
177
+ write: true,
178
+ });
179
+ }
180
+ }
181
+ // Copy CSS file if exists
182
+ const cssFileName = `${baseName}.css`;
183
+ const cssSrc = path.join(sourceDir, cssFileName);
184
+ if (fs.existsSync(cssSrc)) {
185
+ const cssDest = path.join(outputDir, cssFileName);
186
+ await fs.promises.copyFile(cssSrc, cssDest);
187
+ }
188
+ // Copy page config (index.json) if exists
189
+ const jsonFileName = `${baseName}.json`;
190
+ const jsonSrc = path.join(sourceDir, jsonFileName);
191
+ if (fs.existsSync(jsonSrc)) {
192
+ const jsonDest = path.join(outputDir, jsonFileName);
193
+ await fs.promises.copyFile(jsonSrc, jsonDest);
194
+ }
195
+ if (pageFunctions.length > 0) {
196
+ console.log(` ✓ ${page.path} (${pageFunctions.length} functions)`);
197
+ }
198
+ else {
199
+ console.log(` ✓ ${page.path}`);
200
+ }
201
+ }
202
+ console.log(`✅ HTML view build complete`);
203
+ }
204
+ /**
205
+ * Extract page functions from the Logic layer for HTML pages.
206
+ */
207
+ extractHtmlPageFunctions(sourceDir, baseName) {
208
+ const tsPath = path.join(sourceDir, `${baseName}.ts`);
209
+ const jsPath = path.join(sourceDir, `${baseName}.js`);
210
+ const logicPath = fs.existsSync(tsPath) ? tsPath : fs.existsSync(jsPath) ? jsPath : null;
211
+ if (!logicPath) {
212
+ return [];
213
+ }
214
+ try {
215
+ const logicContent = fs.readFileSync(logicPath, "utf-8");
216
+ return extractPageFunctionsFromSource(logicContent);
217
+ }
218
+ catch (error) {
219
+ console.warn(`⚠️ Failed to extract functions from ${logicPath}`);
220
+ return [];
221
+ }
222
+ }
223
+ /**
224
+ * Inject page function bridge script into HTML content.
225
+ */
226
+ injectPageFunctionBridge(htmlContent, functions) {
227
+ if (functions.length === 0) {
228
+ return htmlContent;
229
+ }
230
+ const bridgeCode = this.templateManager.generateFunctionBridge(functions);
231
+ const bridgeScript = `<script>${bridgeCode}</script>`;
232
+ // Insert after runtime.js script
233
+ const runtimePattern = /<script[^>]+src=["']lx:\/\/assets\/runtime\.js["'][^>]*><\/script>/i;
234
+ const match = htmlContent.match(runtimePattern);
235
+ if (match) {
236
+ const insertPos = match.index + match[0].length;
237
+ return `${htmlContent.slice(0, insertPos)}\n ${bridgeScript}${htmlContent.slice(insertPos)}`;
238
+ }
239
+ // Fallback: insert before </head>
240
+ const headIndex = htmlContent.toLowerCase().indexOf("</head>");
241
+ if (headIndex !== -1) {
242
+ return `${htmlContent.slice(0, headIndex)} ${bridgeScript}\n${htmlContent.slice(headIndex)}`;
243
+ }
244
+ // Last resort: prepend
245
+ return `${bridgeScript}\n${htmlContent}`;
246
+ }
247
+ /**
248
+ * Inject runtime.js script into HTML content for LingXiaBridge support.
249
+ */
250
+ injectRuntimeScript(htmlContent) {
251
+ const runtimeSrc = "lx://assets/runtime.js";
252
+ if (htmlContent.toLowerCase().includes(runtimeSrc)) {
253
+ return htmlContent;
254
+ }
255
+ const scriptTag = `<script src="${runtimeSrc}"></script>`;
256
+ const lower = htmlContent.toLowerCase();
257
+ const headIndex = lower.indexOf("</head>");
258
+ if (headIndex !== -1) {
259
+ return `${htmlContent.slice(0, headIndex)} ${scriptTag}\n${htmlContent.slice(headIndex)}`;
260
+ }
261
+ const bodyIndex = lower.indexOf("<body");
262
+ if (bodyIndex !== -1) {
263
+ const bodyEnd = htmlContent.indexOf(">", bodyIndex);
264
+ if (bodyEnd !== -1) {
265
+ const insertPos = bodyEnd + 1;
266
+ return `${htmlContent.slice(0, insertPos)}\n ${scriptTag}${htmlContent.slice(insertPos)}`;
267
+ }
268
+ }
269
+ return `${scriptTag}\n${htmlContent}`;
270
+ }
271
+ /**
272
+ * Validate script references in HTML files to enforce constraints.
273
+ *
274
+ * Allowed references:
275
+ * - /view/*.js (shared components)
276
+ * - /lib/*.js (libraries)
277
+ * - <filename>.js in same directory (page-local scripts, but NOT index.js)
278
+ *
279
+ * Forbidden:
280
+ * - index.js (Logic layer, not for client-side)
281
+ * - Relative paths like ../
282
+ * - Cross-page references like /pages/other/file.js
283
+ */
284
+ validateHtmlScriptReferences(htmlContent, pagePath, pageDir, outputBase) {
285
+ const scriptSrcRegex = /<script[^>]+src=["']([^"']+)["']/gi;
286
+ const matches = [...htmlContent.matchAll(scriptSrcRegex)];
287
+ for (const match of matches) {
288
+ const src = match[1];
289
+ // Skip runtime.js (auto-injected) and external URLs
290
+ if (src === "lx://assets/runtime.js" || src.startsWith("http://") || src.startsWith("https://")) {
291
+ continue;
292
+ }
293
+ // Check forbidden patterns
294
+ if (src === "index.js") {
295
+ throw new Error(`Invalid script reference in ${pagePath}:\n` +
296
+ ` <script src="index.js">\n\n` +
297
+ `index.js is reserved for the Logic layer (Rust-side).\n` +
298
+ `For client-side scripts, use a different name:\n` +
299
+ ` - view.js, client.js, home.js, etc.\n` +
300
+ ` - /view/components.js (shared components)\n` +
301
+ ` - /lib/utils.js (libraries)`);
302
+ }
303
+ if (src.includes("..")) {
304
+ throw new Error(`Invalid script reference in ${pagePath}:\n` +
305
+ ` <script src="${src}">\n\n` +
306
+ `Relative paths with ".." are not allowed.\n` +
307
+ `Use absolute paths: /view/*.js or /lib/*.js`);
308
+ }
309
+ if (src.startsWith("/pages/")) {
310
+ throw new Error(`Invalid script reference in ${pagePath}:\n` +
311
+ ` <script src="${src}">\n\n` +
312
+ `Cross-page references are not allowed.\n` +
313
+ `Move shared code to /view/ or /lib/ directories.`);
314
+ }
315
+ // Validate allowed patterns
316
+ const isViewScript = /^\/view\/.+\.js$/.test(src);
317
+ const isLibScript = /^\/lib\/.+\.js$/.test(src);
318
+ const isLocalScript = /^[^/]+\.js$/.test(src); // Same directory, no path separator
319
+ if (!isViewScript && !isLibScript && !isLocalScript) {
320
+ throw new Error(`Invalid script reference in ${pagePath}:\n` +
321
+ ` <script src="${src}">\n\n` +
322
+ `HTML pages can only reference:\n` +
323
+ ` - /view/*.js (shared components)\n` +
324
+ ` - /lib/*.js (libraries)\n` +
325
+ ` - <name>.js (page-local scripts in same directory)\n\n` +
326
+ `Example:\n` +
327
+ ` <script src="/view/components.js"></script>\n` +
328
+ ` <script src="/lib/utils.js"></script>\n` +
329
+ ` <script src="view.js"></script>`);
330
+ }
331
+ // Check source file exists (will be compiled to .js)
332
+ if (isViewScript || isLibScript) {
333
+ // /view/xxx.js or /lib/xxx.js -> check view/xxx.ts or view/xxx.js
334
+ const relativePath = src.slice(1); // Remove leading /
335
+ const tsSource = path.join(this.projectPath, relativePath.replace(/\.js$/, ".ts"));
336
+ const jsSource = path.join(this.projectPath, relativePath);
337
+ if (!fs.existsSync(tsSource) && !fs.existsSync(jsSource)) {
338
+ throw new Error(`Missing script source in ${pagePath}:\n` +
339
+ ` <script src="${src}">\n\n` +
340
+ `Expected source file:\n` +
341
+ ` ${tsSource} (or ${jsSource})\n\n` +
342
+ `Create the file or remove the script tag.`);
343
+ }
344
+ }
345
+ else if (isLocalScript) {
346
+ // Page-local script -> check pages/xxx/yyy.ts or pages/xxx/yyy.js
347
+ const sourceDir = path.join(this.projectPath, pageDir);
348
+ const tsSource = path.join(sourceDir, src.replace(/\.js$/, ".ts"));
349
+ const jsSource = path.join(sourceDir, src);
350
+ if (!fs.existsSync(tsSource) && !fs.existsSync(jsSource)) {
351
+ throw new Error(`Missing script source in ${pagePath}:\n` +
352
+ ` <script src="${src}">\n\n` +
353
+ `Expected source file:\n` +
354
+ ` ${tsSource} (or ${jsSource})\n\n` +
355
+ `Create the file or remove the script tag.`);
356
+ }
357
+ }
358
+ }
359
+ }
360
+ /**
361
+ * Generate TypeScript type definitions for each page's useLingXia hook.
362
+ * Types are extracted from the Logic layer (index.ts) and written to .lingxia/types/
363
+ */
364
+ async generatePageTypes(pages) {
365
+ const typeGenerator = new TypeGenerator(this.projectPath);
366
+ const generatedPaths = [];
367
+ for (const page of pages) {
368
+ const pageFiles = this.detectPageFiles(page);
369
+ if (!pageFiles.logic.exists || !pageFiles.logic.path) {
370
+ continue;
371
+ }
372
+ try {
373
+ const logicContent = fs.readFileSync(pageFiles.logic.path, "utf-8");
374
+ const typeInfo = extractPageTypes(logicContent);
375
+ // Only generate if we found data or methods
376
+ if (Object.keys(typeInfo.data).length > 0 || Object.keys(typeInfo.methods).length > 0) {
377
+ const typeContent = typeGenerator.generatePageTypes(page.path, typeInfo);
378
+ typeGenerator.writeTypesForPage(page.path, typeContent);
379
+ generatedPaths.push(page.path.replace(/\.(tsx?|vue)$/, ".d.ts"));
380
+ }
381
+ }
382
+ catch (error) {
383
+ console.warn(`⚠️ Failed to generate types for ${page.path}:`, error);
384
+ }
385
+ }
386
+ if (generatedPaths.length > 0) {
387
+ typeGenerator.writeTypesConfig();
388
+ typeGenerator.generateIndexFile(generatedPaths);
389
+ console.log(`📝 Generated types for ${generatedPaths.length} page(s) in .lingxia/types/`);
66
390
  }
67
391
  }
68
392
  detectPageFiles(page) {
@@ -77,20 +401,20 @@ export class ViewBuilder {
77
401
  view: {
78
402
  path: viewPath,
79
403
  exists: viewExists,
80
- type: page.type
404
+ type: page.type,
81
405
  },
82
406
  logic: {
83
407
  path: logicPath ?? undefined,
84
- exists: logicPath !== null
408
+ exists: logicPath !== null,
85
409
  },
86
410
  config: {
87
411
  path: path.join(sourcePageDir, `${baseName}.json`),
88
- exists: fs.existsSync(path.join(sourcePageDir, `${baseName}.json`))
412
+ exists: fs.existsSync(path.join(sourcePageDir, `${baseName}.json`)),
89
413
  },
90
414
  style: {
91
415
  path: path.join(sourcePageDir, `${baseName}.css`),
92
- exists: fs.existsSync(path.join(sourcePageDir, `${baseName}.css`))
93
- }
416
+ exists: fs.existsSync(path.join(sourcePageDir, `${baseName}.css`)),
417
+ },
94
418
  };
95
419
  }
96
420
  /**
@@ -112,7 +436,7 @@ export class ViewBuilder {
112
436
  return [];
113
437
  }
114
438
  try {
115
- const logicContent = fs.readFileSync(pageFiles.logic.path, 'utf-8');
439
+ const logicContent = fs.readFileSync(pageFiles.logic.path, "utf-8");
116
440
  return extractPageFunctionsFromSource(logicContent);
117
441
  }
118
442
  catch (error) {
@@ -129,63 +453,90 @@ export class ViewBuilder {
129
453
  }
130
454
  }
131
455
  }
132
- async copyRootFiles() {
133
- // Copy lxapp.json
134
- const lxappJson = path.join(this.projectPath, 'lxapp.json');
456
+ async copyRootFiles(pages) {
457
+ // Copy and update lxapp.json with actual page paths (with extensions)
458
+ const lxappJson = path.join(this.projectPath, "lxapp.json");
135
459
  if (fs.existsSync(lxappJson)) {
136
- const destFile = path.join(this.outputDir, 'lxapp.json');
137
- fs.copyFileSync(lxappJson, destFile);
460
+ const content = JSON.parse(fs.readFileSync(lxappJson, "utf-8"));
461
+ // Helper to strip extension from path
462
+ const stripExt = (p) => {
463
+ const ext = path.extname(p);
464
+ return ext ? p.slice(0, -ext.length) : p;
465
+ };
466
+ // Build a map from page name (without extension) to actual path (with extension)
467
+ const pagePathMap = new Map();
468
+ for (const page of pages) {
469
+ pagePathMap.set(stripExt(page.path), page.path);
470
+ }
471
+ // Update pages array
472
+ if (Array.isArray(content.pages)) {
473
+ content.pages = content.pages.map((p) => pagePathMap.get(stripExt(p)) ?? p);
474
+ }
475
+ // Update tabBar.list[].pagePath
476
+ if (content.tabBar?.list && Array.isArray(content.tabBar.list)) {
477
+ content.tabBar.list = content.tabBar.list.map((item) => {
478
+ if (item.pagePath) {
479
+ const actualPath = pagePathMap.get(stripExt(item.pagePath));
480
+ if (actualPath)
481
+ return { ...item, pagePath: actualPath };
482
+ }
483
+ return item;
484
+ });
485
+ }
486
+ const destFile = path.join(this.outputDir, "lxapp.json");
487
+ fs.writeFileSync(destFile, JSON.stringify(content, null, 2));
138
488
  }
139
489
  // Process lxapp.css with import resolution
140
- const lxappCss = path.join(this.projectPath, 'lxapp.css');
490
+ const lxappCss = path.join(this.projectPath, "lxapp.css");
141
491
  if (fs.existsSync(lxappCss)) {
142
492
  await this.processLxappCss(lxappCss);
143
493
  }
144
494
  }
145
495
  async processLxappCss(cssPath) {
146
496
  const finalCss = await this.resolveCssImports(cssPath, new Set());
147
- const destFile = path.join(this.outputDir, 'lxapp.css');
497
+ const destFile = path.join(this.outputDir, "lxapp.css");
148
498
  fs.writeFileSync(destFile, finalCss);
149
499
  }
150
500
  async resolveCssImports(cssPath, processedFiles) {
151
501
  const absolutePath = path.resolve(cssPath);
152
502
  if (processedFiles.has(absolutePath)) {
153
503
  console.warn(`⚠️ Circular import detected: ${cssPath}`);
154
- return '';
504
+ return "";
155
505
  }
156
506
  processedFiles.add(absolutePath);
157
507
  if (!fs.existsSync(cssPath)) {
158
508
  console.warn(`⚠️ CSS file not found: ${cssPath}`);
159
- return '';
509
+ return "";
160
510
  }
161
- const cssContent = fs.readFileSync(cssPath, 'utf-8');
511
+ const cssContent = fs.readFileSync(cssPath, "utf-8");
162
512
  const cssDir = path.dirname(cssPath);
163
- let resolvedCss = '';
164
- const lines = cssContent.split('\n');
513
+ let resolvedCss = "";
514
+ const lines = cssContent.split("\n");
165
515
  for (const line of lines) {
166
516
  const trimmedLine = line.trim();
167
517
  const importMatch = trimmedLine.match(/^@import\s+['"]([^'"]+)['"];?/);
168
518
  if (importMatch) {
169
519
  const importPath = importMatch[1];
170
520
  let resolvedPath;
171
- if (importPath.startsWith('./') || importPath.startsWith('../')) {
521
+ if (importPath.startsWith("./") || importPath.startsWith("../")) {
172
522
  resolvedPath = path.resolve(cssDir, importPath);
173
523
  }
174
- else if (!importPath.startsWith('http') && !importPath.startsWith('//')) {
524
+ else if (!importPath.startsWith("http") &&
525
+ !importPath.startsWith("//")) {
175
526
  resolvedPath = path.resolve(this.projectPath, importPath);
176
527
  }
177
528
  else {
178
- resolvedCss += line + '\n';
529
+ resolvedCss += line + "\n";
179
530
  continue;
180
531
  }
181
532
  const importedCss = await this.resolveCssImports(resolvedPath, processedFiles);
182
533
  if (importedCss) {
183
534
  resolvedCss += `/* Imported from: ${importPath} */\n`;
184
- resolvedCss += importedCss + '\n';
535
+ resolvedCss += importedCss + "\n";
185
536
  }
186
537
  }
187
538
  else {
188
- resolvedCss += line + '\n';
539
+ resolvedCss += line + "\n";
189
540
  }
190
541
  }
191
542
  return resolvedCss;
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/builder/core/builders/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/builder/core/builders/view.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { BuildConfig } from './build-config.js';
1
+ import type { BuildConfig } from "./lxapp-config.js";
2
2
  export type AliasMap = Record<string, string>;
3
3
  export declare function resolveAliasMap(projectPath: string, config?: BuildConfig): AliasMap;
4
4
  //# sourceMappingURL=alias-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alias-config.d.ts","sourceRoot":"","sources":["../../../../src/builder/core/config/alias-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA+B9C,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,QAAQ,CAOV"}
1
+ {"version":3,"file":"alias-config.d.ts","sourceRoot":"","sources":["../../../../src/builder/core/config/alias-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA+B9C,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,QAAQ,CAOV"}