// This is a karma config file. For more details see // http://karma-runner.github.io/0.13/config/configuration-file.html // we are also using it with karma-webpack // https://github.com/webpack/karma-webpack // var path = require('path') var merge = require('webpack-merge') var baseConfig = require('../../build/webpack.base.conf') var utils = require('../../build/utils') var webpack = require('webpack') // var projectRoot = path.resolve(__dirname, '../../') var webpackConfig = merge(baseConfig, { // use inline sourcemap for karma-sourcemap-loader module: { rules: utils.styleLoaders() }, devtool: '#inline-source-map', // vue: { // loaders: { // js: 'isparta' // } // }, plugins: [ new webpack.DefinePlugin({ 'process.env': require('../../config/test.env') }) ] }) // no need for app entry during tests delete webpackConfig.entry // make sure isparta loader is applied before eslint // webpackConfig.module.preLoaders = webpackConfig.module.preLoaders || [] // webpackConfig.module.preLoaders.unshift({ // test: /\.js$/, // loader: 'isparta', // include: path.resolve(projectRoot, 'src') // }) // // only apply babel for test files when using isparta // webpackConfig.module.loaders.some(function (loader, i) { // if (loader.loader === 'babel') { // loader.include = path.resolve(projectRoot, 'test/unit') // return true // } // }) module.exports = function (config) { config.set({ // to run in additional browsers: // 1. install corresponding karma launcher // http://karma-runner.github.io/0.13/config/browsers.html // 2. add it to the `browsers` array below. browsers: ['FirefoxHeadless'], frameworks: ['mocha', 'sinon-chai'], reporters: ['mocha'], customLaunchers: { 'FirefoxHeadless': { base: 'Firefox', flags: [ '-headless' ] } }, files: [ './index.js' ], preprocessors: { './index.js': ['webpack', 'sourcemap'] }, webpack: webpackConfig, webpackMiddleware: { noInfo: true }, mochaReporter: { showDiff: true }, coverageReporter: { dir: './coverage', reporters: [ { type: 'lcov', subdir: '.' }, { type: 'text-summary' } ] } }) }