1 | import { tmpdir } from 'os';
|
2 | import { existsSync } from 'fs';
|
3 | import { join } from 'path';
|
4 | import presetStage0 from '@babel/preset-stage-0';
|
5 | import presetEnv from '@babel/preset-env';
|
6 | import presetReact from '@babel/preset-react';
|
7 | import transformRuntime from '@babel/plugin-transform-runtime';
|
8 | export default function babel(args) {
|
9 | var pkgPath = join(args.cwd, 'package.json');
|
10 | var pkg = existsSync(pkgPath) ? require(pkgPath) : {};
|
11 | var browsersObj = {};
|
12 |
|
13 | if (!pkg.browserslist) {
|
14 | browsersObj.browsers = ['last 2 versions', 'Firefox ESR', '> 1%', 'ie >= 9', 'iOS >= 8', 'Android >= 4'];
|
15 | }
|
16 |
|
17 | return {
|
18 | cacheDirectory: tmpdir(),
|
19 | presets: [presetStage0, [presetEnv, {
|
20 | targets: {
|
21 | browsers: browsersObj.browsers
|
22 | },
|
23 | modules: false,
|
24 | useBuiltIns: 'usage'
|
25 | }], presetReact],
|
26 | plugins: [],
|
27 | comments: false
|
28 | };
|
29 | } |
\ | No newline at end of file |