summaryrefslogtreecommitdiffstats
path: root/packages/gitbook/src/plugins/installPlugin.js
diff options
context:
space:
mode:
authorSamy Pesse <samypesse@gmail.com>2016-10-12 14:09:48 +0200
committerSamy Pesse <samypesse@gmail.com>2016-10-12 14:09:48 +0200
commit7253dbc476ed0fe6724f199a20b55c868774d92a (patch)
tree4caed3a43982838583c5e5c52f1c4ab380d05948 /packages/gitbook/src/plugins/installPlugin.js
parentb4dd3e1ddc4321d85ed2c579d3c2df494f9d23e9 (diff)
downloadgitbook-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.js23
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');