73 lines
2.0 KiB
JavaScript
73 lines
2.0 KiB
JavaScript
// https://babeljs.io/docs/en/options#babelrcroots
|
|
const { extendDefaultPlugins } = require('svgo');
|
|
|
|
module.exports = {
|
|
babelrcRoots: ['./platform/*', './extensions/*', './modes/*'],
|
|
presets: [
|
|
'@babel/preset-env',
|
|
'@babel/preset-react',
|
|
'@babel/preset-typescript',
|
|
],
|
|
plugins: [
|
|
[
|
|
'inline-react-svg',
|
|
{
|
|
svgo: {
|
|
plugins: extendDefaultPlugins([
|
|
{
|
|
name: 'removeViewBox',
|
|
active: false,
|
|
},
|
|
]),
|
|
},
|
|
},
|
|
],
|
|
['@babel/plugin-proposal-class-properties', { loose: true }],
|
|
'@babel/plugin-transform-typescript',
|
|
['@babel/plugin-proposal-private-property-in-object', { loose: true }],
|
|
['@babel/plugin-proposal-private-methods', { loose: true }],
|
|
],
|
|
env: {
|
|
test: {
|
|
presets: [
|
|
[
|
|
// TODO: https://babeljs.io/blog/2019/03/19/7.4.0#migration-from-core-js-2
|
|
'@babel/preset-env',
|
|
{
|
|
modules: 'commonjs',
|
|
debug: false,
|
|
},
|
|
],
|
|
'@babel/preset-react',
|
|
'@babel/preset-typescript',
|
|
],
|
|
plugins: [
|
|
'@babel/plugin-proposal-object-rest-spread',
|
|
'@babel/plugin-syntax-dynamic-import',
|
|
'@babel/plugin-transform-regenerator',
|
|
'@babel/plugin-transform-runtime',
|
|
'@babel/plugin-transform-typescript',
|
|
],
|
|
},
|
|
production: {
|
|
presets: [
|
|
// WebPack handles ES6 --> Target Syntax
|
|
['@babel/preset-env', { modules: false }],
|
|
'@babel/preset-react',
|
|
'@babel/preset-typescript',
|
|
],
|
|
ignore: ['**/*.test.jsx', '**/*.test.js', '__snapshots__', '__tests__'],
|
|
},
|
|
development: {
|
|
presets: [
|
|
// WebPack handles ES6 --> Target Syntax
|
|
['@babel/preset-env', { modules: false }],
|
|
'@babel/preset-react',
|
|
'@babel/preset-typescript',
|
|
],
|
|
plugins: ['react-hot-loader/babel'],
|
|
ignore: ['**/*.test.jsx', '**/*.test.js', '__snapshots__', '__tests__'],
|
|
},
|
|
},
|
|
};
|