process.env.CHROME_BIN = process.env.CHROME_BIN || (function() { try { return require('puppeteer').executablePath(); } catch { return undefined; } })(); module.exports = function (config) { config.set({ basePath: '', frameworks: ['jasmine', '@angular-devkit/build-angular'], plugins: [ require('karma-jasmine'), require('karma-chrome-launcher'), require('karma-jasmine-html-reporter'), require('karma-coverage'), require('@angular-devkit/build-angular/plugins/karma') ], client: { jasmine: { // you can add configuration options for Jasmine here // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html // for example, you can disable the random execution order random: true }, clearContext: false // leave Jasmine Spec Runner output visible in browser }, jasmineHtmlReporter: { suppressAll: true // removes the duplicated traces }, coverageReporter: { dir: require('path').join(__dirname, './coverage/angular-starter'), subdir: '.', reporters: [ { type: 'html' }, { type: 'text-summary' } ], check: { global: { statements: 80, branches: 70, functions: 80, lines: 80 } } }, reporters: ['progress', 'kjhtml'], browsers: ['Chrome'], customLaunchers: { ChromeHeadless: { base: 'Chrome', flags: [ '--headless', '--disable-gpu', '--no-sandbox', '--disable-dev-shm-usage', '--disable-web-security', '--remote-debugging-port=9222' ] } }, restartOnFileChange: true }); };