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 presetsEnv = require('@babel/preset-env')
const syntaxClassProperties = require('@babel/plugin-syntax-class-properties') const pluginProposalClassProperties = require('@babel/plugin-proposal-class-properties')
const transformRuntime = require('@babel/plugin-transform-runtime') const pluginTransformRuntime = require('@babel/plugin-transform-runtime')
const syntaxDynamicImport = require('@babel/plugin-syntax-dynamic-import') const pluginProposalFunctionBind = require('@babel/plugin-proposal-function-bind')
const functionBind = require('@babel/plugin-proposal-function-bind') const pluginProposalExportDefaultFrom = require('@babel/plugin-proposal-export-default-from')
const exportDefault = require('@babel/plugin-proposal-export-default-from') const pluginSyntaxDynamicImport = require('@babel/plugin-syntax-dynamic-import')
const isTanbul = require('babel-plugin-istanbul') const pluginIstanbul = require('babel-plugin-istanbul')
const component = require('babel-plugin-component') const pluginComponent = require('babel-plugin-component')
const presetEnv = require('@babel/preset-env') const electronVersion = require('electron/package.json').version
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
}
}]
]
}
module.exports = function (api) { module.exports = function (api) {
const plugins = [ proposalClassProperties, syntaxClassProperties, transformRuntime, syntaxDynamicImport, functionBind, exportDefault ] api.cache(true) // Enable persistent caching
const env = api.env() 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') { if (env === 'test') {
plugins.push(isTanbul) plugins.push(pluginIstanbul)
} else if (env === 'renderer') { } else if (env === 'renderer') {
plugins.push( plugins.push([
[component, { pluginComponent,
{
style: false, style: false,
libraryName: 'element-ui' libraryName: 'element-ui',
} },
]) ])
} }
return { return {
presets, presets,
plugins plugins,
} }
} }