mirror of
https://github.com/marktext/marktext.git
synced 2025-05-02 09:40:47 +08:00
Merge 919df48180
into 11c8cc1e19
This commit is contained in:
commit
02c827cd5c
@ -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,
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user