diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-10-12 14:09:48 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-10-12 14:09:48 +0200 |
commit | 7253dbc476ed0fe6724f199a20b55c868774d92a (patch) | |
tree | 4caed3a43982838583c5e5c52f1c4ab380d05948 /packages/gitbook/src/plugins/installPlugin.js | |
parent | b4dd3e1ddc4321d85ed2c579d3c2df494f9d23e9 (diff) | |
download | gitbook-7253dbc476ed0fe6724f199a20b55c868774d92a.zip gitbook-7253dbc476ed0fe6724f199a20b55c868774d92a.tar.gz gitbook-7253dbc476ed0fe6724f199a20b55c868774d92a.tar.bz2 |
Use ied instead of npm for installation of plugins
Diffstat (limited to 'packages/gitbook/src/plugins/installPlugin.js')
-rw-r--r-- | packages/gitbook/src/plugins/installPlugin.js | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/packages/gitbook/src/plugins/installPlugin.js b/packages/gitbook/src/plugins/installPlugin.js index c1f1f22..9834d05 100644 --- a/packages/gitbook/src/plugins/installPlugin.js +++ b/packages/gitbook/src/plugins/installPlugin.js @@ -1,6 +1,6 @@ -const npmi = require('npmi'); +const resolve = require('resolve'); -const Promise = require('../utils/promise'); +const { exec } = require('../utils/command'); const resolveVersion = require('./resolveVersion'); /** @@ -20,6 +20,8 @@ function installPlugin(book, plugin) { logger.info.ln(''); logger.info.ln('installing plugin "' + name + '"'); + const installerBin = resolve.sync('ied/lib/cmd.js'); + // Find a version to install return resolveVersion(plugin) .then(function(version) { @@ -27,17 +29,12 @@ function installPlugin(book, plugin) { throw new Error('Found no satisfactory version for plugin "' + name + '" with requirement "' + requirement + '"'); } - logger.info.ln('install plugin "' + name + '" (' + requirement + ') from NPM with version', version); - return Promise.nfcall(npmi, { - 'name': plugin.getNpmID(), - version, - 'path': installFolder, - 'npmLoad': { - 'loglevel': 'silent', - 'loaded': true, - 'prefix': installFolder - } - }); + logger.info.ln('install plugin "' + name + '" (' + requirement + ') with version', version); + + const npmID = plugin.getNpmID(); + const command = `${installerBin} install ${npmID}@${version}`; + + return exec(command, { cwd: installFolder }); }) .then(function() { logger.info.ok('plugin "' + name + '" installed with success'); |