mirror of
https://github.com/grafana/grafana.git
synced 2024-12-01 21:19:28 -06:00
50 lines
1.4 KiB
JavaScript
50 lines
1.4 KiB
JavaScript
module.exports = function getBabelConfig(options = {}) {
|
|
return {
|
|
cacheDirectory: true,
|
|
babelrc: false,
|
|
// Note: order is top-to-bottom and/or left-to-right
|
|
// Note: order is bottom-to-top and/or right-to-left
|
|
presets: [
|
|
[
|
|
'@babel/preset-env',
|
|
{
|
|
bugfixes: true,
|
|
browserslistEnv: process.env.BABEL_ENV || options.BABEL_ENV || 'production',
|
|
useBuiltIns: 'entry',
|
|
corejs: '3.10',
|
|
},
|
|
],
|
|
[
|
|
'@babel/preset-typescript',
|
|
{
|
|
allowNamespaces: true,
|
|
allowDeclareFields: true,
|
|
},
|
|
],
|
|
[
|
|
'@babel/preset-react',
|
|
{
|
|
runtime: 'automatic',
|
|
},
|
|
],
|
|
],
|
|
plugins: [
|
|
[
|
|
'@babel/plugin-transform-typescript',
|
|
{
|
|
allowNamespaces: true,
|
|
allowDeclareFields: true,
|
|
},
|
|
],
|
|
['@babel/plugin-proposal-class-properties', { loose: true }],
|
|
['@babel/plugin-proposal-private-methods', { loose: true }],
|
|
['@babel/plugin-proposal-object-rest-spread', { loose: true }],
|
|
'@babel/plugin-transform-react-constant-elements',
|
|
'@babel/plugin-proposal-nullish-coalescing-operator',
|
|
'@babel/plugin-proposal-optional-chaining',
|
|
'@babel/plugin-syntax-dynamic-import', // needed for `() => import()` in routes.ts
|
|
'angularjs-annotate',
|
|
],
|
|
};
|
|
};
|