summaryrefslogtreecommitdiffstats
path: root/lib/plugins/locateRootFolder.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-06-10 17:15:04 +0200
committerSamy Pessé <samypesse@gmail.com>2016-06-10 17:15:04 +0200
commit7a08b3f109d104903406a38cfd33aa642d30211f (patch)
tree30883947deb3d2218c2255ce84a2bc1ad2b61d7e /lib/plugins/locateRootFolder.js
parent94d4234cb8523d080cfba87b4a51e3ebcffc4159 (diff)
downloadgitbook-7a08b3f109d104903406a38cfd33aa642d30211f.zip
gitbook-7a08b3f109d104903406a38cfd33aa642d30211f.tar.gz
gitbook-7a08b3f109d104903406a38cfd33aa642d30211f.tar.bz2
Fix #1377: fix listing of plugins when using gitbook as a library
Diffstat (limited to 'lib/plugins/locateRootFolder.js')
-rw-r--r--lib/plugins/locateRootFolder.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/plugins/locateRootFolder.js b/lib/plugins/locateRootFolder.js
new file mode 100644
index 0000000..1139510
--- /dev/null
+++ b/lib/plugins/locateRootFolder.js
@@ -0,0 +1,22 @@
+var path = require('path');
+var resolve = require('resolve');
+
+var DEFAULT_PLUGINS = require('../constants/defaultPlugins');
+
+/**
+ * Resolve the root folder containing for node_modules
+ * since gitbook can be used as a library and dependency can be flattened.
+ *
+ * @return {String} folderPath
+ */
+function locateRootFolder() {
+ var firstDefaultPlugin = DEFAULT_PLUGINS.first();
+ var pluginPath = resolve.sync(firstDefaultPlugin.getNpmID() + '/package.json', {
+ basedir: __dirname
+ });
+ var nodeModules = path.resolve(pluginPath, '../../..');
+
+ return nodeModules;
+}
+
+module.exports = locateRootFolder;