marktext/babel.config.js
Yuva 919df48180
Update babel.config.js
Below is the refactored code to use a babel.config.js file, which is the recommended configuration for Babel in modern setups
2024-12-31 13:23:00 +05:30

55 lines
1.5 KiB
JavaScript

const presetsEnv = require('@babel/preset-env')
const pluginProposalClassProperties = require('@babel/plugin-proposal-class-properties')
const pluginTransformRuntime = require('@babel/plugin-transform-runtime')
const pluginProposalFunctionBind = require('@babel/plugin-proposal-function-bind')
const pluginProposalExportDefaultFrom = require('@babel/plugin-proposal-export-default-from')
const pluginSyntaxDynamicImport = require('@babel/plugin-syntax-dynamic-import')
const pluginIstanbul = require('babel-plugin-istanbul')
const pluginComponent = require('babel-plugin-component')
const electronVersion = require('electron/package.json').version
module.exports = function (api) {
api.cache(true) // Enable persistent caching
const env = api.env()
const presets = [
[
presetsEnv,
{
targets:
env === 'renderer'
? { electron: electronVersion, node: '16' }
: { node: '16' },
useBuiltIns: env === 'renderer' ? false : 'usage',
corejs: env === 'renderer' ? undefined : 3,
},
],
]
const plugins = [
pluginProposalClassProperties,
pluginTransformRuntime,
pluginProposalFunctionBind,
pluginProposalExportDefaultFrom,
pluginSyntaxDynamicImport,
]
if (env === 'test') {
plugins.push(pluginIstanbul)
} else if (env === 'renderer') {
plugins.push([
pluginComponent,
{
style: false,
libraryName: 'element-ui',
},
])
}
return {
presets,
plugins,
}
}