@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.
Files changed (173) 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 +8 -6
  113. package/templates/AppIcon.png +0 -0
  114. package/templates/android-native/app/src/main/java/MainActivity.kt +2 -2
  115. package/templates/android-native/app/src/main/res/values/strings.xml +1 -1
  116. package/templates/android-native/settings.gradle.kts +4 -0
  117. package/templates/harmony-native/AppScope/app.json5 +10 -0
  118. package/templates/harmony-native/AppScope/resources/base/element/string.json +8 -0
  119. package/templates/harmony-native/build-profile.json5 +41 -0
  120. package/templates/harmony-native/entry/build-profile.json5 +8 -0
  121. package/templates/harmony-native/entry/hvigorfile.ts +6 -0
  122. package/templates/harmony-native/entry/oh-package.json5 +11 -0
  123. package/templates/harmony-native/entry/src/main/ets/entryability/EntryAbility.ets +38 -0
  124. package/templates/harmony-native/entry/src/main/ets/pages/Index.ets +15 -0
  125. package/templates/harmony-native/entry/src/main/module.json5 +38 -0
  126. package/templates/harmony-native/entry/src/main/resources/base/element/color.json +8 -0
  127. package/templates/harmony-native/entry/src/main/resources/base/element/string.json +16 -0
  128. package/templates/harmony-native/entry/src/main/resources/base/profile/main_pages.json +5 -0
  129. package/templates/harmony-native/entry/src/main/resources/dark/element/color.json +8 -0
  130. package/templates/harmony-native/hvigor/hvigor-config.json5 +13 -0
  131. package/templates/harmony-native/hvigorfile.ts +6 -0
  132. package/templates/harmony-native/oh-package.json5 +10 -0
  133. package/templates/ios-native/App.entitlements +10 -0
  134. package/templates/ios-native/Info.plist +8 -0
  135. package/templates/ios-native/Package.swift +31 -0
  136. package/templates/ios-native/Sources/App.swift +44 -0
  137. package/templates/lxapp-create/html/global.d.ts +1 -0
  138. package/templates/lxapp-create/html/lxapp.config.ts +5 -0
  139. package/templates/lxapp-create/html/lxapp.json +8 -0
  140. package/templates/lxapp-create/html/lxapp.ts +8 -0
  141. package/templates/lxapp-create/html/package.json +20 -0
  142. package/templates/lxapp-create/html/pages/home/index.html +32 -0
  143. package/templates/lxapp-create/html/pages/home/index.json +3 -0
  144. package/templates/lxapp-create/html/pages/home/index.ts +14 -0
  145. package/templates/lxapp-create/html/tsconfig.json +13 -0
  146. package/templates/lxapp-create/html/view/home.ts +19 -0
  147. package/templates/lxapp-create/react/app.css +20 -0
  148. package/templates/lxapp-create/react/lxapp.config.ts +8 -0
  149. package/templates/lxapp-create/react/lxapp.json +1 -1
  150. package/templates/lxapp-create/react/package.json +2 -0
  151. package/templates/lxapp-create/react/pages/home/index.json +1 -1
  152. package/templates/lxapp-create/react/pages/home/index.ts +8 -3
  153. package/templates/lxapp-create/react/pages/home/index.tsx +113 -42
  154. package/templates/lxapp-create/react/tsconfig.json +5 -2
  155. package/templates/lxapp-create/vue/app.css +20 -0
  156. package/templates/lxapp-create/vue/lxapp.config.ts +8 -0
  157. package/templates/lxapp-create/vue/lxapp.json +1 -1
  158. package/templates/lxapp-create/vue/package.json +2 -0
  159. package/templates/lxapp-create/vue/pages/home/index.json +1 -1
  160. package/templates/lxapp-create/vue/pages/home/index.ts +8 -3
  161. package/templates/lxapp-create/vue/pages/home/index.vue +124 -37
  162. package/templates/lxapp-create/vue/tsconfig.json +5 -2
  163. package/templates/macos-native/Info.plist +40 -0
  164. package/templates/macos-native/Package.swift +30 -0
  165. package/templates/macos-native/Sources/main.swift +23 -0
  166. package/templates/rust-lib/Cargo.toml +16 -1
  167. package/templates/rust-lib/README.md +1 -1
  168. package/templates/rust-lib/src/lib.rs +39 -1
  169. package/vendor/lingxia +0 -0
  170. package/templates/lxapp-create/react/lxapp.config.json +0 -8
  171. package/templates/lxapp-create/react/public/.gitkeep +0 -0
  172. package/templates/lxapp-create/vue/lxapp.config.json +0 -8
  173. package/templates/lxapp-create/vue/public/.gitkeep +0 -0
package/bin/lingxia.js CHANGED
@@ -1,22 +1,160 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { spawnSync } from "child_process";
4
- import { existsSync } from "fs";
3
+ import { spawn, spawnSync } from "child_process";
4
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
5
5
  import { createRequire } from "module";
6
6
  import { dirname, resolve } from "path";
7
7
  import { fileURLToPath, pathToFileURL } from "url";
8
- import updateNotifier from "update-notifier";
8
+ import { homedir } from "os";
9
+ import { createInterface } from "readline";
9
10
 
10
11
  const __filename = fileURLToPath(import.meta.url);
11
12
  const __dirname = dirname(__filename);
12
13
  const binName = process.platform === "win32" ? "lingxia.exe" : "lingxia";
13
14
  const require = createRequire(import.meta.url);
14
15
  const pkg = require("../package.json");
15
-
16
- // Check for updates (runs in background, cached for 1 day)
17
- updateNotifier({ pkg }).notify();
18
16
  const jsCli = resolve(__dirname, "../dist/index.js");
19
17
 
18
+ // Cross-platform config directory
19
+ function getConfigDir() {
20
+ if (process.platform === "win32") {
21
+ // Windows: use APPDATA
22
+ return resolve(
23
+ process.env.APPDATA || resolve(homedir(), "AppData", "Roaming"),
24
+ "lingxia",
25
+ );
26
+ }
27
+ // Linux/macOS: prefer XDG_CONFIG_HOME, fallback to ~/.config
28
+ const xdgConfig =
29
+ process.env.XDG_CONFIG_HOME || resolve(homedir(), ".config");
30
+ return resolve(xdgConfig, "lingxia");
31
+ }
32
+
33
+ // Simple version check with cache
34
+ const CACHE_FILE = resolve(getConfigDir(), "update-check.json");
35
+ const CHECK_INTERVAL = 24 * 60 * 60 * 1000; // 24 hours
36
+ let updateCheckPromise = null;
37
+
38
+ // Normalize version string: remove 'v' prefix and pre-release suffixes
39
+ function normalizeVersion(version) {
40
+ if (!version) return "0.0.0";
41
+ return version
42
+ .replace(/^v/i, "") // remove 'v' prefix
43
+ .replace(/[-+].*$/, "") // remove -beta.1, +build, etc.
44
+ .trim();
45
+ }
46
+
47
+ function isNewerVersion(current, latest) {
48
+ const cur = normalizeVersion(current)
49
+ .split(".")
50
+ .map((n) => parseInt(n, 10) || 0);
51
+ const lat = normalizeVersion(latest)
52
+ .split(".")
53
+ .map((n) => parseInt(n, 10) || 0);
54
+
55
+ for (let i = 0; i < 3; i++) {
56
+ const c = cur[i] || 0;
57
+ const l = lat[i] || 0;
58
+ if (l > c) return true;
59
+ if (l < c) return false;
60
+ }
61
+ return false;
62
+ }
63
+
64
+ function promptUser(question) {
65
+ return new Promise((resolve) => {
66
+ const rl = createInterface({
67
+ input: process.stdin,
68
+ output: process.stdout,
69
+ });
70
+ rl.question(question, (answer) => {
71
+ rl.close();
72
+ resolve(answer.trim().toLowerCase());
73
+ });
74
+ });
75
+ }
76
+
77
+ function performUpdate() {
78
+ console.log("\x1b[36m Updating @lingxia/cli...\x1b[0m\n");
79
+ const result = spawnSync("npm", ["install", "-g", "@lingxia/cli"], {
80
+ stdio: "inherit",
81
+ shell: true,
82
+ });
83
+ if (result.status === 0) {
84
+ console.log(
85
+ "\n\x1b[32m Updated successfully! Please re-run your command.\x1b[0m\n",
86
+ );
87
+ process.exit(0);
88
+ } else {
89
+ console.log(
90
+ "\n\x1b[31m Update failed. Try manually: npm install -g @lingxia/cli\x1b[0m\n",
91
+ );
92
+ process.exit(1);
93
+ }
94
+ }
95
+
96
+ async function checkForUpdates() {
97
+ try {
98
+ // Read cache
99
+ let cache = { lastCheck: 0, latestVersion: null };
100
+ try {
101
+ cache = JSON.parse(readFileSync(CACHE_FILE, "utf-8"));
102
+ } catch {}
103
+
104
+ const now = Date.now();
105
+ const shouldCheck = now - cache.lastCheck > CHECK_INTERVAL;
106
+
107
+ // Prompt for update if cached version is newer
108
+ if (
109
+ cache.latestVersion &&
110
+ isNewerVersion(pkg.version, cache.latestVersion)
111
+ ) {
112
+ // Only prompt if running in interactive terminal
113
+ if (process.stdin.isTTY && process.stdout.isTTY) {
114
+ console.log();
115
+ console.log(
116
+ `\x1b[33m Update available: ${pkg.version} → ${cache.latestVersion}\x1b[0m`,
117
+ );
118
+ const answer = await promptUser(" Update now? [Y/n] ");
119
+ if (answer === "" || answer === "y" || answer === "yes") {
120
+ performUpdate();
121
+ return; // Exit after update
122
+ }
123
+ console.log();
124
+ } else {
125
+ // Non-interactive: just show message
126
+ console.log();
127
+ console.log(
128
+ `\x1b[33m Update available: ${pkg.version} → ${cache.latestVersion}\x1b[0m`,
129
+ );
130
+ console.log(`\x1b[33m Run: npm install -g @lingxia/cli\x1b[0m`);
131
+ console.log();
132
+ }
133
+ }
134
+
135
+ // Background check - store promise so we can wait for it before exit
136
+ if (shouldCheck) {
137
+ // Use encodeURIComponent for package name (handles @ and /)
138
+ const registryUrl = `https://registry.npmjs.org/${encodeURIComponent(pkg.name)}/latest`;
139
+ updateCheckPromise = fetch(registryUrl, {
140
+ signal: AbortSignal.timeout(3000), // 3 second timeout
141
+ })
142
+ .then((res) => res.json())
143
+ .then((data) => {
144
+ // Validate response before writing cache
145
+ if (data?.version && typeof data.version === "string") {
146
+ mkdirSync(dirname(CACHE_FILE), { recursive: true });
147
+ writeFileSync(
148
+ CACHE_FILE,
149
+ JSON.stringify({ lastCheck: now, latestVersion: data.version }),
150
+ );
151
+ }
152
+ })
153
+ .catch(() => {}); // Silently ignore errors
154
+ }
155
+ } catch {}
156
+ }
157
+
20
158
  function findSubcommand(argv) {
21
159
  for (const arg of argv) {
22
160
  if (!arg.startsWith("-")) return arg;
@@ -26,9 +164,15 @@ function findSubcommand(argv) {
26
164
 
27
165
  function isLxappProject(cwd) {
28
166
  const hasLxapp = existsSync(resolve(cwd, "lxapp.json"));
29
- const hasLxappConfig = existsSync(resolve(cwd, "lxapp.config.json"));
167
+ // lxapp.config is optional now (supports .ts, .js, .json)
30
168
  const hasHost = existsSync(resolve(cwd, "lingxia.config.json"));
31
- return hasLxapp && hasLxappConfig && !hasHost;
169
+ return hasLxapp && !hasHost;
170
+ }
171
+
172
+ function isLxpluginProject(cwd) {
173
+ const hasPlugin = existsSync(resolve(cwd, "lxplugin.json"));
174
+ const hasHost = existsSync(resolve(cwd, "lingxia.config.json"));
175
+ return hasPlugin && !hasHost;
32
176
  }
33
177
 
34
178
  async function runJsCli(argv) {
@@ -37,10 +181,25 @@ async function runJsCli(argv) {
37
181
  console.error(
38
182
  "@lingxia/cli: LxApp JS CLI not found. Run npm install in @lingxia/cli.",
39
183
  );
40
- process.exit(1);
184
+ await exitAfterUpdateCheck(1);
185
+ return;
41
186
  }
42
187
  const { runCLI } = await import(pathToFileURL(jsCliPath).href);
43
188
  await runCLI(argv);
189
+ // Wait for update check to complete before exiting
190
+ await waitForUpdateCheck();
191
+ }
192
+
193
+ // Helper to wait for background update check
194
+ async function waitForUpdateCheck() {
195
+ if (updateCheckPromise) {
196
+ await updateCheckPromise.catch(() => {});
197
+ }
198
+ }
199
+
200
+ async function exitAfterUpdateCheck(code) {
201
+ await waitForUpdateCheck();
202
+ process.exit(code);
44
203
  }
45
204
 
46
205
  function runRust(argv) {
@@ -54,42 +213,58 @@ function runRust(argv) {
54
213
  console.error(
55
214
  `@lingxia/cli@${pkg.version}: Rust binary not found. Please reinstall the package.`,
56
215
  );
57
- process.exit(1);
216
+ void exitAfterUpdateCheck(1);
217
+ return;
58
218
  }
59
219
 
60
220
  if (!process.env.LINGXIA_JS_CLI && existsSync(jsCli)) {
61
221
  process.env.LINGXIA_JS_CLI = jsCli;
62
222
  }
63
223
  if (!process.env.LINGXIA_TEMPLATES_DIR) {
64
- const candidates = [
65
- resolve(__dirname, "../templates"),
66
- resolve(__dirname, "../../templates"),
67
- ];
68
- for (const dir of candidates) {
69
- if (existsSync(dir)) {
70
- process.env.LINGXIA_TEMPLATES_DIR = dir;
71
- break;
72
- }
224
+ const templates = resolve(__dirname, "../templates");
225
+ if (existsSync(templates)) {
226
+ process.env.LINGXIA_TEMPLATES_DIR = templates;
73
227
  }
74
228
  }
75
229
 
76
- const result = spawnSync(resolvedRustBin, argv, {
230
+ // Use spawn instead of spawnSync to allow background update check to complete
231
+ const child = spawn(resolvedRustBin, argv, {
77
232
  stdio: "inherit",
78
233
  });
79
- process.exit(result.status ?? 1);
234
+
235
+ // Handle spawn errors (binary not executable, permission denied, etc.)
236
+ child.on("error", (err) => {
237
+ console.error(`@lingxia/cli: Failed to start Rust binary: ${err.message}`);
238
+ void exitAfterUpdateCheck(1);
239
+ });
240
+
241
+ child.on("close", async (code) => {
242
+ // Wait for update check to complete before exiting
243
+ await waitForUpdateCheck();
244
+ process.exit(code ?? 1);
245
+ });
80
246
  }
81
247
 
82
- const argv = process.argv.slice(2);
83
- const subcommand = findSubcommand(argv);
84
- const lxappProject = isLxappProject(process.cwd());
248
+ async function main() {
249
+ await checkForUpdates();
85
250
 
86
- const useJs = subcommand === "build" && lxappProject;
251
+ const argv = process.argv.slice(2);
252
+ const subcommand = findSubcommand(argv);
253
+ const lxappProject = isLxappProject(process.cwd());
254
+ const lxpluginProject = isLxpluginProject(process.cwd());
87
255
 
88
- if (useJs) {
89
- runJsCli(process.argv).catch((err) => {
90
- console.error(err instanceof Error ? err.message : String(err));
91
- process.exit(1);
92
- });
93
- } else {
94
- runRust(argv);
256
+ const useJs = subcommand === "build" && (lxappProject || lxpluginProject);
257
+
258
+ if (useJs) {
259
+ try {
260
+ await runJsCli(process.argv);
261
+ } catch (err) {
262
+ console.error(err instanceof Error ? err.message : String(err));
263
+ await exitAfterUpdateCheck(1);
264
+ }
265
+ } else {
266
+ runRust(argv);
267
+ }
95
268
  }
269
+
270
+ main();
@@ -1,3 +1,3 @@
1
- import type { BuildOptions } from '../types/index.js';
1
+ import type { BuildOptions } from "../types/index.js";
2
2
  export declare function buildCommand(options: BuildOptions): Promise<void>;
3
3
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/builder/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAQ,MAAM,mBAAmB,CAAC;AAU5D,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6IvE"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/builder/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAW3E,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsMvE"}