diff options
author | silverwind | 2021-04-08 12:41:57 +0200 |
---|---|---|
committer | GitHub | 2021-04-08 12:41:57 +0200 |
commit | 0d1a5e0ffcf689e6e6b2aaa4a4251db74f6b487b (patch) | |
tree | c9c854a4efc5c623743ef09fdb3cd37215c4549b /webpack.config.js | |
parent | 4eea819b2496b849ca8e1e7a6e11fef45e141225 (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.js | 27 |
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: [ |