Speed up karma runs for development

Using DefinePlugin means the block wrapped in GENERATE_COVERAGE_REPORT
gets eliminated. Previously it was always included (with the entire
app!), even if using -f option
This commit is contained in:
Simon Knox 2018-10-02 13:09:43 +10:00
parent 0ef1060e14
commit 6a63546fbc
2 changed files with 7 additions and 2 deletions

View file

@ -6,6 +6,7 @@ const argumentsParser = require('commander');
const webpackConfig = require('./webpack.config.js');
const ROOT_PATH = path.resolve(__dirname, '..');
const GENERATE_COVERAGE_REPORT = process.env.BABEL_ENV === 'coverage' || process.env.NODE_ENV === 'coverage';
function fatalError(message) {
console.error(chalk.red(`\nError: ${message}\n`));
@ -22,6 +23,10 @@ webpackConfig.optimization.splitChunks = false;
// use quicker sourcemap option
webpackConfig.devtool = 'cheap-inline-source-map';
webpackConfig.plugins.push(
new webpack.DefinePlugin({ GENERATE_COVERAGE_REPORT }),
);
const specFilters = argumentsParser
.option(
'-f, --filter-spec [filter]',
@ -118,7 +123,7 @@ module.exports = function(config) {
};
}
if (process.env.BABEL_ENV === 'coverage' || process.env.NODE_ENV === 'coverage') {
if (GENERATE_COVERAGE_REPORT) {
karmaConfig.reporters.push('coverage-istanbul');
karmaConfig.coverageIstanbulReporter = {
reports: ['html', 'text-summary'],

View file

@ -155,8 +155,8 @@ describe('test errors', () => {
// if we're generating coverage reports, make sure to include all files so
// that we can catch files with 0% coverage
// see: https://github.com/deepsweet/istanbul-instrumenter-loader/issues/15
if (process.env.BABEL_ENV === 'coverage') {
// exempt these files from the coverage report
if (GENERATE_COVERAGE_REPORT) {
const troubleMakers = [
'./blob_edit/blob_bundle.js',
'./boards/components/modal/empty_state.vue',