UNPKG

2.48 kBJavaScriptView Raw
1const loaders = require('../webpack/loaders');
2const preLoaders = require('../webpack/preloaders');
3
4const BROWSERS = process.argv && process.argv.indexOf('--browser') !== -1
5 ? ['jsdom', 'Chrome']
6 : ['jsdom'];
7
8const COVERAGE = process.argv && process.argv.indexOf('--coverage') !== -1;
9
10const SINGLE_RUN = process.argv
11 && process.argv.indexOf('--no-single-run') === -1;
12
13const PRELOADERS = COVERAGE ? preLoaders : [];
14
15const REPORTERS = COVERAGE
16 ? ['spec', 'coverage']
17 : ['spec'];
18
19module.exports = function exports(config) {
20 config.set({
21 browsers: BROWSERS,
22 files: [
23 './../webpack/webpack.test.js'
24 ],
25 client: {
26 captureConsole: false
27 },
28 frameworks: ['chai', 'mocha', 'es6-shim', 'sinon-chai'],
29 plugins: [
30 'karma-chrome-launcher',
31 'karma-chai',
32 'karma-coverage',
33 'karma-mocha',
34 'karma-mocha-reporter',
35 'karma-es6-shim',
36 'karma-webpack',
37 'karma-babel-preprocessor',
38 'karma-jsdom-launcher',
39 'karma-sourcemap-loader',
40 'karma-sinon-chai',
41 'karma-spec-reporter'
42 ],
43
44 preprocessors: {
45 './../webpack/webpack.test.js': ['babel', 'webpack']
46 },
47
48 reporters: REPORTERS,
49 specReporter: {
50 maxLogLines: 20,
51 suppressErrorSummary: false,
52 suppressFailed: false,
53 suppressPassed: false,
54 suppressSkipped: false
55 },
56 singleRun: SINGLE_RUN,
57 webpack: {
58 resolve: {
59 extensions: ['.js', '.jsx', '.styl']
60 },
61 module: {
62 rules: PRELOADERS.concat(loaders)
63 },
64 externals: {
65 cheerio: 'window',
66 window: 'window',
67 'react/lib/ExecutionEnvironment': true,
68 'react/lib/ReactContext': true
69 },
70 target: 'web',
71 node: {
72 fs: 'empty'
73 },
74 devServer: {
75 quiet: true
76 }
77 },
78 webpackMiddleware: {
79 noInfo: true,
80 quiet: true
81 },
82 coverageReporter: {
83 reporters: [
84 { type: 'text' },
85 { type: 'text-summary' },
86 { type: 'lcovonly', subdir: './../../' }
87 ]
88 }
89 });
90};