create-node-spark
Version:
CLI tool to scaffold a Node.js backend
26 lines • 1.19 kB
JavaScript
import { execSync } from "child_process";
import path from "path";
import { logProgress, colors } from "../utils/logger.js";
import { configurePackageJson } from "./configurePackageJson.js";
import { configureTsConfig } from "./configureTsConfig.js";
import { createDirectory } from "../utils/fileSystem.js";
import { getInitCommand } from "../utils/packageManager.js";
export async function setupNpm(projectName, language, packageManager) {
try {
const projectPath = path.join(process.cwd(), projectName);
await createDirectory(projectPath);
process.chdir(projectPath);
logProgress(`${colors.brightCyan}📦 Initializing ${packageManager} package...${colors.reset}`);
const initCommand = getInitCommand(packageManager);
execSync(initCommand, { stdio: "ignore" });
await configurePackageJson(projectName, language, packageManager);
if (language === "TypeScript") {
logProgress(`${colors.brightBlue}⚙️ Setting up TypeScript configuration...${colors.reset}`);
await configureTsConfig(projectName);
}
}
catch (error) {
throw error;
}
}
//# sourceMappingURL=setupNpm.js.map