1 | 'use strict';
|
2 |
|
3 | module.exports = function(context, options) {
|
4 | options = options || {};
|
5 |
|
6 | const preset = {
|
7 | presets: [
|
8 | require('babel-preset-react'),
|
9 | [require('babel-preset-env'), { modules: options.modules, loose: true }],
|
10 | require('babel-preset-stage-0')
|
11 | ],
|
12 | plugins: [
|
13 | require('babel-plugin-transform-react-es6-displayname'),
|
14 | require('babel-plugin-transform-decorators-legacy').default,
|
15 |
|
16 |
|
17 | ]
|
18 | };
|
19 | if (options.runtime) {
|
20 | preset.plugins.unshift([
|
21 | require('babel-plugin-transform-runtime'), {
|
22 | polyfill: false,
|
23 | regenerator: false
|
24 | }
|
25 | ]);
|
26 | }
|
27 | if (typeof options.modules === 'undefined' || options.modules) {
|
28 | preset.plugins.push(require('babel-plugin-add-module-exports'));
|
29 | }
|
30 |
|
31 | return preset;
|
32 | };
|