/* eslint-env node */ import type {TransformOptions} from '@babel/core'; const config: TransformOptions = { presets: [ [ '@babel/preset-react', { runtime: 'automatic', importSource: '@emotion/react', }, ], [ '@babel/preset-env', { useBuiltIns: 'usage', corejs: '3.37', }, ], // TODO: Remove allowDeclareFields when we upgrade to Babel 8 ['@babel/preset-typescript', {allowDeclareFields: true}], ], overrides: [], plugins: ['@emotion/babel-plugin', '@babel/plugin-transform-runtime'], env: { production: { plugins: [ ['babel-plugin-add-react-displayname'], '@sentry/babel-plugin-component-annotate', ], }, development: { plugins: [ '@emotion/babel-plugin', '@babel/plugin-transform-react-jsx-source', '@sentry/babel-plugin-component-annotate', ...(process.env.SENTRY_UI_HOT_RELOAD ? ['react-refresh/babel'] : []), ], }, test: { sourceMaps: process.env.CI ? false : true, plugins: [ // Required, see https://github.com/facebook/jest/issues/9430 'dynamic-import-node', // Disable emotion sourcemaps in tests // Since emotion spends lots of time parsing and inserting sourcemaps [ '@emotion/babel-plugin', { sourceMap: false, }, ], ], }, }, }; export default config;