Working loading of plugin

This commit is contained in:
Samy Pesse
2016-09-20 19:19:01 +02:00
parent 6d58a90613
commit ced0be930d
12 changed files with 104 additions and 53 deletions
+39
View File
@@ -0,0 +1,39 @@
const fs = require('fs');
const Promise = require('q');
const browserify = require('browserify');
const babelify = require('babelify');
/**
* Compile a plugin to work with "gitbook-core" in the browser.
* @param {String} inputFile
* @param {String} outputFile
* @return {Promise}
*/
function compilePlugin(inputFile, outputFile) {
const d = Promise.defer();
const b = browserify({
standalone: 'GitBookPlugin'
});
b.add(inputFile);
b.external('react');
b.external('react-dom');
b.external('gitbook-core');
b.transform(babelify, {
presets: [
require('babel-preset-es2015'),
require('babel-preset-react')
]
});
const output = fs.createWriteStream(outputFile);
b.bundle()
.pipe(output)
.on('error', (err) => d.reject(err))
.on('end', () => d.resolve());
return d.promise;
}
module.exports = compilePlugin;