forked from FormidableLabs/radium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkarma.conf.js
111 lines (109 loc) · 2.84 KB
/
karma.conf.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
const path = require('path');
// Note: If we switch to ESM version of babelified files, we'll likely need to
// update from the ancient isparta-loader. Likely we'll switch to:
// https://github.com/istanbuljs/babel-plugin-istanbul with a `test` BABEL_ENV
//
// https://github.com/FormidableLabs/radium/issues/969
process.env.BABEL_ENV = 'commonjs';
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['mocha', 'sinon-chai'],
files: [
// Polyfills for IE9 in React 16.
require.resolve('core-js/es6/map'),
require.resolve('core-js/es6/set'),
'src/__tests__/**/*.js'
],
preprocessors: {
[path.join(
path.dirname(require.resolve('core-js/package.json')),
'es6/**/*.js' // eslint-disable-line prettier/prettier
)]: ['webpack'],
'src/__tests__/**/*.js': ['webpack']
},
webpack: {
cache: true,
module: {
rules: [
{
test: /\.js$/,
enforce: 'pre',
include: path.resolve('src/__tests__/'),
loader: 'babel-loader'
},
{
test: /\.js$/,
include: path.resolve('src/'),
enforce: 'pre',
exclude: /(__tests__|__mocks__)/,
loader: 'isparta-loader?babel-loader'
},
{
test: /\.js$/,
exclude: [/node_modules/],
loader: 'babel-loader'
},
{
test: /\.css$/,
loader: 'style-loader!css-loader'
}
]
},
resolve: {
modules: [
path.join(__dirname, 'node_modules'),
path.join(__dirname, 'src')
],
extensions: ['.js']
}
},
webpackServer: {
quiet: false,
noInfo: true,
stats: {
assets: false,
colors: true,
version: false,
hash: false,
timings: false,
chunks: false,
chunkModules: false
}
},
exclude: [],
port: 8080,
logLevel: config.LOG_INFO,
colors: true,
autoWatch: false,
// Run a customized instance of headless chrome for dev + Travis CI.
browsers: ['ChromeHeadlessCustom'],
customLaunchers: {
ChromeHeadlessCustom: {
base: 'ChromeHeadless',
// --no-sandbox for https://github.com/travis-ci/docs-travis-ci-com/pull/1671/files
flags: ['--no-sandbox']
}
},
reporters: ['mocha', 'coverage'],
browserNoActivityTimeout: 60000,
plugins: [
'karma-chrome-launcher',
'karma-coverage',
'karma-mocha',
'karma-mocha-reporter',
'karma-sinon-chai',
'karma-webpack'
],
coverageReporter: {
type: 'text'
},
browserConsoleLogOptions: {
level: 'log',
format: '%b %T: %m',
terminal: true
},
captureTimeout: 100000,
singleRun: true
});
};