UNPKG

cc-core-cli

Version:

Command Line Interface tool for generating project templates for the (Your Platform's Name) platform.

35 lines (26 loc) 1.07 kB
const fs = require("fs-extra"); const ora = require("ora"); const { exec } = require("child_process"); const mainPath = "./src/modules"; const moduleDependencies = []; const spinner = ora("Checking module dependencies").start(); const modules = fs.readdirSync(mainPath); for (const folder of modules) { if (!fs.lstatSync(`${mainPath}/${folder}`).isDirectory()) continue; if (!fs.existsSync(`${mainPath}/${folder}/module.json`)) continue; const moduleConfig = require(`${mainPath}/${folder}/module.json`); if (!moduleConfig.dependencies) continue; for (const lib in moduleConfig.dependencies) { moduleDependencies.push(`${lib}@${moduleConfig.dependencies[lib]}`); } } spinner.succeed("Checking module depencies done."); if (!moduleDependencies.length) return true; spinner.start(`Install module dependencies`); exec(`npm install --no-save ${moduleDependencies.join(" ")}`, err => { if (err) { return spinner.fail(`Install module dependencies failed ${err.message}`); } spinner.succeed("Install module dependencies done."); return true; });