blob: e7179e59c3e4b066b9303e9443c9e4254d06e4ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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;
|