This commit is contained in:
Yuva 2024-12-31 07:53:12 +00:00 committed by GitHub
commit 02c827cd5c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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,
}
}