Left file: appwork-v1_4_0/rails-starter/babel.config.js  
Right file: appwork-v1_5_0/rails-starter/babel.config.js  
1 module.exports = function(api) { = 1 module.exports = function(api) {
2   var validEnv = ['development', 'test', 'production']   2   var validEnv = ['development', 'test', 'production']
3   var currentEnv = api.env()   3   var currentEnv = api.env()
4   var isDevelopmentEnv = api.env('development')   4   var isDevelopmentEnv = api.env('development')
5   var isProductionEnv = api.env('production')   5   var isProductionEnv = api.env('production')
6   var isTestEnv = api.env('test')   6   var isTestEnv = api.env('test')
7     7  
8   if (!validEnv.includes(currentEnv)) {   8   if (!validEnv.includes(currentEnv)) {
9     throw new Error(   9     throw new Error(
10       'Please specify a valid `NODE_ENV` or ' +   10       'Please specify a valid `NODE_ENV` or ' +
11         '`BABEL_ENV` environment variables. Valid values are "development", ' +   11         '`BABEL_ENV` environment variables. Valid values are "development", ' +
12         '"test", and "production". Instead, received: ' +   12         '"test", and "production". Instead, received: ' +
13         JSON.stringify(currentEnv) +   13         JSON.stringify(currentEnv) +
14         '.'   14         '.'
15     )   15     )
16   }   16   }
17     17  
18   return {   18   return {
19     babelrc: false,   19     babelrc: false,
20     presets: [   20     presets: [
21       isTestEnv && [   21       isTestEnv && [
22         require('@babel/preset-env').default, <> 22         '@babel/preset-env',
23         { = 23         {
24           targets: {   24           targets: {
25             node: 'current'   25             node: 'current'
26           }   26           }
27         }   27         }
28       ],   28       ],
29       (isProductionEnv || isDevelopmentEnv) && [   29       (isProductionEnv || isDevelopmentEnv) && [
30         require('@babel/preset-env').default, <> 30         '@babel/preset-env',
31         { = 31         {
32           targets: 'last 2 versions, ie >= 10',   32           targets: 'last 2 versions, ie >= 10',
33           forceAllTransforms: true,   33           forceAllTransforms: true,
34           useBuiltIns: 'entry',   34           useBuiltIns: 'entry',
35           corejs: 3,   35           corejs: 3,
36           modules: false,   36           modules: false,
37           exclude: ['transform-typeof-symbol']   37           exclude: ['transform-typeof-symbol']
38         }   38         }
39       ]   39       ]
40     ].filter(Boolean),   40     ].filter(Boolean),
41     plugins: [   41     plugins: [
42       require('babel-plugin-macros'), <> 42       'babel-plugin-macros',
43       require('@babel/plugin-syntax-dynamic-import').default,   43       '@babel/plugin-syntax-dynamic-import',
44       isTestEnv && require('babel-plugin-dynamic-import-node'),   44       isTestEnv && 'babel-plugin-dynamic-import-node',
45       require('@babel/plugin-transform-destructuring').default,   45       '@babel/plugin-transform-destructuring',
46       [ = 46       [
47         require('@babel/plugin-proposal-class-properties').default, <> 47         '@babel/plugin-proposal-class-properties',
48         { = 48         {
49           loose: true   49           loose: true
50         }   50         }
51       ],   51       ],
52       [   52       [
53         require('@babel/plugin-proposal-object-rest-spread').default, <> 53         '@babel/plugin-proposal-object-rest-spread',
54         { = 54         {
55           useBuiltIns: true   55           useBuiltIns: true
56         }   56         }
57       ],   57       ],
58       [   58       [
59         require('@babel/plugin-transform-runtime').default, <> 59         '@babel/plugin-transform-runtime',
60         { = 60         {
61           helpers: false,   61           helpers: false,
62           regenerator: true,   62           regenerator: true,
63           corejs: false   63           corejs: false
64         }   64         }
65       ],   65       ],
66       [   66       [
67         require('@babel/plugin-transform-regenerator').default, <> 67         '@babel/plugin-transform-regenerator',
68         { = 68         {
69           async: false   69           async: false
70         }   70         }
71       ]   71       ]
72     ].filter(Boolean)   72     ].filter(Boolean)
73   }   73   }
74 }   74 }