mirror of
https://github.com/ansible/awx.git
synced 2026-05-16 05:47:38 -02:30
Refactor UI Build System (#3203)
* initial build trial, clean up awx/ui * fix hardcoded refs to ng-toast, add jshint preloader * remove browserify test * update grunt-jshint -> jshint module loader, browser-sync, update dev targets to build-docker-machine & build-docker-cid, fix blocking tasks * less autoprefixer * sample build commands * fix release build * update README * karma config stub * webpack config for karma tests * karma preview for shane * fix build-docker-machine target * karma+webpack test pipeline configuration, stub tests * fix smart/job status icons classes * fix jquery + jsyaml shims, fix LESS cascade * fix angular-codemirror dependency, explicitly import style/mode dependencies * shim jsonlint * fix angular-scheduler AMD imports, remove jquuery-ui shim, fix release config * use closed $.fn.datepicker for system-tracking * remove packaging/node/ * remove old tests * shrinkwrap fragile dependency sandcastle, update README, lint * first pass at fixing rrule shim * update makefile targets * update gitignore w/ new flag file * add saucelabs karma config * add license controller test * add examples of service and directive tests * Makefile flubs * consolidate clean-ui target, compulsively update flag file location * dep on CJS/AMD/UMD compatible version of rrule lib, fix example tests/config for demo * boilerplate karma config for saucelabs (should be abstracted to common config after proven to work) * update docs * docs feedback * update Dockerfile with Node 6.x dep
This commit is contained in:
91
awx/ui/karma.conf.js
Normal file
91
awx/ui/karma.conf.js
Normal file
@@ -0,0 +1,91 @@
|
||||
var path = require('path'),
|
||||
webpack = require('webpack');
|
||||
|
||||
module.exports = function(config) {
|
||||
config.set({
|
||||
autoWatch: true,
|
||||
colors: true,
|
||||
logLevel: config.LOG_INFO,
|
||||
browsers: ['Chrome', 'Firefox'],
|
||||
coverageReporter: {
|
||||
reporters: [
|
||||
{ type: 'html', subdir: 'html' }
|
||||
]
|
||||
},
|
||||
frameworks: [
|
||||
'jasmine',
|
||||
],
|
||||
reporters: ['progress', 'coverage'],
|
||||
files: [
|
||||
'./client/src/app.js',
|
||||
'./node_modules/angular-mocks/angular-mocks.js',
|
||||
{ pattern: './tests/**/*-test.js' },
|
||||
],
|
||||
preprocessors: {
|
||||
'./client/src/app.js': ['webpack', 'sourcemap'],
|
||||
'./tests/**/*-test.js': ['webpack', 'sourcemap'],
|
||||
},
|
||||
webpack: {
|
||||
plugins: [
|
||||
// Django-provided definitions
|
||||
new webpack.DefinePlugin({
|
||||
$basePath: '/static/'
|
||||
}),
|
||||
// vendor shims:
|
||||
// [{expected_local_var : dependency}, ...]
|
||||
new webpack.ProvidePlugin({
|
||||
$: 'jquery',
|
||||
jQuery: 'jquery',
|
||||
'window.jQuery': 'jquery',
|
||||
_: 'lodash',
|
||||
'CodeMirror': 'codemirror',
|
||||
'$.fn.datepicker': 'bootstrap-datepicker'
|
||||
})
|
||||
],
|
||||
module: {
|
||||
loaders: [{
|
||||
test: /\.angular.js$/,
|
||||
loader: 'expose?angular'
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
include: [path.resolve() + '/tests/'],
|
||||
exclude: '/(node_modules)/',
|
||||
query: {
|
||||
presets: ['es2015']
|
||||
}
|
||||
}, {
|
||||
test: /\.js$/,
|
||||
loader: 'babel-istanbul',
|
||||
include: [path.resolve() + '/client/src/'],
|
||||
exclude: '/(node_modules)/',
|
||||
query: {
|
||||
presets: ['es2015']
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
resolve: {
|
||||
root: [],
|
||||
modulesDirectory: ['node_modules'],
|
||||
alias: {
|
||||
'jquery.resize': path.resolve() + '/node_modules/javascript-detect-element-resize/jquery.resize.js',
|
||||
'select2': path.resolve() + '/node_modules/select2/dist/js/select2.full.js'
|
||||
}
|
||||
},
|
||||
devtool: 'inline-source-map',
|
||||
debug: true,
|
||||
cache: true
|
||||
},
|
||||
webpackMiddleware: {
|
||||
stats: {
|
||||
colors: true
|
||||
}
|
||||
},
|
||||
junitReporter: {
|
||||
outputFile: 'coverage/test-results.xml'
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user