111 lines
2.6 KiB
JavaScript
111 lines
2.6 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var path = require('path');
|
||
|
var conf = require('./gulp/conf');
|
||
|
|
||
|
var _ = require('lodash');
|
||
|
var wiredep = require('wiredep');
|
||
|
|
||
|
var pathSrcHtml = [
|
||
|
path.join(conf.paths.src, '/**/*.html')
|
||
|
];
|
||
|
|
||
|
function listFiles() {
|
||
|
var wiredepOptions = _.extend({}, conf.wiredep, {
|
||
|
dependencies: true,
|
||
|
devDependencies: true
|
||
|
});
|
||
|
|
||
|
var patterns = wiredep(wiredepOptions).js
|
||
|
.concat([
|
||
|
path.join(conf.paths.src, '/app/**/*.module.js'),
|
||
|
path.join(conf.paths.src, '/app/**/*.js'),
|
||
|
path.join(conf.paths.src, '/**/*.spec.js'),
|
||
|
path.join(conf.paths.src, '/**/*.mock.js'),
|
||
|
])
|
||
|
.concat(pathSrcHtml);
|
||
|
|
||
|
var files = patterns.map(function(pattern) {
|
||
|
return {
|
||
|
pattern: pattern
|
||
|
};
|
||
|
});
|
||
|
files.push({
|
||
|
pattern: path.join(conf.paths.src, '/assets/**/*'),
|
||
|
included: false,
|
||
|
served: true,
|
||
|
watched: false
|
||
|
});
|
||
|
return files;
|
||
|
}
|
||
|
|
||
|
module.exports = function(config) {
|
||
|
|
||
|
var configuration = {
|
||
|
files: listFiles(),
|
||
|
|
||
|
singleRun: true,
|
||
|
|
||
|
autoWatch: false,
|
||
|
|
||
|
ngHtml2JsPreprocessor: {
|
||
|
stripPrefix: conf.paths.src + '/',
|
||
|
moduleName: 'traefik'
|
||
|
},
|
||
|
|
||
|
logLevel: 'WARN',
|
||
|
|
||
|
frameworks: ['jasmine', 'angular-filesort'],
|
||
|
|
||
|
angularFilesort: {
|
||
|
whitelist: [path.join(conf.paths.src, '/**/!(*.html|*.spec|*.mock).js')]
|
||
|
},
|
||
|
|
||
|
browsers : ['PhantomJS'],
|
||
|
|
||
|
plugins : [
|
||
|
'karma-phantomjs-launcher',
|
||
|
'karma-angular-filesort',
|
||
|
'karma-coverage',
|
||
|
'karma-jasmine',
|
||
|
'karma-ng-html2js-preprocessor'
|
||
|
],
|
||
|
|
||
|
coverageReporter: {
|
||
|
type : 'html',
|
||
|
dir : 'coverage/'
|
||
|
},
|
||
|
|
||
|
reporters: ['progress'],
|
||
|
|
||
|
proxies: {
|
||
|
'/assets/': path.join('/base/', conf.paths.src, '/assets/')
|
||
|
}
|
||
|
};
|
||
|
|
||
|
// This is the default preprocessors configuration for a usage with Karma cli
|
||
|
// The coverage preprocessor is added in gulp/unit-test.js only for single tests
|
||
|
// It was not possible to do it there because karma doesn't let us now if we are
|
||
|
// running a single test or not
|
||
|
configuration.preprocessors = {};
|
||
|
pathSrcHtml.forEach(function(path) {
|
||
|
configuration.preprocessors[path] = ['ng-html2js'];
|
||
|
});
|
||
|
|
||
|
// This block is needed to execute Chrome on Travis
|
||
|
// If you ever plan to use Chrome and Travis, you can keep it
|
||
|
// If not, you can safely remove it
|
||
|
// https://github.com/karma-runner/karma/issues/1144#issuecomment-53633076
|
||
|
if(configuration.browsers[0] === 'Chrome' && process.env.TRAVIS) {
|
||
|
configuration.customLaunchers = {
|
||
|
'chrome-travis-ci': {
|
||
|
base: 'Chrome',
|
||
|
flags: ['--no-sandbox']
|
||
|
}
|
||
|
};
|
||
|
configuration.browsers = ['chrome-travis-ci'];
|
||
|
}
|
||
|
|
||
|
config.set(configuration);
|
||
|
};
|