summaryrefslogtreecommitdiffstats
path: root/lib/plugins/installPlugins.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plugins/installPlugins.js')
-rw-r--r--lib/plugins/installPlugins.js67
1 files changed, 1 insertions, 66 deletions
diff --git a/lib/plugins/installPlugins.js b/lib/plugins/installPlugins.js
index 5adae04..ed9316c 100644
--- a/lib/plugins/installPlugins.js
+++ b/lib/plugins/installPlugins.js
@@ -1,75 +1,10 @@
-var npm = require('npm');
var npmi = require('npmi');
-var semver = require('semver');
-var Immutable = require('immutable');
var pkg = require('../../package.json');
var DEFAULT_PLUGINS = require('../constants/defaultPlugins');
var Promise = require('../utils/promise');
-var Plugin = require('../models/plugin');
-var gitbook = require('../gitbook');
var listForBook = require('./listForBook');
-
-var npmIsReady;
-
-/**
- Initialize and prepare NPM
-
- @return {Promise}
-*/
-function initNPM() {
- if (npmIsReady) return npmIsReady;
-
- npmIsReady = Promise.nfcall(npm.load, {
- silent: true,
- loglevel: 'silent'
- });
-
- return npmIsReady;
-}
-
-
-
-/**
- Resolve a plugin to a version
-
- @param {Plugin}
- @return {Promise<String>}
-*/
-function resolveVersion(plugin) {
- var npmId = Plugin.nameToNpmID(plugin.getName());
- var requiredVersion = plugin.getVersion();
-
- return initNPM()
- .then(function() {
- return Promise.nfcall(npm.commands.view, [npmId + '@' + requiredVersion, 'engines'], true);
- })
- .then(function(versions) {
- versions = Immutable.Map(versions).entrySeq();
-
- var result = versions
- .map(function(entry) {
- return {
- version: entry[0],
- gitbook: (entry[1].engines || {}).gitbook
- };
- })
- .filter(function(v) {
- return v.gitbook && gitbook.satisfies(v.gitbook);
- })
- .sort(function(v1, v2) {
- return semver.lt(v1.version, v2.version)? 1 : -1;
- })
- .get(0);
-
- if (!result) {
- return undefined;
- } else {
- return result.version;
- }
- });
-}
-
+var resolveVersion = require('./resolveVersion');
/**
Install a plugin for a book