UNPKG

@feflow/cli

Version:
69 lines 2.38 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isInstalledPM = exports.install = exports.getRegistryUrl = void 0; var cross_spawn_1 = __importDefault(require("cross-spawn")); function getRegistryUrl(packageManager) { return new Promise(function (resolve, reject) { var command = packageManager; var args = ['config', 'get', 'registry']; var child = (0, cross_spawn_1.default)(command, args, { windowsHide: true }); var output = ''; child.stdout.on('data', function (data) { output += data; }); child.on('close', function (code) { if (code !== 0) { reject({ command: "".concat(command, " ").concat(args.join(' ')), }); return; } output = output.replace(/\n/, '').replace(/\/$/, ''); resolve(output); }); child.on('error', function (err) { reject(err); }); }); } exports.getRegistryUrl = getRegistryUrl; function install(packageManager, root, cmd, dependencies, verbose) { return new Promise(function (resolve, reject) { var command = packageManager; var args = [cmd, '--save', '--save-exact', '--loglevel', 'error'].concat(dependencies); if (verbose) { args.push('--verbose'); } var child = (0, cross_spawn_1.default)(command, args, { stdio: 'inherit', cwd: root, windowsHide: true }); child.on('close', function (code) { if (code !== 0) { reject({ command: "".concat(command, " ").concat(args.join(' ')), }); return; } resolve(); }); child.on('error', function (err) { reject(err); }); }); } exports.install = install; function isInstalledPM(packageName) { try { var ret = cross_spawn_1.default.sync(packageName, ['-v'], { stdio: 'ignore', windowsHide: true, }); return ret.status === 0; } catch (err) { return false; } } exports.isInstalledPM = isInstalledPM; //# sourceMappingURL=npm.js.map