UNPKG

@reliverse/rse-sdk

Version:

@reliverse/rse-sdk allows you to create new plugins for @reliverse/rse CLI, interact with reliverse.org, and even extend your own CLI functionality (you may also try @reliverse/dler-sdk for this case).

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}` ); } }