1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-03 17:59:28 +02:00

Fix / files with ESLint rules with 0 errors.

This commit is contained in:
Gunther Brunner 2016-01-19 21:12:05 +09:00
parent b2217d01dd
commit b263d1458c
2 changed files with 105 additions and 116 deletions

View file

@ -10,7 +10,7 @@ var webpackStatusConfig = require('./res/common/status/webpack.config')
var gettext = require('gulp-angular-gettext') var gettext = require('gulp-angular-gettext')
var jade = require('gulp-jade') var jade = require('gulp-jade')
var del = require('del') var del = require('del')
//var protractor = require('gulp-protractor') // var protractor = require('gulp-protractor')
var protractor = require('./res/test/e2e/helpers/gulp-protractor-adv') var protractor = require('./res/test/e2e/helpers/gulp-protractor-adv')
var protractorConfig = './res/test/protractor.conf' var protractorConfig = './res/test/protractor.conf'
var karma = require('karma').server var karma = require('karma').server
@ -18,21 +18,7 @@ var karmaConfig = '/res/test/karma.conf.js'
var stream = require('stream') var stream = require('stream')
var run = require('gulp-run') var run = require('gulp-run')
gulp.task('jshint', function () { gulp.task('jsonlint', function() {
return gulp.src([
'lib/**/*.js'
, 'res/app/**/*.js'
, 'res/auth-ldap/**/*.js'
, 'res/auth-mock/**/*.js'
, 'res/common/**/*.js'
, 'res/test/**/*.js'
, '*.js'
])
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
})
gulp.task('jsonlint', function () {
return gulp.src([ return gulp.src([
'.jshintrc' '.jshintrc'
, 'res/.jshintrc' , 'res/.jshintrc'
@ -44,7 +30,7 @@ gulp.task('jsonlint', function () {
.pipe(jsonlint.reporter()) .pipe(jsonlint.reporter())
}) })
gulp.task('eslint', function () { gulp.task('eslint', function() {
return gulp.src([ return gulp.src([
'lib/**/*.js' 'lib/**/*.js'
, 'res/app/**/*.js' , 'res/app/**/*.js'
@ -63,28 +49,26 @@ gulp.task('eslint', function () {
.pipe(eslint.format()) .pipe(eslint.format())
// To have the process exit with an error code (1) on // To have the process exit with an error code (1) on
// lint error, return the stream and pipe to failAfterError last. // lint error, return the stream and pipe to failAfterError last.
.pipe(eslint.failAfterError()); .pipe(eslint.failAfterError())
}); })
gulp.task('lint', ['jsonlint']) gulp.task('lint', ['jsonlint'])
gulp.task('test', ['lint', 'run:checkversion']) gulp.task('test', ['lint', 'run:checkversion'])
gulp.task('build', ['clean', 'webpack:build']) gulp.task('build', ['clean', 'webpack:build'])
gulp.task('run:checkversion', function () { gulp.task('run:checkversion', function() {
gutil.log('Checking STF version...') gutil.log('Checking STF version...')
return run('./bin/stf -V').exec() return run('./bin/stf -V').exec()
}) })
gulp.task('karma_ci', function (done) { gulp.task('karma_ci', function(done) {
karma.start({ karma.start({
configFile: path.join(__dirname, karmaConfig) configFile: path.join(__dirname, karmaConfig)
, singleRun: true , singleRun: true
}, done) }, done)
}) })
gulp.task('karma', function (done) { gulp.task('karma', function(done) {
karma.start({ karma.start({
configFile: path.join(__dirname, karmaConfig) configFile: path.join(__dirname, karmaConfig)
}, done) }, done)
@ -92,36 +76,38 @@ gulp.task('karma', function (done) {
if (gutil.env.multi) { if (gutil.env.multi) {
protractorConfig = './res/test/protractor-multi.conf' protractorConfig = './res/test/protractor-multi.conf'
} else if (gutil.env.appium) { }
else if (gutil.env.appium) {
protractorConfig = './res/test/protractor-appium.conf' protractorConfig = './res/test/protractor-appium.conf'
} }
gulp.task('webdriver-update', protractor.webdriverUpdate) gulp.task('webdriver-update', protractor.webdriverUpdate)
gulp.task('webdriver-standalone', protractor.webdriverStandalone) gulp.task('webdriver-standalone', protractor.webdriverStandalone)
gulp.task('protractor-explorer', function (callback) { gulp.task('protractor-explorer', function(callback) {
protractor.protractorExplorer({ protractor.protractorExplorer({
url: require(protractorConfig).config.baseUrl url: require(protractorConfig).config.baseUrl
}, callback) }, callback)
}) })
gulp.task('protractor', ['webdriver-update'], function (callback) { gulp.task('protractor', ['webdriver-update'], function(callback) {
gulp.src(['./res/test/e2e/**/*.js']) gulp.src(['./res/test/e2e/**/*.js'])
.pipe(protractor.protractor({ .pipe(protractor.protractor({
configFile: protractorConfig configFile: protractorConfig
, debug: gutil.env.debug , debug: gutil.env.debug
, suite: gutil.env.suite , suite: gutil.env.suite
})) }))
.on('error', function (e) { .on('error', function(e) {
console.log(e) console.log(e)
/* eslint no-console: 0 */
}) })
.on('end', callback) .on('end', callback)
}) })
// For piping strings // For piping strings
function fromString(filename, string) { function fromString(filename, string) {
/* eslint no-underscore-dangle: 0 */
var src = new stream.Readable({objectMode: true}) var src = new stream.Readable({objectMode: true})
src._read = function () { src._read = function() {
this.push(new gutil.File({ this.push(new gutil.File({
cwd: '' cwd: ''
, base: '' , base: ''
@ -135,18 +121,18 @@ function fromString(filename, string) {
// For production // For production
gulp.task('webpack:build', function (callback) { gulp.task('webpack:build', function(callback) {
var myConfig = Object.create(webpackConfig) var myConfig = Object.create(webpackConfig)
myConfig.plugins = myConfig.plugins.concat( myConfig.plugins = myConfig.plugins.concat(
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': { 'process.env': {
'NODE_ENV': JSON.stringify('production') NODE_ENV: JSON.stringify('production')
} }
}) })
) )
myConfig.devtool = false myConfig.devtool = false
webpack(myConfig, function (err, stats) { webpack(myConfig, function(err, stats) {
if (err) { if (err) {
throw new gutil.PluginError('webpack:build', err) throw new gutil.PluginError('webpack:build', err)
} }
@ -164,18 +150,18 @@ gulp.task('webpack:build', function (callback) {
}) })
}) })
gulp.task('webpack:others', function (callback) { gulp.task('webpack:others', function(callback) {
var myConfig = Object.create(webpackStatusConfig) var myConfig = Object.create(webpackStatusConfig)
myConfig.plugins = myConfig.plugins.concat( myConfig.plugins = myConfig.plugins.concat(
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': { 'process.env': {
'NODE_ENV': JSON.stringify('production') NODE_ENV: JSON.stringify('production')
} }
}) })
) )
myConfig.devtool = false myConfig.devtool = false
webpack(myConfig, function (err, stats) { webpack(myConfig, function(err, stats) {
if (err) { if (err) {
throw new gutil.PluginError('webpack:others', err) throw new gutil.PluginError('webpack:others', err)
} }
@ -194,7 +180,7 @@ gulp.task('translate', [
, 'translate:compile' , 'translate:compile'
]) ])
gulp.task('jade', function () { gulp.task('jade', function() {
return gulp.src([ return gulp.src([
'./res/**/*.jade' './res/**/*.jade'
, '!./res/bower_components/**' , '!./res/bower_components/**'
@ -203,7 +189,7 @@ gulp.task('jade', function () {
locals: { locals: {
// So res/views/docs.jade doesn't complain // So res/views/docs.jade doesn't complain
markdownFile: { markdownFile: {
parseContent: function () { parseContent: function() {
} }
} }
} }
@ -211,7 +197,7 @@ gulp.task('jade', function () {
.pipe(gulp.dest('./tmp/html/')) .pipe(gulp.dest('./tmp/html/'))
}) })
gulp.task('translate:extract', ['jade'], function () { gulp.task('translate:extract', ['jade'], function() {
return gulp.src([ return gulp.src([
'./tmp/html/**/*.html' './tmp/html/**/*.html'
, './res/**/*.js' , './res/**/*.js'
@ -222,7 +208,7 @@ gulp.task('translate:extract', ['jade'], function () {
.pipe(gulp.dest('./res/common/lang/po/')) .pipe(gulp.dest('./res/common/lang/po/'))
}) })
gulp.task('translate:compile', function () { gulp.task('translate:compile', function() {
return gulp.src('./res/common/lang/po/**/*.po') return gulp.src('./res/common/lang/po/**/*.po')
.pipe(gettext.compile({ .pipe(gettext.compile({
format: 'json' format: 'json'
@ -230,16 +216,16 @@ gulp.task('translate:compile', function () {
.pipe(gulp.dest('./res/common/lang/translations/')) .pipe(gulp.dest('./res/common/lang/translations/'))
}) })
gulp.task('translate:push', function () { gulp.task('translate:push', function() {
gutil.log('Pushing translation source to Transifex...') gutil.log('Pushing translation source to Transifex...')
return run('tx push -s').exec() return run('tx push -s').exec()
}) })
gulp.task('translate:pull', function () { gulp.task('translate:pull', function() {
gutil.log('Pulling translations from Transifex...') gutil.log('Pulling translations from Transifex...')
return run('tx pull').exec() return run('tx pull').exec()
}) })
gulp.task('clean', function (cb) { gulp.task('clean', function(cb) {
del(['./tmp', './res/build'], cb) del(['./tmp', './res/build'], cb)
}) })

View file

@ -9,106 +9,109 @@ var log = require('./lib/util/logger').createLogger('webpack:config')
module.exports = { module.exports = {
webpack: { webpack: {
context: __dirname, context: __dirname
cache: true, , cache: true
entry: { , entry: {
app: pathutil.resource('app/app.js'), app: pathutil.resource('app/app.js')
authldap: pathutil.resource('auth/ldap/scripts/entry.js'), , authldap: pathutil.resource('auth/ldap/scripts/entry.js')
authmock: pathutil.resource('auth/mock/scripts/entry.js') , authmock: pathutil.resource('auth/mock/scripts/entry.js')
}, }
output: { , output: {
path: pathutil.resource('build'), path: pathutil.resource('build')
publicPath: '/static/app/build/', , publicPath: '/static/app/build/'
filename: 'entry/[name].entry.js', , filename: 'entry/[name].entry.js'
chunkFilename: '[id].[hash].chunk.js' , chunkFilename: '[id].[hash].chunk.js'
}, }
stats: { , stats: {
colors: true colors: true
}, }
resolve: { , resolve: {
root: [ root: [
pathutil.resource('app/components') pathutil.resource('app/components')
], ]
modulesDirectories: [ , modulesDirectories: [
'web_modules', 'web_modules'
'bower_components', , 'bower_components'
'node_modules' , 'node_modules'
], ]
alias: { , alias: {
'angular-bootstrap': 'angular-bootstrap/ui-bootstrap-tpls', 'angular-bootstrap': 'angular-bootstrap/ui-bootstrap-tpls'
'localforage': 'localforage/dist/localforage.js', , 'localforage': 'localforage/dist/localforage.js'
'socket.io': 'socket.io-client', , 'socket.io': 'socket.io-client'
'stats': 'stats.js/src/Stats.js', , 'stats': 'stats.js/src/Stats.js'
'underscore.string': 'underscore.string/index' , 'underscore.string': 'underscore.string/index'
} }
}, }
module: { , module: {
loaders: [ loaders: [
{ test: /\.css$/, loader: 'style!css' }, {test: /\.css$/, loader: 'style!css'}
{ test: /\.scss$/, loader: 'style!css!sass'}, , {test: /\.scss$/, loader: 'style!css!sass'}
{ test: /\.less$/, loader: 'style!css!less'}, , {test: /\.less$/, loader: 'style!css!less'}
{ test: /\.json$/, loader: 'json' }, , {test: /\.json$/, loader: 'json'}
{ test: /\.jpg$/, loader: 'url?limit=1000&mimetype=image/jpeg' }, , {test: /\.jpg$/, loader: 'url?limit=1000&mimetype=image/jpeg'}
{ test: /\.png$/, loader: 'url?limit=1000&mimetype=image/png' }, , {test: /\.png$/, loader: 'url?limit=1000&mimetype=image/png'}
{ test: /\.gif$/, loader: 'url?limit=1000&mimetype=image/gif' }, , {test: /\.gif$/, loader: 'url?limit=1000&mimetype=image/gif'}
{ test: /\.svg/, loader: 'url?limit=1&mimetype=image/svg+xml' }, , {test: /\.svg/, loader: 'url?limit=1&mimetype=image/svg+xml'}
{ test: /\.woff/, loader: 'url?limit=1&mimetype=application/font-woff'}, , {test: /\.woff/, loader: 'url?limit=1&mimetype=application/font-woff'}
{ test: /\.otf/, loader: 'url?limit=1&mimetype=application/font-woff' }, , {test: /\.otf/, loader: 'url?limit=1&mimetype=application/font-woff'}
{ test: /\.ttf/, loader: 'url?limit=1&mimetype=application/font-woff' }, , {test: /\.ttf/, loader: 'url?limit=1&mimetype=application/font-woff'}
{ test: /\.eot/, loader: 'url?limit=1&mimetype=vnd.ms-fontobject' }, , {test: /\.eot/, loader: 'url?limit=1&mimetype=vnd.ms-fontobject'}
{ test: /\.jade$/, loader: 'template-html-loader' }, , {test: /\.jade$/, loader: 'template-html-loader'}
{ test: /\.html$/, loader: 'html-loader' }, , {test: /\.html$/, loader: 'html-loader'}
{ test: /angular\.js$/, loader: 'exports?angular'}, , {test: /angular\.js$/, loader: 'exports?angular'}
{ test: /angular-cookies\.js$/, loader: 'imports?angular=angular'}, , {test: /angular-cookies\.js$/, loader: 'imports?angular=angular'}
{ test: /angular-route\.js$/, loader: 'imports?angular=angular'}, , {test: /angular-route\.js$/, loader: 'imports?angular=angular'}
{ test: /angular-touch\.js$/, loader: 'imports?angular=angular'}, , {test: /angular-touch\.js$/, loader: 'imports?angular=angular'}
{ test: /angular-animate\.js$/, loader: 'imports?angular=angular'}, , {test: /angular-animate\.js$/, loader: 'imports?angular=angular'}
{ test: /angular-growl\.js$/, loader: 'imports?angular=angular'}, , {test: /angular-growl\.js$/, loader: 'imports?angular=angular'}
{ test: /uuid\.js$/, loader: 'imports?require=>undefined'}, , {test: /uuid\.js$/, loader: 'imports?require=>undefined'}
{ test: /dialogs\.js$/, loader: 'script'} , {test: /dialogs\.js$/, loader: 'script'}
], ]
// TODO: enable when its sane // TODO: enable when its sane
//preLoaders: [ // preLoaders: [
// { // {
// test: /\.js$/, // test: /\.js$/,
// exclude: /node_modules|bower_components/, // exclude: /node_modules|bower_components/,
// loader: 'eslint-loader' // loader: 'eslint-loader'
// } // }
//], // ],
noParse: [ , noParse: [
//pathutil.resource('bower_components') // pathutil.resource('bower_components')
] ]
}, }
plugins: [ , plugins: [
new webpack.ResolverPlugin( new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin( new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
'bower.json' 'bower.json'
, ['main'] , ['main']
) )
) )
, new webpack.ResolverPlugin( , new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin( new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
'.bower.json' '.bower.json'
, ['main'] , ['main']
) )
) )
, new CommonsChunkPlugin('entry/commons.entry.js') , new CommonsChunkPlugin('entry/commons.entry.js')
, new ProgressPlugin(_.throttle( , new ProgressPlugin(_.throttle(
function(progress, message) { function(progress, message) {
log.info( var msg
'Build progress %d%% (%s)' if (message) {
, Math.floor(progress * 100) msg = message
, message ? message : (progress >= 1 ? 'complete' : 'unknown') }
) else {
msg = progress >= 1 ? 'complete' : 'unknown'
}
log.info('Build progress %d%% (%s)', Math.floor(progress * 100), msg)
} }
, 1000 , 1000
)) ))
] ]
}, }
webpackServer: { , webpackServer: {
debug: true, debug: true
devtool: 'eval', , devtool: 'eval'
stats: { , stats: {
colors: true colors: true
} }
} }