itakojs/itako-text-reader-speech-synthesis

View on GitHub
karma.conf.js

Summary

Maintainability
A
0 mins
Test Coverage
const path = require('path');

const init = {
  plugins: [
    'karma-chrome-launcher',
    'karma-mocha',

    'karma-webpack',
    'karma-sourcemap-loader',

    'karma-mocha-reporter',
    'karma-coverage',
  ],

  browsers: ['Chrome'],
  frameworks: ['mocha'],
  client: {
    mocha: {
      timeout: 5000,
    },
  },
  files: [
    'test/index.js',

    // serve static files to '/base/'
    // { pattern: './test/fixtures/**', included: false },
  ],

  preprocessors: {
    'test/**/*.js': ['webpack', 'sourcemap'],
  },
  webpack: {
    module: {
      loaders: [
        {
          test: /\.js$/,
          exclude: /node_modules/,
          loader: 'babel',
        },
        // fix `Uncaught Error: Cannot find module "./package.json"`
        {
          test: /\.json$/,
          loader: 'json',
        },
      ],
    },
    resolve: {
      extensions: ['', '.js', '.json'],
    },
    devtool: 'inline-source-map',
  },
  webpackMiddleware: {
    quiet: true,
    noInfo: true,
  },

  reporters: ['mocha'],
};

module.exports = (config) => {
  config.set(init);

  if (config.singleRun) {
    config.reporters.push('coverage');
    config.set({
      coverageReporter: {
        reporters: [
          {
            type: 'lcov',
            dir: 'coverage',
            subdir: '.',
          },
          {
            type: 'text',
          },
        ],
      },
    });
    config.webpack.module.loaders.push({
      test: /\.js$/,
      loader: 'isparta',
      include: path.resolve('src'),
    });
  }
};