angular-js-es6-testing-example icon indicating copy to clipboard operation
angular-js-es6-testing-example copied to clipboard

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

Open andypeng2015 opened this issue 8 years ago • 0 comments

hi Tomas @tomastrajan 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;

/*

  • Default webpack configuration for development */ var config = { devtool: 'inline-source-map', //devtool: 'source-map', entry: { ngApp : __dirname + "/app/ngApp.js", }, output: { path: __dirname + "/public", filename: "[name].bundle.js" }, module: { preLoaders: [ { test: /.js?$/, include: /app/, exclude: [/node_modules/, /.test.js$/, /webpack.karma.context.js/], loader: 'babel', query: { cacheDirectory: true, }, }, { test: /.html$/, loader: 'html', query: { minimize: true } } ], loaders: [ { test: /.js$/, include: /app/, exclude: [/node_modules/, /.test.js$/, /webpack.karma.context.js/], loader: 'babel', }, { test: /.html$/, loader: 'html', query: { minimize: true } } ] }, devServer: { contentBase: "./public", colors: true, historyApiFallback: true, inline: true }, plugins: [ new webpack.optimize.OccurenceOrderPlugin(), new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }) ] }

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; `

andypeng2015 avatar Feb 08 '17 01:02 andypeng2015