var webpackConfig = require('./webpack.config'); module.exports = function(config) { config.set({ basePath: '', frameworks: ['jasmine', 'karma-typescript'], files: [ // CDN resources 'node_modules/jquery/dist/jquery.js', 'node_modules/angular/angular.js', 'node_modules/angular-animate/angular-animate.js', 'node_modules/angular-cookies/angular-cookies.js', 'node_modules/angular-mocks/angular-mocks.js', 'node_modules/angular-route/angular-route.js', 'node_modules/angular-sanitize/angular-sanitize.js', 'node_modules/moment/moment.js', 'node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.js', 'node_modules/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js', 'node_modules/bootbox/bootbox.js', 'node_modules/underscore/underscore.js', 'node_modules/restangular/dist/restangular.js', 'node_modules/d3/d3.js', 'node_modules/raven-js/dist/raven.js', 'node_modules/cal-heatmap/cal-heatmap.js', // static/lib resources 'static/lib/**/*.js', // Application resources 'static/js/**/*.ts', // Tests 'static/test/**/*.js', ], exclude: [ 'static/js/build/bundle.js', ], preprocessors: { 'static/lib/ngReact/react.ngReact.min.js': ['webpack'], 'static/lib/angular-moment.min.js': ['webpack'], 'static/js/**/*.ts': ['karma-typescript'], }, webpack: { resolve: webpackConfig.resolve, externals: webpackConfig.externals, module: { loaders: [ { test: /\.tsx?$/, loader: "ts-loader", exclude: /node_modules/ }, { test: /\.scss$/, loaders: ['style', 'css', 'sass'], exclude: /node_modules/ }, ] } }, webpackMiddleware: { stats: 'errors-only' }, reporters: ['dots', 'coverage', 'karma-typescript'], coverageReporter: { dir: 'coverage', type: 'html' }, client: { captureConsole: true }, port: 9876, colors: true, logLevel: config.LOG_INFO, autoWatch: true, browsers: ['PhantomJS', 'Chrome'], singleRun: false, concurrency: Infinity }); };