(target, platform, emulator)
| 277 | } |
| 278 | |
| 279 | async function launchApp(target, platform, emulator) { |
| 280 | if (target) { |
| 281 | log("info", `Launching app on ${target}...`); |
| 282 | } else { |
| 283 | log("info", "Launching app..."); |
| 284 | } |
| 285 | |
| 286 | return new Promise((resolve, reject) => { |
| 287 | const args = ["run", platform]; |
| 288 | if (emulator) args.push("--emulator"); |
| 289 | if (target) args.push("--target", target); |
| 290 | const useLocalCordova = fs.existsSync(CORDOVA_BIN); |
| 291 | const proc = useLocalCordova |
| 292 | ? spawn(process.execPath, [CORDOVA_BIN, ...args], { |
| 293 | cwd: ROOT, |
| 294 | stdio: "inherit", |
| 295 | }) |
| 296 | : spawn(resolveSpawnCommand("cordova"), args, { |
| 297 | cwd: ROOT, |
| 298 | stdio: "inherit", |
| 299 | }); |
| 300 | |
| 301 | proc.on("close", (code) => { |
| 302 | if (code === 0) resolve(); |
| 303 | else |
| 304 | reject(new Error(`cordova run ${platform} exited with code ${code}`)); |
| 305 | }); |
| 306 | |
| 307 | proc.on("error", reject); |
| 308 | }); |
| 309 | } |
| 310 | |
| 311 | // ─── rspack watcher ────────────────────────────────────────────────────────── |
| 312 |
no test coverage detected