1 | var babel = require("babel-standalone");
|
2 | var assign = require('object.assign');
|
3 |
|
4 | module.exports = function(source, compileOptions, options){
|
5 | var opts = assign({}, options.babelOptions, {
|
6 | sourceMap: compileOptions.sourceMaps || false
|
7 | });
|
8 |
|
9 |
|
10 | var defaultPresets = [
|
11 | "react",
|
12 | "stage-0",
|
13 | ["es2015", {loose: false, modules: compileOptions.modules}]
|
14 | ];
|
15 |
|
16 |
|
17 | opts.presets = defaultPresets.concat(opts.presets || []);
|
18 | opts.plugins = opts.plugins || [];
|
19 |
|
20 |
|
21 | delete opts.optional;
|
22 | delete opts.whitelist;
|
23 | delete opts.blacklist;
|
24 |
|
25 | if(opts.sourceMap) {
|
26 | opts.sourceMapTarget = options.sourceMapFileName;
|
27 | opts.sourceFileName = options.sourceMapFileName;
|
28 | }
|
29 |
|
30 | return babel.transform(source, opts);
|
31 | };
|