58 lines
1.8 KiB
JavaScript
58 lines
1.8 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: [
|
|
['@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 }],
|
|
'@babel/plugin-transform-class-static-block',
|
|
],
|
|
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/transform-destructuring',
|
|
'@babel/plugin-transform-runtime',
|
|
'@babel/plugin-transform-typescript',
|
|
'@babel/plugin-transform-class-static-block',
|
|
],
|
|
},
|
|
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',
|
|
],
|
|
ignore: ['**/*.test.jsx', '**/*.test.js', '__snapshots__', '__tests__'],
|
|
},
|
|
},
|
|
};
|