Files
gitbook/lib/plugins/validatePlugin.js
T
Samy Pessé 4336fdb241 Base
2016-04-22 11:00:21 +02:00

34 lines
835 B
JavaScript

var gitbook = require('../gitbook');
var Promise = require('../utils/promise');
/**
Validate a plugin
@param {Plugin}
@return {Promise<Plugin>}
*/
function validatePlugin(plugin) {
var packageInfos = plugin.getPackage();
var isValid = (
plugin.isLoaded() &&
packageInfos &&
packageInfos.name &&
packageInfos.engines &&
packageInfos.engines.gitbook
);
if (!isValid) {
return Promise.reject(new Error('Error loading plugin "' + plugin.getName() + '" at "' + plugin.getPath() + '"'));
}
if (!gitbook.satisfies(this.packageInfos.engines.gitbook)) {
return Promise.reject(new Error('GitBook doesn\'t satisfy the requirements of this plugin: ' + packageInfos.engines.gitbook));
}
return Promise();
}
module.exports = validatePlugin;