text: 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)
  }
  