UNPKG

1.1 kBJavaScriptView Raw
1'use strict';
2
3const IS_NODE_SEVEN = process.version.charAt(1) === '7';
4const HAS_HARMONY_FLAG = process.execArgv.includes('--harmony');
5
6const plugins = (...items) => {
7 const defaultPlugins = [
8 'transform-class-properties',
9 'transform-flow-strip-types',
10 'transform-es2015-modules-commonjs',
11 ['transform-object-rest-spread', {
12 useBuiltIns: true
13 }]
14 ];
15
16 if (!IS_NODE_SEVEN) {
17 defaultPlugins.push(
18 'babel-plugin-transform-exponentiation-operator',
19 'babel-plugin-transform-async-to-generator'
20 );
21 } else if (!HAS_HARMONY_FLAG) {
22 defaultPlugins.push('babel-plugin-transform-async-to-generator');
23 }
24
25 return items.concat(defaultPlugins);
26};
27
28// eslint-disable-next-line import/no-extraneous-dependencies
29require('babel-core/register')({
30 babelrc: false,
31 plugins: plugins(),
32 env: {
33 test: {
34 sourceMaps: 'inline',
35 plugins: plugins(['istanbul', {
36 include: [
37 'src/**/*.js'
38 ],
39 exclude: [
40 '**/test',
41 '**/errors',
42 '**/interfaces.js'
43 ]
44 }])
45 }
46 }
47});