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.
This commit is contained in:
parent
4eea819b24
commit
0d1a5e0ffc
12 changed files with 5151 additions and 35 deletions
|
@ -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: [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue