UNPKG

1.46 kBJavaScriptView Raw
1'use strict';
2
3function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
5var path = _interopDefault(require('path'));
6
7var index = function (context, ref) {
8 if ( ref === void 0 ) ref = {};
9 var useBuiltIns = ref.useBuiltIns;
10 var targets = ref.targets; if ( targets === void 0 ) targets = {
11 ie: 9,
12 uglify: true
13 };
14
15 var env = process.env.BABEL_ENV || process.env.NODE_ENV;
16
17 var presets = [
18 env === 'test' ?
19 [require('babel-preset-env').default, {
20 targets: {
21 node: 'current'
22 }
23 }] :
24 [require('babel-preset-env').default, {
25 useBuiltIns: useBuiltIns,
26 modules: false,
27 targets: targets
28 }],
29 // vue jsx
30 require.resolve('babel-preset-vue')
31 ];
32
33 var plugins = [
34 // Polyfills the runtime needed for async/await and generators
35 [require.resolve('babel-plugin-transform-runtime'), {
36 helpers: !useBuiltIns,
37 polyfill: !useBuiltIns,
38 regenerator: true,
39 // Resolve the Babel runtime relative to the config.
40 moduleName: path.dirname(require.resolve('babel-runtime/package'))
41 }],
42 [require('babel-plugin-transform-object-rest-spread'), {
43 useBuiltIns: useBuiltIns
44 }],
45 // For dynamic import that you will use a lot in code-split
46 require.resolve('babel-plugin-syntax-dynamic-import')
47 ];
48
49 return {
50 presets: presets,
51 plugins: plugins
52 }
53};
54
55module.exports = index;