Alternatives for Istanbul code coverage tool?
I am currently using vue.js for my project and karma + jasmine for unit test along with istanbul. Are there any alternatives i can use to generate karma code coverage report? Besides istanbul? Because recently i came across this issue with istanbul and i can't solve it. https://github.com/gotwarlost/istanbul/issues/817
The packages i use for this project:
- "istanbul-instrumenter-loader": "^2.0.0"
- "jasmine": "^2.99.0"
- "karma": "^6.1.1"
- "karma-chrome-launcher": "^2.2.0"
- "karma-coverage": "^1.1.2"
- "karma-jasmine": "^1.1.2"
- "karma-sourcemap-loader": "^0.3.7"
- "karma-spec-reporter": "0.0.30"
- "karma-webpack": "^2.0.13"
My current karma.config.js file
const process = require('process');
process.env.CHROME_BIN = require('puppeteer').executablePath();
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
plugins: [
'karma-chrome-launcher',
'karma-jasmine',
'karma-webpack',
'karma-sourcemap-loader',
'karma-spec-reporter',
'karma-coverage',
'istanbul-instrumenter-loader'
],
preprocessors: {
'index.js': ['webpack', 'sourcemap']
},
webpack: {
module: {
loaders: [
{
test: /\.vue$/,
exclude: /(tests|node_modules)/,
loader: 'vue-loader',
options: {
postLoaders: {
js: 'istanbul-instrumenter-loader?esModules=true'
}
}
},
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: {
presets: [
['es2015', { 'modules': false }]
]
}
},
]
},
devtool: 'inline-source-map',
resolve: {
extensions: ['.vue', '.js'],
alias: {
'vue$': 'vue/dist/vue.esm.js'
}
}
},
webpackMiddleware: {
stats: 'error-only',
noInfo: true
},
reporters: ['spec', 'coverage'],
coverageReporter: {
dir: './coverage',
subdir: '.',
reporters: [
{ type: 'html' },
{ type: 'text-summary' },
{ type: 'cobertura' }
]
},
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['HeadlessChrome'],
customLaunchers:{
HeadlessChrome:{
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},
singleRun: true,
concurrency: Infinity
});
};