test: enable building tests with webpack as well as parcel
This commit is contained in:
parent
3e2f780330
commit
a52f9aa745
|
@ -0,0 +1,8 @@
|
|||
// Include the mocha css
|
||||
require('mocha/mocha.css');
|
||||
|
||||
// Setup mocha and set it to run tests on window load
|
||||
require('./setup-mocha');
|
||||
|
||||
// Add any new tests to `tests/index.js`
|
||||
require('./index');
|
|
@ -0,0 +1,61 @@
|
|||
const webpack = require('webpack');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const NodePolyfillPlugin = require("node-polyfill-webpack-plugin");
|
||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = env => ({
|
||||
mode: 'development',
|
||||
entry: path.resolve(__dirname, './webpack-tests.js'),
|
||||
resolve: {
|
||||
alias: {
|
||||
'fsProvider': path.resolve(__dirname, '../shims/providers/default'),
|
||||
},
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, './dist-webpack'),
|
||||
filename: 'index.js',
|
||||
},
|
||||
plugins: [
|
||||
new webpack.ContextReplacementPlugin(
|
||||
// Mocha safely uses require in such a way that webpack cannot statically extract dependancies.
|
||||
// If the ignoreRequestDependancyExpressionWarnings env is set, we will aggregate these warnings
|
||||
// into one summary warning to minimise spamming the console.
|
||||
/\/node_modules\/mocha\/lib/,
|
||||
(data) => {
|
||||
if (env.ignoreRequestDependancyExpressionWarnings) {
|
||||
let requestDependencyExpressionsIgnored = 0;
|
||||
data.dependencies.forEach((dependancy) => {
|
||||
if (dependancy.critical === 'the request of a dependency is an expression') {
|
||||
dependancy.critical = undefined;
|
||||
requestDependencyExpressionsIgnored += 1;
|
||||
}
|
||||
});
|
||||
console.log(`WARNING: Ignoring ${requestDependencyExpressionsIgnored} "request of a dependency is an expression" warnings from "node_modules/mocha/lib".`);
|
||||
}
|
||||
return data;
|
||||
},
|
||||
),
|
||||
new NodePolyfillPlugin(),
|
||||
new MiniCssExtractPlugin(),
|
||||
new HtmlWebpackPlugin({
|
||||
title: 'Filer Tests - Webpack Build',
|
||||
template: './tests/webpack.index.html',
|
||||
}),
|
||||
],
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.css$/i,
|
||||
use: [MiniCssExtractPlugin.loader, 'css-loader'],
|
||||
},
|
||||
],
|
||||
},
|
||||
optimization: {
|
||||
minimize: false,
|
||||
},
|
||||
devtool: 'inline-source-map',
|
||||
devServer: {
|
||||
contentBase: path.resolve(__dirname, './dist-webpack'),
|
||||
}
|
||||
});
|
|
@ -0,0 +1,10 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="mocha"></div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue