const base = require('./karma.base.config.js') process.env.CHROME_BIN = require('puppeteer').executablePath() module.exports = function (config) { const options = Object.assign(base, { browsers: ['ChromeHeadlessCI'], customLaunchers: { 'ChromeHeadlessCI': { base: 'ChromeHeadless', flags: ['--no-sandbox'] } }, reporters: ['mocha', 'coverage'], coverageReporter: { reporters: [ { type: 'lcov', dir: '../../coverage', subdir: '.' }, { type: 'text-summary', dir: '../../coverage', subdir: '.' } ] }, singleRun: true, plugins: base.plugins.concat([ 'karma-coverage', 'karma-chrome-launcher' ]) }) // add babel-plugin-istanbul for code instrumentation options.webpack.module.rules[0].options = { plugins: [['istanbul', { exclude: [ 'test/', 'src/compiler/parser/html-parser.js', 'src/core/instance/proxy.js', 'src/sfc/deindent.js', 'src/platforms/weex/' ] }]] } config.set(options) }