module.exports = function(config) { const webpackConfig = { node: { fs: 'empty', global: true, crypto: 'empty', tls: 'empty', net: 'empty', process: true, module: false, clearImmediate: false, setImmediate: false } }; config.set({ basePath: '.', // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter frameworks: ['jasmine'], // list of files / patterns to load in the browser files: [{ pattern: 'build/test.js', watched: false }], // list of files to exclude exclude: [], // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { 'build/test.js': ['webpack'] }, reporters: ['dots'], webpack: webpackConfig, webpackMiddleware: { stats: 'errors-only' }, plugins: [ require('karma-jasmine'), require('karma-chrome-launcher'), require('karma-webpack') ], // web server port port: 9876, // enable / disable colors in the output (reporters and logs) colors: true, // level of logging logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes autoWatch: true, customLaunchers: { Chrome_travis_ci: { base: 'Chrome', flags: ['--no-sandbox'] } }, browsers: process.env.TRAVIS ? ['Chrome_travis_ci'] : ['Chrome'], // Concurrency level // how many browser should be started simultaneous concurrency: Infinity }); };