babel.config.js (18 lines of code) (raw):

module.exports = { presets: [ [ // Use config in .browserlistrc to decide the target env require('@babel/preset-env'), { // Preserve ES modules. Leave module handling to Rollup. modules: false, }, ], require('@babel/preset-react'), require('@babel/preset-typescript'), ], plugins: [ // Target project using this preset will need @babel/runtime as a run-time dependency require('@babel/plugin-transform-runtime'), // Stage 3 Proposals // Public and private instance fields : https://github.com/tc39/proposal-class-fields // Static class features : https://github.com/tc39/proposal-static-class-features [require('@babel/plugin-proposal-class-properties'), { loose: true }], // Finished Proposal - Published in ES 2020 // Optional Chaining : https://github.com/tc39/proposal-optional-chaining require('@babel/plugin-proposal-optional-chaining'), // Finished Proposal - Published in ES 2020 // https://github.com/tc39-transfer/proposal-nullish-coalescing require('@babel/plugin-proposal-nullish-coalescing-operator'), ], }