aboutsummaryrefslogtreecommitdiff
path: root/webpack.config.js
diff options
context:
space:
mode:
authorsilverwind2021-04-08 12:41:57 +0200
committerGitHub2021-04-08 12:41:57 +0200
commit0d1a5e0ffcf689e6e6b2aaa4a4251db74f6b487b (patch)
treec9c854a4efc5c623743ef09fdb3cd37215c4549b /webpack.config.js
parent4eea819b2496b849ca8e1e7a6e11fef45e141225 (diff)
Add frontend testing, require node 12 (#15315)
- Add basic frontend unit testing infrastructure using jest in ESM mode - Rename 'make test' to 'make test-backend' - Introduce 'make test-frontend' and 'make test' that runs both - Bump Node.js requirement to v12. v10 will be EOL in less than a month. - Convert all build-related JS files to ESM. I opted to run frontend tests run as part of the compliance pipeline because they complete fast and are not platform-specific like the golang tests.
Diffstat (limited to 'webpack.config.js')
-rw-r--r--webpack.config.js27
1 files changed, 15 insertions, 12 deletions
diff --git a/webpack.config.js b/webpack.config.js
index 902654dd3..aed3802af 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,15 +1,18 @@
-const fastGlob = require('fast-glob');
-const wrapAnsi = require('wrap-ansi');
-const AddAssetPlugin = require('add-asset-webpack-plugin');
-const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
-const LicenseCheckerWebpackPlugin = require('license-checker-webpack-plugin');
-const MiniCssExtractPlugin = require('mini-css-extract-plugin');
-const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
-const VueLoaderPlugin = require('vue-loader/lib/plugin');
-const {ESBuildMinifyPlugin} = require('esbuild-loader');
-const {resolve, parse} = require('path');
-const {SourceMapDevToolPlugin} = require('webpack');
+import fastGlob from 'fast-glob';
+import wrapAnsi from 'wrap-ansi';
+import AddAssetPlugin from 'add-asset-webpack-plugin';
+import CssMinimizerPlugin from 'css-minimizer-webpack-plugin';
+import LicenseCheckerWebpackPlugin from 'license-checker-webpack-plugin';
+import MiniCssExtractPlugin from 'mini-css-extract-plugin';
+import MonacoWebpackPlugin from 'monaco-editor-webpack-plugin';
+import {VueLoaderPlugin} from 'vue-loader';
+import {ESBuildMinifyPlugin} from 'esbuild-loader';
+import {resolve, parse, dirname} from 'path';
+import webpack from 'webpack';
+import {fileURLToPath} from 'url';
+const __dirname = dirname(fileURLToPath(import.meta.url));
+const {SourceMapDevToolPlugin} = webpack;
const glob = (pattern) => fastGlob.sync(pattern, {cwd: __dirname, absolute: true});
const themes = {};
@@ -35,7 +38,7 @@ const filterCssImport = (url, ...args) => {
return true;
};
-module.exports = {
+export default {
mode: isProduction ? 'production' : 'development',
entry: {
index: [