summaryrefslogtreecommitdiffstats
path: root/lib/generate/plugin.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generate/plugin.js')
-rw-r--r--lib/generate/plugin.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/generate/plugin.js b/lib/generate/plugin.js
new file mode 100644
index 0000000..bc131c6
--- /dev/null
+++ b/lib/generate/plugin.js
@@ -0,0 +1,28 @@
+var semver = require("semver");
+var fs = require("./fs");
+
+var pkg = require("../../package.json");
+
+var Plugin = function(name) {
+ this.name = name;
+ this.packageInfos = {};
+
+ try {
+ this.packageInfos = require(name+"/package.json");
+ } catch (e) {
+ this.packageInfos = {};
+ }
+};
+
+// Test if it's a valid plugin
+Plugin.prototype.isValid = function() {
+ return (
+ this.packageInfos
+ && this.packageInfos.name
+ && this.packageInfos.engines
+ && this.packageInfos.engines.gitbook
+ && semver.satisfies(pkg.version, this.packageInfos.engines.gitbook)
+ );
+};
+
+module.exports = Plugin; \ No newline at end of file