Mercurial > zeropaste
comparison babel.config.js @ 468:802dcd44188e
Now with webpacker
author | nanaya <me@nanaya.pro> |
---|---|
date | Sun, 23 Feb 2020 20:23:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
467:fd3078b4d355 | 468:802dcd44188e |
---|---|
1 module.exports = function(api) { | |
2 var validEnv = ['development', 'test', 'production'] | |
3 var currentEnv = api.env() | |
4 var isDevelopmentEnv = api.env('development') | |
5 var isProductionEnv = api.env('production') | |
6 var isTestEnv = api.env('test') | |
7 | |
8 if (!validEnv.includes(currentEnv)) { | |
9 throw new Error( | |
10 'Please specify a valid `NODE_ENV` or ' + | |
11 '`BABEL_ENV` environment variables. Valid values are "development", ' + | |
12 '"test", and "production". Instead, received: ' + | |
13 JSON.stringify(currentEnv) + | |
14 '.' | |
15 ) | |
16 } | |
17 | |
18 return { | |
19 presets: [ | |
20 isTestEnv && [ | |
21 '@babel/preset-env', | |
22 { | |
23 targets: { | |
24 node: 'current' | |
25 } | |
26 } | |
27 ], | |
28 (isProductionEnv || isDevelopmentEnv) && [ | |
29 '@babel/preset-env', | |
30 { | |
31 forceAllTransforms: true, | |
32 useBuiltIns: 'entry', | |
33 corejs: 3, | |
34 modules: false, | |
35 exclude: ['transform-typeof-symbol'] | |
36 } | |
37 ] | |
38 ].filter(Boolean), | |
39 plugins: [ | |
40 'babel-plugin-macros', | |
41 '@babel/plugin-syntax-dynamic-import', | |
42 isTestEnv && 'babel-plugin-dynamic-import-node', | |
43 '@babel/plugin-transform-destructuring', | |
44 [ | |
45 '@babel/plugin-proposal-class-properties', | |
46 { | |
47 loose: true | |
48 } | |
49 ], | |
50 [ | |
51 '@babel/plugin-proposal-object-rest-spread', | |
52 { | |
53 useBuiltIns: true | |
54 } | |
55 ], | |
56 [ | |
57 '@babel/plugin-transform-runtime', | |
58 { | |
59 helpers: false, | |
60 regenerator: true, | |
61 corejs: false | |
62 } | |
63 ], | |
64 [ | |
65 '@babel/plugin-transform-regenerator', | |
66 { | |
67 async: false | |
68 } | |
69 ] | |
70 ].filter(Boolean) | |
71 } | |
72 } |