-
Notifications
You must be signed in to change notification settings - Fork 1
/
karma.conf.js
87 lines (76 loc) · 1.97 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
module.exports = function(config) {
config.set({
autoWatch: true,
singleRun: true,
// browsers: ['Chrome', 'Firefox'],
browsers: ['Firefox'],
frameworks: [
'jspm',
'mocha',
'sinon',
'chai'
],
client: {
chai: {
includeStack: true
}
},
plugins: [
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-jspm',
'karma-mocha',
'karma-sinon',
'karma-coverage',
'karma-coveralls',
'karma-babel-preprocessor',
'karma-chai'
],
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
// (these files will be instrumented by Istanbul)
'lib/**/*.js': ['babel', 'coverage']
},
babelPreprocessor: {
options: {
presets: ['es2015'],
plugins: ['transform-object-rest-spread'],
sourceMap: 'inline'
}
},
jspm: {
loadFiles: [
'spec/**/*.spec.js'
],
serveFiles: [
'lib/**/*.js'
],
/**
make copy of jspm.config.js, change baseURL to '/base'
and save as jspm.karma-config.js,
then just return the new config's filename
https://github.com/Workiva/karma-jspm/issues/91
*/
browser: (function(){
var fs = require('fs');
fs.writeFileSync("jspm.karma-config.js", (fs.readFileSync("jspm.config.js") + "").replace(/"baseURL": "\/"/g, '"baseURL": "/base"'));
return "jspm.karma-config.js";
})(),
stripExtension: false
},
proxies: {
'/lib/': '/base/lib/',
'/spec/': '/base/spec/',
'/jspm_packages/': '/base/jspm_packages/',
'/node_modules/': '/base/node_modules/'
},
// setting for coverall
reporters: ['coverage', 'coveralls', 'progress'],
coverageReporter: {
type: 'lcov', // lcov or lcovonly are required for generating lcov.info files
dir: 'coverage/'
},
files: []
});
};