UNPKG

@reliverse/rse

Version:

@reliverse/rse is your all-in-one companion for bootstrapping and improving any kind of projects (especially web apps built with frameworks like Next.js) — whether you're kicking off something new or upgrading an existing app. It is also a little AI-power

44 lines (43 loc) 1.07 kB
import { relinka } from "@reliverse/relinka"; import { confirmPrompt } from "@reliverse/rempts"; import { execa } from "execa"; import { isVSCodeInstalled } from "../handlers/isAppInstalled.js"; export async function askOpenInIDE({ isDev, projectPath, enforce = false }) { if (isDev) { return; } let shouldOpenIDE; if (enforce) { shouldOpenIDE = true; } else { shouldOpenIDE = await confirmPrompt({ title: "Do you want to open the project in your editor?", defaultValue: false }); } if (!shouldOpenIDE) { return; } const vscodeInstalled = isVSCodeInstalled(); relinka( "verbose", vscodeInstalled ? "Opening bootstrapped project in VSCode-based IDE..." : "Trying to open project in default IDE..." ); try { await execa("code", [projectPath], { detached: true, stdio: "ignore" }); } catch (error) { relinka( "error", "Error opening project in IDE:", error instanceof Error ? error.message : String(error), `Try manually: code ${projectPath}` ); } }