@@ -5,8 +5,11 @@ const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
5
5
const LicenseCheckerWebpackPlugin = require ( 'license-checker-webpack-plugin' ) ;
6
6
const MiniCssExtractPlugin = require ( 'mini-css-extract-plugin' ) ;
7
7
const MonacoWebpackPlugin = require ( 'monaco-editor-webpack-plugin' ) ;
8
- const TerserPlugin = require ( 'terser-webpack-plugin' ) ;
9
8
const VueLoaderPlugin = require ( 'vue-loader/lib/plugin' ) ;
9
+ const {
10
+ ESBuildPlugin,
11
+ ESBuildMinifyPlugin
12
+ } = require ( 'esbuild-loader' ) ;
10
13
const { statSync} = require ( 'fs' ) ;
11
14
const { resolve, parse} = require ( 'path' ) ;
12
15
const { SourceMapDevToolPlugin} = require ( 'webpack' ) ;
@@ -78,13 +81,9 @@ module.exports = {
78
81
optimization : {
79
82
minimize : isProduction ,
80
83
minimizer : [
81
- new TerserPlugin ( {
82
- extractComments : false ,
83
- terserOptions : {
84
- output : {
85
- comments : false ,
86
- } ,
87
- } ,
84
+ new ESBuildMinifyPlugin ( {
85
+ target : 'es2015' , // Syntax to compile to (see options below for possible values)
86
+ minify : true
88
87
} ) ,
89
88
new CssMinimizerPlugin ( {
90
89
sourceMap : true ,
@@ -131,36 +130,9 @@ module.exports = {
131
130
exclude : / n o d e _ m o d u l e s / ,
132
131
use : [
133
132
{
134
- loader : 'babel -loader' ,
133
+ loader : 'esbuild -loader' ,
135
134
options : {
136
- sourceMaps : true ,
137
- cacheDirectory : true ,
138
- cacheCompression : false ,
139
- cacheIdentifier : [
140
- resolve ( __dirname , 'package.json' ) ,
141
- resolve ( __dirname , 'package-lock.json' ) ,
142
- resolve ( __dirname , 'webpack.config.js' ) ,
143
- ] . map ( ( path ) => statSync ( path ) . mtime . getTime ( ) ) . join ( ':' ) ,
144
- presets : [
145
- [
146
- '@babel/preset-env' ,
147
- {
148
- useBuiltIns : 'usage' ,
149
- corejs : 3 ,
150
- } ,
151
- ] ,
152
- ] ,
153
- plugins : [
154
- [
155
- '@babel/plugin-transform-runtime' ,
156
- {
157
- regenerator : true ,
158
- }
159
- ] ,
160
- ] ,
161
- generatorOpts : {
162
- compact : false ,
163
- } ,
135
+ target : 'es2015' // Syntax to compile to (see options below for possible values)
164
136
} ,
165
137
} ,
166
138
] ,
@@ -243,6 +215,7 @@ module.exports = {
243
215
} ,
244
216
plugins : [
245
217
new VueLoaderPlugin ( ) ,
218
+ new ESBuildPlugin ( ) ,
246
219
new MiniCssExtractPlugin ( {
247
220
filename : 'css/[name].css' ,
248
221
chunkFilename : 'css/[name].css' ,
0 commit comments