UNPKG

823 BJavaScriptView Raw
1var babel = require("babel-standalone");
2var assign = require('object.assign');
3
4module.exports = function(source, compileOptions, options){
5 var opts = assign({}, options.babelOptions, {
6 sourceMap: compileOptions.sourceMaps || false
7 });
8
9 // presets are applied from last to first
10 var defaultPresets = [
11 "react",
12 "stage-0",
13 ["es2015", {loose: false, modules: compileOptions.modules}]
14 ];
15
16 // user defined presets will override the default ones.
17 opts.presets = defaultPresets.concat(opts.presets || []);
18 opts.plugins = opts.plugins || [];
19
20 // Remove Babel 5 options
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};