From 919df481800b7bed5ddedcadab194bb0adbe1985 Mon Sep 17 00:00:00 2001 From: Yuva <94527987+yuvashrikarunakaran@users.noreply.github.com> Date: Tue, 31 Dec 2024 13:23:00 +0530 Subject: [PATCH] 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 --- babel.config.js | 82 ++++++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 42 deletions(-) diff --git a/babel.config.js b/babel.config.js index a1642c7d..9996f4ab 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,56 +1,54 @@ -const proposalClassProperties = require('@babel/plugin-proposal-class-properties') -const syntaxClassProperties = require('@babel/plugin-syntax-class-properties') -const transformRuntime = require('@babel/plugin-transform-runtime') -const syntaxDynamicImport = require('@babel/plugin-syntax-dynamic-import') -const functionBind = require('@babel/plugin-proposal-function-bind') -const exportDefault = require('@babel/plugin-proposal-export-default-from') -const isTanbul = require('babel-plugin-istanbul') -const component = require('babel-plugin-component') -const presetEnv = require('@babel/preset-env') - -const presetsHash = { - test: [ - [presetEnv, - { - targets: { 'node': 16 } - }] - ], - main: [ - [presetEnv, - { - targets: { 'node': 16 } - }] - ], - renderer: [ - [presetEnv, - { - useBuiltIns: false, - targets: { - electron: require('electron/package.json').version, - node: 16 - } - }] - ] -} +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) { - const plugins = [ proposalClassProperties, syntaxClassProperties, transformRuntime, syntaxDynamicImport, functionBind, exportDefault ] + api.cache(true) // Enable persistent caching + const env = api.env() - const presets = presetsHash[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(isTanbul) + plugins.push(pluginIstanbul) } else if (env === 'renderer') { - plugins.push( - [component, { + plugins.push([ + pluginComponent, + { style: false, - libraryName: 'element-ui' - } + libraryName: 'element-ui', + }, ]) } return { presets, - plugins + plugins, } }