fix(tests): simplify tests
This commit is contained in:
32
build/webpack.tests.config.js
Normal file
32
build/webpack.tests.config.js
Normal file
@ -0,0 +1,32 @@
|
||||
const merge = require("webpack-merge");
|
||||
const jetpack = require("fs-jetpack");
|
||||
const base = require("./webpack.base.config");
|
||||
|
||||
// Test files are scattered through the whole project. Here we're searching
|
||||
// for them and generating entry file for webpack.
|
||||
|
||||
const testsDir = jetpack.cwd("tests");
|
||||
const tempDir = jetpack.cwd("temp");
|
||||
const entryFilePath = tempDir.path("testsInit.js");
|
||||
|
||||
const testsImports = testsDir
|
||||
.find({ matching: "*.test.js" })
|
||||
.reduce((fileContent, path) => {
|
||||
const normalizedPath = path.replace(/\\/g, "/");
|
||||
return `${fileContent}require("../tests/${normalizedPath}");\n`;
|
||||
}, "");
|
||||
|
||||
let entryFileContent = testsDir.read('init.js')
|
||||
entryFileContent = entryFileContent.replace('//TESTS', testsImports)
|
||||
|
||||
jetpack.write(entryFilePath, entryFileContent);
|
||||
|
||||
module.exports = env => {
|
||||
return merge(base(env), {
|
||||
entry: entryFilePath,
|
||||
output: {
|
||||
filename: "tests.js",
|
||||
path: tempDir.path()
|
||||
}
|
||||
});
|
||||
};
|
Reference in New Issue
Block a user