/
test.js
56 lines (50 loc) · 2 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const WebpackHelpers = require('./index')
/**
* @param {string} groupName
* @param {[string, function][]} tests
*/
async function g(groupName, tests) {
console.log(`Group started: ${groupName}`)
await Promise.all(tests.map(async t => {
const [testName, func] = t
console.log(`Test started: ${testName}`)
try {
const rawResponse = func()
const response = rawResponse instanceof Promise ? await rawResponse : rawResponse
console.log(`Test response:`, response)
} catch (err) {
console.error(`Test failed`, err)
}
console.log(`Test ended: ${testName}`)
}))
console.log(`Group end: ${groupName}`)
}
async function test() {
await g('ungrouped', [
['mode', () => WebpackHelpers.mode()]
])
await g('Plugins', [
['BundleAnalyzer', () => WebpackHelpers.Plugins.bundleAnalyzer()],
['jquery', () => WebpackHelpers.Plugins.jquery()]
])
await g('Recipes', [
['common', () => WebpackHelpers.Recipes.common(__dirname)],
['babelLoader', () => WebpackHelpers.Recipes.babelLoader()],
['copyWebpackPluginPatterns', () => WebpackHelpers.Recipes.copyWebpackPluginPatterns(['indexHTML', 'CHANGELOG', 'css', 'img'], 'dist')],
['cssLoaders', () => WebpackHelpers.Recipes.cssLoaders()],
['getCommonOutput', () => WebpackHelpers.Recipes.getCommonOutput(__dirname)],
['getWebpackMode', () => WebpackHelpers.Recipes.getWebpackMode()],
['tsLoader', () => WebpackHelpers.Recipes.tsLoader()],
['tsLoaderWithBabel', () => WebpackHelpers.Recipes.tsLoaderWithBabel()],
['webpack4ES6DropConsole', () => WebpackHelpers.Recipes.webpack4ES6DropConsole()],
['webpack4UglifyDropConsole', () => WebpackHelpers.Recipes.webpack4UglifyDropConsole()],
])
await g('Rules', [
['common', () => WebpackHelpers.Rules.common()],
['cssString', () => WebpackHelpers.Rules.cssString()],
['htmlString', () => WebpackHelpers.Rules.htmlString()],
['image', () => WebpackHelpers.Rules.image()],
['json', () => WebpackHelpers.Rules.json()],
])
}
test()