UNPKG

@eve-tools/cli

Version:

Everest cli to speed up project start-up and standardized frontend , backend architecture

41 lines (40 loc) 1.79 kB
import { PROJECT_SCRIPT } from "../../constants/constants.js"; import { execAsync, getAbsolutePath, getProperDirName, printTextIntoBox, tryCatchWrapper, } from "../../utils/index.js"; import { spinner } from "../../utils/spinner.js"; import { CheckPackageJson, updatePackageJson, } from "../manage-package-json/index.js"; import { wantToInstallDepsPrompt, wantToRunProjectPrompt, } from "../../prompts/index.js"; import { runProject } from "../run-project.js"; export const initProcess = async ({ name: projectName, ...otherMeta }) => { const absolutePath = getAbsolutePath(projectName); const { wantToInstall } = await wantToInstallDepsPrompt(); if (!wantToInstall) return; const { pkgJson, absolutePkgJsonPath } = await CheckPackageJson(absolutePath); await updatePackageJson({ pkgJson, absolutePkgJsonPath, projectName: getProperDirName(projectName), }); await installDependencies(absolutePath, otherMeta); }; const installDependencies = async (path, otherMeta) => { const framework = otherMeta.framework; const { start, fail, succeed } = spinner("Installing dependencies 🚀"); await tryCatchWrapper(async () => { start(); await execAsync("npm install", { cwd: path }); succeed("Done."); printTextIntoBox([ "Dependencies installed successfully 👌\nHappy coding 🚀\n\n", `🤖 Start : ${PROJECT_SCRIPT[framework]?.start}\n`, `🔧 Build : ${PROJECT_SCRIPT[framework]?.build}`, ]); const { wantToRunProject } = await wantToRunProjectPrompt(); if (!wantToRunProject) return; runProject({ framework, path }); }, () => { fail("Failed to install dependencies"); return; }); };