@lingxia/cli 0.0.9 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/lingxia.js +207 -32
- package/dist/builder/commands/build.d.ts +1 -1
- package/dist/builder/commands/build.d.ts.map +1 -1
- package/dist/builder/commands/build.js +138 -103
- package/dist/builder/commands/build.js.map +1 -1
- package/dist/builder/core/builders/logic.d.ts +3 -3
- package/dist/builder/core/builders/logic.d.ts.map +1 -1
- package/dist/builder/core/builders/logic.js +55 -46
- package/dist/builder/core/builders/logic.js.map +1 -1
- package/dist/builder/core/builders/page-functions.d.ts.map +1 -1
- package/dist/builder/core/builders/page-functions.js +43 -35
- package/dist/builder/core/builders/page-functions.js.map +1 -1
- package/dist/builder/core/builders/page-path-injector.js +27 -27
- package/dist/builder/core/builders/page-path-injector.js.map +1 -1
- package/dist/builder/core/builders/page-types.d.ts +22 -0
- package/dist/builder/core/builders/page-types.d.ts.map +1 -0
- package/dist/builder/core/builders/page-types.js +374 -0
- package/dist/builder/core/builders/page-types.js.map +1 -0
- package/dist/builder/core/builders/page.d.ts +5 -4
- package/dist/builder/core/builders/page.d.ts.map +1 -1
- package/dist/builder/core/builders/page.js +54 -52
- package/dist/builder/core/builders/page.js.map +1 -1
- package/dist/builder/core/builders/view-validator.d.ts +9 -0
- package/dist/builder/core/builders/view-validator.d.ts.map +1 -0
- package/dist/builder/core/builders/view-validator.js +58 -0
- package/dist/builder/core/builders/view-validator.js.map +1 -0
- package/dist/builder/core/builders/view.d.ts +40 -3
- package/dist/builder/core/builders/view.d.ts.map +1 -1
- package/dist/builder/core/builders/view.js +406 -55
- package/dist/builder/core/builders/view.js.map +1 -1
- package/dist/builder/core/config/alias-config.d.ts +1 -1
- package/dist/builder/core/config/alias-config.d.ts.map +1 -1
- package/dist/builder/core/config/alias-config.js +8 -8
- package/dist/builder/core/config/alias-config.js.map +1 -1
- package/dist/builder/core/config/framework.d.ts +1 -1
- package/dist/builder/core/config/framework.d.ts.map +1 -1
- package/dist/builder/core/config/framework.js +14 -11
- package/dist/builder/core/config/framework.js.map +1 -1
- package/dist/builder/core/config/lxapp-config.d.ts +74 -0
- package/dist/builder/core/config/lxapp-config.d.ts.map +1 -0
- package/dist/builder/core/config/lxapp-config.js +195 -0
- package/dist/builder/core/config/lxapp-config.js.map +1 -0
- package/dist/builder/core/config/view-build-schema.d.ts +2 -2
- package/dist/builder/core/config/view-config.d.ts +3 -3
- package/dist/builder/core/config/view-config.d.ts.map +1 -1
- package/dist/builder/core/config/view-config.js +16 -16
- package/dist/builder/core/config/view-config.js.map +1 -1
- package/dist/builder/core/config.d.ts +1 -1
- package/dist/builder/core/config.js +11 -11
- package/dist/builder/core/constants/source-dirs.d.ts +1 -1
- package/dist/builder/core/constants/source-dirs.js +9 -9
- package/dist/builder/core/constants/source-dirs.js.map +1 -1
- package/dist/builder/core/constants/static-dirs.d.ts +1 -1
- package/dist/builder/core/constants/static-dirs.d.ts.map +1 -1
- package/dist/builder/core/constants/static-dirs.js +11 -11
- package/dist/builder/core/constants/static-dirs.js.map +1 -1
- package/dist/builder/core/frameworks/base.d.ts +1 -1
- package/dist/builder/core/frameworks/base.d.ts.map +1 -1
- package/dist/builder/core/frameworks/base.js +13 -11
- package/dist/builder/core/frameworks/base.js.map +1 -1
- package/dist/builder/core/frameworks/factory.d.ts +1 -1
- package/dist/builder/core/frameworks/factory.d.ts.map +1 -1
- package/dist/builder/core/frameworks/factory.js +9 -9
- package/dist/builder/core/frameworks/factory.js.map +1 -1
- package/dist/builder/core/frameworks/html.d.ts +2 -2
- package/dist/builder/core/frameworks/html.d.ts.map +1 -1
- package/dist/builder/core/frameworks/html.js +10 -10
- package/dist/builder/core/frameworks/html.js.map +1 -1
- package/dist/builder/core/frameworks/react.d.ts +3 -3
- package/dist/builder/core/frameworks/react.d.ts.map +1 -1
- package/dist/builder/core/frameworks/react.js +45 -43
- package/dist/builder/core/frameworks/react.js.map +1 -1
- package/dist/builder/core/frameworks/templates.d.ts +1 -1
- package/dist/builder/core/frameworks/templates.d.ts.map +1 -1
- package/dist/builder/core/frameworks/templates.js +1 -1
- package/dist/builder/core/frameworks/templates.js.map +1 -1
- package/dist/builder/core/frameworks/vue.d.ts +3 -3
- package/dist/builder/core/frameworks/vue.d.ts.map +1 -1
- package/dist/builder/core/frameworks/vue.js +48 -43
- package/dist/builder/core/frameworks/vue.js.map +1 -1
- package/dist/builder/core/registry.d.ts.map +1 -1
- package/dist/builder/core/registry.js +34 -25
- package/dist/builder/core/registry.js.map +1 -1
- package/dist/builder/core/template.d.ts +1 -1
- package/dist/builder/core/template.d.ts.map +1 -1
- package/dist/builder/core/template.js +19 -14
- package/dist/builder/core/template.js.map +1 -1
- package/dist/builder/core/templates/embedded.d.ts +3 -3
- package/dist/builder/core/templates/embedded.d.ts.map +1 -1
- package/dist/builder/core/templates/embedded.js +62 -31
- package/dist/builder/core/templates/embedded.js.map +1 -1
- package/dist/builder/core/type-generator.d.ts +17 -0
- package/dist/builder/core/type-generator.d.ts.map +1 -0
- package/dist/builder/core/type-generator.js +172 -0
- package/dist/builder/core/type-generator.js.map +1 -0
- package/dist/builder/core/utils/file.js +4 -4
- package/dist/builder/core/utils/incremental.d.ts +59 -0
- package/dist/builder/core/utils/incremental.d.ts.map +1 -0
- package/dist/builder/core/utils/incremental.js +177 -0
- package/dist/builder/core/utils/incremental.js.map +1 -0
- package/dist/builder/core/utils/page.d.ts +12 -2
- package/dist/builder/core/utils/page.d.ts.map +1 -1
- package/dist/builder/core/utils/page.js +63 -8
- package/dist/builder/core/utils/page.js.map +1 -1
- package/dist/builder/index.d.ts +1 -1
- package/dist/builder/index.js +1 -1
- package/dist/builder/types/index.d.ts +7 -6
- package/dist/builder/types/index.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -16
- package/dist/index.js.map +1 -1
- package/package.json +8 -6
- package/templates/AppIcon.png +0 -0
- package/templates/android-native/app/src/main/java/MainActivity.kt +2 -2
- package/templates/android-native/app/src/main/res/values/strings.xml +1 -1
- package/templates/android-native/settings.gradle.kts +4 -0
- package/templates/harmony-native/AppScope/app.json5 +10 -0
- package/templates/harmony-native/AppScope/resources/base/element/string.json +8 -0
- package/templates/harmony-native/build-profile.json5 +41 -0
- package/templates/harmony-native/entry/build-profile.json5 +8 -0
- package/templates/harmony-native/entry/hvigorfile.ts +6 -0
- package/templates/harmony-native/entry/oh-package.json5 +11 -0
- package/templates/harmony-native/entry/src/main/ets/entryability/EntryAbility.ets +38 -0
- package/templates/harmony-native/entry/src/main/ets/pages/Index.ets +15 -0
- package/templates/harmony-native/entry/src/main/module.json5 +38 -0
- package/templates/harmony-native/entry/src/main/resources/base/element/color.json +8 -0
- package/templates/harmony-native/entry/src/main/resources/base/element/string.json +16 -0
- package/templates/harmony-native/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/templates/harmony-native/entry/src/main/resources/dark/element/color.json +8 -0
- package/templates/harmony-native/hvigor/hvigor-config.json5 +13 -0
- package/templates/harmony-native/hvigorfile.ts +6 -0
- package/templates/harmony-native/oh-package.json5 +10 -0
- package/templates/ios-native/App.entitlements +10 -0
- package/templates/ios-native/Info.plist +8 -0
- package/templates/ios-native/Package.swift +31 -0
- package/templates/ios-native/Sources/App.swift +44 -0
- package/templates/lxapp-create/html/global.d.ts +1 -0
- package/templates/lxapp-create/html/lxapp.config.ts +5 -0
- package/templates/lxapp-create/html/lxapp.json +8 -0
- package/templates/lxapp-create/html/lxapp.ts +8 -0
- package/templates/lxapp-create/html/package.json +20 -0
- package/templates/lxapp-create/html/pages/home/index.html +32 -0
- package/templates/lxapp-create/html/pages/home/index.json +3 -0
- package/templates/lxapp-create/html/pages/home/index.ts +14 -0
- package/templates/lxapp-create/html/tsconfig.json +13 -0
- package/templates/lxapp-create/html/view/home.ts +19 -0
- package/templates/lxapp-create/react/app.css +20 -0
- package/templates/lxapp-create/react/lxapp.config.ts +8 -0
- package/templates/lxapp-create/react/lxapp.json +1 -1
- package/templates/lxapp-create/react/package.json +2 -0
- package/templates/lxapp-create/react/pages/home/index.json +1 -1
- package/templates/lxapp-create/react/pages/home/index.ts +8 -3
- package/templates/lxapp-create/react/pages/home/index.tsx +113 -42
- package/templates/lxapp-create/react/tsconfig.json +5 -2
- package/templates/lxapp-create/vue/app.css +20 -0
- package/templates/lxapp-create/vue/lxapp.config.ts +8 -0
- package/templates/lxapp-create/vue/lxapp.json +1 -1
- package/templates/lxapp-create/vue/package.json +2 -0
- package/templates/lxapp-create/vue/pages/home/index.json +1 -1
- package/templates/lxapp-create/vue/pages/home/index.ts +8 -3
- package/templates/lxapp-create/vue/pages/home/index.vue +124 -37
- package/templates/lxapp-create/vue/tsconfig.json +5 -2
- package/templates/macos-native/Info.plist +40 -0
- package/templates/macos-native/Package.swift +30 -0
- package/templates/macos-native/Sources/main.swift +23 -0
- package/templates/rust-lib/Cargo.toml +16 -1
- package/templates/rust-lib/README.md +1 -1
- package/templates/rust-lib/src/lib.rs +39 -1
- package/vendor/lingxia +0 -0
- package/templates/lxapp-create/react/lxapp.config.json +0 -8
- package/templates/lxapp-create/react/public/.gitkeep +0 -0
- package/templates/lxapp-create/vue/lxapp.config.json +0 -8
- package/templates/lxapp-create/vue/public/.gitkeep +0 -0
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import fs from
|
|
2
|
-
import path from
|
|
3
|
-
import { FileUtils } from
|
|
4
|
-
import { PageProcessor } from
|
|
5
|
-
import { extractPageFunctionsFromSource } from
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
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
|
-
|
|
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
|
-
|
|
21
|
-
this.
|
|
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
|
-
|
|
26
|
-
// Group pages by framework and validate supported types
|
|
32
|
+
// Group pages by framework
|
|
27
33
|
const reactPages = [];
|
|
28
34
|
const vuePages = [];
|
|
29
|
-
const
|
|
35
|
+
const htmlPages = [];
|
|
30
36
|
for (const p of pages) {
|
|
31
|
-
if (p.type ===
|
|
37
|
+
if (p.type === "react")
|
|
32
38
|
reactPages.push(p);
|
|
33
|
-
else if (p.type ===
|
|
39
|
+
else if (p.type === "vue")
|
|
34
40
|
vuePages.push(p);
|
|
35
|
-
else
|
|
36
|
-
|
|
41
|
+
else if (p.type === "html")
|
|
42
|
+
htmlPages.push(p);
|
|
37
43
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
46
|
-
|
|
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
|
-
//
|
|
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
|
-
//
|
|
61
|
-
if (this.framework
|
|
62
|
-
|
|
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
|
-
|
|
65
|
-
|
|
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,
|
|
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,
|
|
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
|
|
137
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
511
|
+
const cssContent = fs.readFileSync(cssPath, "utf-8");
|
|
162
512
|
const cssDir = path.dirname(cssPath);
|
|
163
|
-
let resolvedCss =
|
|
164
|
-
const lines = cssContent.split(
|
|
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(
|
|
521
|
+
if (importPath.startsWith("./") || importPath.startsWith("../")) {
|
|
172
522
|
resolvedPath = path.resolve(cssDir, importPath);
|
|
173
523
|
}
|
|
174
|
-
else if (!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 +
|
|
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 +
|
|
535
|
+
resolvedCss += importedCss + "\n";
|
|
185
536
|
}
|
|
186
537
|
}
|
|
187
538
|
else {
|
|
188
|
-
resolvedCss += line +
|
|
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
|
|
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":"
|
|
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"}
|