preboot / angularjs-webpack

A complete, yet simple, starter for AngularJS using webpack
MIT License
1.71k stars 658 forks source link

question how to exclude webpack.karma.context.js from coverage report #73

Open andypeng2015 opened 7 years ago

andypeng2015 commented 7 years ago

Hi Francesco @phra I found my webpack.karma.context.js is included in coverage report,how can I exclude it? thanks

context

webpack.karma.context.js let context = require.context('./app', true, /\.js/); context.keys().forEach(context);

karma.conf.js `var webpack = require('webpack'); var path = require('path'); var webpackConfig = require('./webpack.config');

webpackConfig.entry = {}; webpackConfig.output = {}; webpackConfig.module.preLoaders = [ { test: /.test.js$/, include: /app/, exclude: /node_modules/, loader: 'babel', query: { cacheDirectory: true, }, }, { test: /.js?$/, include: /app/, exclude: [/node_modules/, /.test.js$/, /webpack.karma.context.js/], loader: 'babel-istanbul', query: { cacheDirectory: true, }, }, { test: /.html$/, loader: 'html', query: { minimize: true } } ];

module.exports = function(config) { config.set({ browsers: ['Chrome'], frameworks: ['jasmine'], reporters: ['progress', 'coverage', 'spec'], coverageReporter: { // output coverage reports //type : 'html', dir : 'coverage/', reporters: [ { type: 'text-summary', subdir: '.', file: 'text-summary.txt' }, {type: 'html', dir : 'coverage/',} ], includeAllSources: true }, logLevel: config.LOG_INFO, //config.LOG_INFO, config.LOG_DEBUG autoWatch: true, singleRun: false, colors: true, port: 9876, basePath: '',

    webpack:webpackConfig,
    files: [ { pattern: 'webpack.karma.context.js', watched: false } ],
    preprocessors: { 'webpack.karma.context.js': ['webpack', 'sourcemap', 'coverage'] },
    exclude: [],
    webpackServer: {
        noInfo: true,
    },
    concurrency: Infinity,
    plugins:[
    require('karma-webpack'),
    'karma-chrome-launcher',
    'karma-jasmine',
    'karma-coverage',
    'karma-spec-reporter',
    'karma-sourcemap-loader'
    ]
});

};`

webpack.config.js

`var webpack = require('webpack'); const prod = process.argv.indexOf('-p') !== -1;

/*

if (prod) { config.devtool = false; config.plugins.push( new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('production') } }) ); config.plugins.push( new webpack.optimize.UglifyJsPlugin({ minimize: true, comments: false, compressor:{warnings:false} }) ); }; module.exports = config; `