forked from tleunen/react-mdl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
wallaby.js
68 lines (67 loc) · 2.14 KB
/
wallaby.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
57
58
59
60
61
62
63
64
65
66
67
68
const wallabyWebpack = require('wallaby-webpack');
const webpack = require('webpack');
module.exports = (wallaby) => ({
files: [
{ pattern: 'extra/material.js', instrument: false },
{ pattern: 'node_modules/chai/chai.js', instrument: false },
{ pattern: 'node_modules/sinon/pkg/sinon.js', instrument: false },
{ pattern: 'node_modules/react/umd/react.development.js', instrument: false },
{ pattern: 'node_modules/react-dom/umd/react-dom.development.js', instrument: false },
{ pattern: 'tests.setup.js', load: false },
{ pattern: 'src/**/*.js', load: false },
{ pattern: 'src/**/*-test.js', ignore: true },
],
tests: [
{ pattern: 'src/**/*-test.js', load: false },
],
env: {
kind: 'chrome',
},
testFramework: 'mocha',
compilers: {
'**/*.js': wallaby.compilers.babel({}),
},
postprocessor: wallabyWebpack({
entryPatterns: [
'tests.setup.js',
'src/**/*-test.js',
],
module: {
preLoaders: [
{
test: /\.js$/,
exclude: /(__tests__|node_modules)\//,
loader: 'isparta'
}
],
loaders: [
{
test: /\.js$/,
exclude: /(node_modules)/,
loader: 'babel'
},
{ test: /\.json$/, loader: 'json' }
]
},
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('test')
})
],
externals: {
sinon: 'sinon',
'react/addons': true,
'react/lib/ExecutionEnvironment': true,
'react/lib/ReactContext': true,
react: 'React',
'react-dom': 'ReactDOM',
},
}),
setup: () => {
window.should = window.chai.should();
window.expect = window.chai.expect;
window.assert = window.chai.assert;
// eslint-disable-next-line no-underscore-dangle
window.__moduleBundler.loadTests();
},
});