Files
enviPy-bayer/static/js/ketcher2/node_modules/npm-install-package/index.js
2025-06-23 20:13:54 +02:00

36 lines
778 B
JavaScript

var exec = require('child_process').exec
module.exports = npmInstallPackage
// Install an npm package
// ([str]|str, obj, obj, fn) -> null
function npmInstallPackage (deps, opts, cb) {
if (!cb) {
cb = opts
opts = {}
}
deps = Array.isArray(deps) ? deps : [ deps ]
opts = opts || opts
cb = cb || noop
var args = []
if (opts.save) args.push('-S')
if (opts.saveDev) args.push('-D')
if (opts.global) args.push('-g')
if (opts.cache) args.push('--cache-min Infinity')
if (opts.silent === false) {
deps.forEach(function (dep) {
process.stdout.write('pkg: ' + dep + '\n')
})
}
var cliArgs = ['npm i'].concat(args, deps).join(' ')
exec(cliArgs, function (err, name) {
if (err) return cb(err)
cb()
})
}
function noop () {}