From b263d1458c6387ca0600d2bf3a269112f45168cb Mon Sep 17 00:00:00 2001 From: Gunther Brunner Date: Tue, 19 Jan 2016 21:12:05 +0900 Subject: [PATCH] Fix / files with ESLint rules with 0 errors. --- gulpfile.js | 72 +++++++++------------- webpack.config.js | 149 +++++++++++++++++++++++----------------------- 2 files changed, 105 insertions(+), 116 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 1929f294..76ea46fb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -10,7 +10,7 @@ var webpackStatusConfig = require('./res/common/status/webpack.config') var gettext = require('gulp-angular-gettext') var jade = require('gulp-jade') 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 protractorConfig = './res/test/protractor.conf' var karma = require('karma').server @@ -18,21 +18,7 @@ var karmaConfig = '/res/test/karma.conf.js' var stream = require('stream') var run = require('gulp-run') -gulp.task('jshint', 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 () { +gulp.task('jsonlint', function() { return gulp.src([ '.jshintrc' , 'res/.jshintrc' @@ -44,7 +30,7 @@ gulp.task('jsonlint', function () { .pipe(jsonlint.reporter()) }) -gulp.task('eslint', function () { +gulp.task('eslint', function() { return gulp.src([ 'lib/**/*.js' , 'res/app/**/*.js' @@ -63,28 +49,26 @@ gulp.task('eslint', function () { .pipe(eslint.format()) // To have the process exit with an error code (1) on // lint error, return the stream and pipe to failAfterError last. - .pipe(eslint.failAfterError()); -}); - - + .pipe(eslint.failAfterError()) +}) gulp.task('lint', ['jsonlint']) gulp.task('test', ['lint', 'run:checkversion']) gulp.task('build', ['clean', 'webpack:build']) -gulp.task('run:checkversion', function () { +gulp.task('run:checkversion', function() { gutil.log('Checking STF version...') return run('./bin/stf -V').exec() }) -gulp.task('karma_ci', function (done) { +gulp.task('karma_ci', function(done) { karma.start({ configFile: path.join(__dirname, karmaConfig) , singleRun: true }, done) }) -gulp.task('karma', function (done) { +gulp.task('karma', function(done) { karma.start({ configFile: path.join(__dirname, karmaConfig) }, done) @@ -92,36 +76,38 @@ gulp.task('karma', function (done) { if (gutil.env.multi) { protractorConfig = './res/test/protractor-multi.conf' -} else if (gutil.env.appium) { +} +else if (gutil.env.appium) { protractorConfig = './res/test/protractor-appium.conf' } gulp.task('webdriver-update', protractor.webdriverUpdate) gulp.task('webdriver-standalone', protractor.webdriverStandalone) -gulp.task('protractor-explorer', function (callback) { +gulp.task('protractor-explorer', function(callback) { protractor.protractorExplorer({ url: require(protractorConfig).config.baseUrl }, callback) }) -gulp.task('protractor', ['webdriver-update'], function (callback) { +gulp.task('protractor', ['webdriver-update'], function(callback) { gulp.src(['./res/test/e2e/**/*.js']) .pipe(protractor.protractor({ configFile: protractorConfig , debug: gutil.env.debug , suite: gutil.env.suite })) - .on('error', function (e) { + .on('error', function(e) { console.log(e) + + /* eslint no-console: 0 */ }) .on('end', callback) }) // For piping strings function fromString(filename, string) { - /* eslint no-underscore-dangle: 0 */ var src = new stream.Readable({objectMode: true}) - src._read = function () { + src._read = function() { this.push(new gutil.File({ cwd: '' , base: '' @@ -135,18 +121,18 @@ function fromString(filename, string) { // For production -gulp.task('webpack:build', function (callback) { +gulp.task('webpack:build', function(callback) { var myConfig = Object.create(webpackConfig) myConfig.plugins = myConfig.plugins.concat( new webpack.DefinePlugin({ 'process.env': { - 'NODE_ENV': JSON.stringify('production') + NODE_ENV: JSON.stringify('production') } }) ) myConfig.devtool = false - webpack(myConfig, function (err, stats) { + webpack(myConfig, function(err, stats) { if (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) myConfig.plugins = myConfig.plugins.concat( new webpack.DefinePlugin({ 'process.env': { - 'NODE_ENV': JSON.stringify('production') + NODE_ENV: JSON.stringify('production') } }) ) myConfig.devtool = false - webpack(myConfig, function (err, stats) { + webpack(myConfig, function(err, stats) { if (err) { throw new gutil.PluginError('webpack:others', err) } @@ -194,7 +180,7 @@ gulp.task('translate', [ , 'translate:compile' ]) -gulp.task('jade', function () { +gulp.task('jade', function() { return gulp.src([ './res/**/*.jade' , '!./res/bower_components/**' @@ -203,7 +189,7 @@ gulp.task('jade', function () { locals: { // So res/views/docs.jade doesn't complain markdownFile: { - parseContent: function () { + parseContent: function() { } } } @@ -211,7 +197,7 @@ gulp.task('jade', function () { .pipe(gulp.dest('./tmp/html/')) }) -gulp.task('translate:extract', ['jade'], function () { +gulp.task('translate:extract', ['jade'], function() { return gulp.src([ './tmp/html/**/*.html' , './res/**/*.js' @@ -222,7 +208,7 @@ gulp.task('translate:extract', ['jade'], function () { .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') .pipe(gettext.compile({ format: 'json' @@ -230,16 +216,16 @@ gulp.task('translate:compile', function () { .pipe(gulp.dest('./res/common/lang/translations/')) }) -gulp.task('translate:push', function () { +gulp.task('translate:push', function() { gutil.log('Pushing translation source to Transifex...') return run('tx push -s').exec() }) -gulp.task('translate:pull', function () { +gulp.task('translate:pull', function() { gutil.log('Pulling translations from Transifex...') return run('tx pull').exec() }) -gulp.task('clean', function (cb) { +gulp.task('clean', function(cb) { del(['./tmp', './res/build'], cb) }) diff --git a/webpack.config.js b/webpack.config.js index 42ab6551..2157ad2f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -9,106 +9,109 @@ var log = require('./lib/util/logger').createLogger('webpack:config') module.exports = { webpack: { - context: __dirname, - cache: true, - entry: { - app: pathutil.resource('app/app.js'), - authldap: pathutil.resource('auth/ldap/scripts/entry.js'), - authmock: pathutil.resource('auth/mock/scripts/entry.js') - }, - output: { - path: pathutil.resource('build'), - publicPath: '/static/app/build/', - filename: 'entry/[name].entry.js', - chunkFilename: '[id].[hash].chunk.js' - }, - stats: { + context: __dirname + , cache: true + , entry: { + app: pathutil.resource('app/app.js') + , authldap: pathutil.resource('auth/ldap/scripts/entry.js') + , authmock: pathutil.resource('auth/mock/scripts/entry.js') + } + , output: { + path: pathutil.resource('build') + , publicPath: '/static/app/build/' + , filename: 'entry/[name].entry.js' + , chunkFilename: '[id].[hash].chunk.js' + } + , stats: { colors: true - }, - resolve: { + } + , resolve: { root: [ pathutil.resource('app/components') - ], - modulesDirectories: [ - 'web_modules', - 'bower_components', - 'node_modules' - ], - alias: { - 'angular-bootstrap': 'angular-bootstrap/ui-bootstrap-tpls', - 'localforage': 'localforage/dist/localforage.js', - 'socket.io': 'socket.io-client', - 'stats': 'stats.js/src/Stats.js', - 'underscore.string': 'underscore.string/index' + ] + , modulesDirectories: [ + 'web_modules' + , 'bower_components' + , 'node_modules' + ] + , alias: { + 'angular-bootstrap': 'angular-bootstrap/ui-bootstrap-tpls' + , 'localforage': 'localforage/dist/localforage.js' + , 'socket.io': 'socket.io-client' + , 'stats': 'stats.js/src/Stats.js' + , 'underscore.string': 'underscore.string/index' } - }, - module: { + } + , module: { loaders: [ - { test: /\.css$/, loader: 'style!css' }, - { test: /\.scss$/, loader: 'style!css!sass'}, - { test: /\.less$/, loader: 'style!css!less'}, - { test: /\.json$/, loader: 'json' }, - { test: /\.jpg$/, loader: 'url?limit=1000&mimetype=image/jpeg' }, - { test: /\.png$/, loader: 'url?limit=1000&mimetype=image/png' }, - { test: /\.gif$/, loader: 'url?limit=1000&mimetype=image/gif' }, - { test: /\.svg/, loader: 'url?limit=1&mimetype=image/svg+xml' }, - { test: /\.woff/, 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: /\.eot/, loader: 'url?limit=1&mimetype=vnd.ms-fontobject' }, - { test: /\.jade$/, loader: 'template-html-loader' }, - { test: /\.html$/, loader: 'html-loader' }, - { test: /angular\.js$/, loader: 'exports?angular'}, - { test: /angular-cookies\.js$/, loader: 'imports?angular=angular'}, - { test: /angular-route\.js$/, loader: 'imports?angular=angular'}, - { test: /angular-touch\.js$/, loader: 'imports?angular=angular'}, - { test: /angular-animate\.js$/, loader: 'imports?angular=angular'}, - { test: /angular-growl\.js$/, loader: 'imports?angular=angular'}, - { test: /uuid\.js$/, loader: 'imports?require=>undefined'}, - { test: /dialogs\.js$/, loader: 'script'} - ], + {test: /\.css$/, loader: 'style!css'} + , {test: /\.scss$/, loader: 'style!css!sass'} + , {test: /\.less$/, loader: 'style!css!less'} + , {test: /\.json$/, loader: 'json'} + , {test: /\.jpg$/, loader: 'url?limit=1000&mimetype=image/jpeg'} + , {test: /\.png$/, loader: 'url?limit=1000&mimetype=image/png'} + , {test: /\.gif$/, loader: 'url?limit=1000&mimetype=image/gif'} + , {test: /\.svg/, loader: 'url?limit=1&mimetype=image/svg+xml'} + , {test: /\.woff/, 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: /\.eot/, loader: 'url?limit=1&mimetype=vnd.ms-fontobject'} + , {test: /\.jade$/, loader: 'template-html-loader'} + , {test: /\.html$/, loader: 'html-loader'} + , {test: /angular\.js$/, loader: 'exports?angular'} + , {test: /angular-cookies\.js$/, loader: 'imports?angular=angular'} + , {test: /angular-route\.js$/, loader: 'imports?angular=angular'} + , {test: /angular-touch\.js$/, loader: 'imports?angular=angular'} + , {test: /angular-animate\.js$/, loader: 'imports?angular=angular'} + , {test: /angular-growl\.js$/, loader: 'imports?angular=angular'} + , {test: /uuid\.js$/, loader: 'imports?require=>undefined'} + , {test: /dialogs\.js$/, loader: 'script'} + ] // TODO: enable when its sane - //preLoaders: [ + // preLoaders: [ // { // test: /\.js$/, // exclude: /node_modules|bower_components/, // loader: 'eslint-loader' // } - //], - noParse: [ - //pathutil.resource('bower_components') + // ], + , noParse: [ + // pathutil.resource('bower_components') ] - }, - plugins: [ + } + , plugins: [ new webpack.ResolverPlugin( new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin( 'bower.json' , ['main'] ) ) - , new webpack.ResolverPlugin( + , new webpack.ResolverPlugin( new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin( '.bower.json' , ['main'] ) ) - , new CommonsChunkPlugin('entry/commons.entry.js') - , new ProgressPlugin(_.throttle( + , new CommonsChunkPlugin('entry/commons.entry.js') + , new ProgressPlugin(_.throttle( function(progress, message) { - log.info( - 'Build progress %d%% (%s)' - , Math.floor(progress * 100) - , message ? message : (progress >= 1 ? 'complete' : 'unknown') - ) + var msg + if (message) { + msg = message + } + else { + msg = progress >= 1 ? 'complete' : 'unknown' + } + log.info('Build progress %d%% (%s)', Math.floor(progress * 100), msg) } - , 1000 + , 1000 )) ] - }, - webpackServer: { - debug: true, - devtool: 'eval', - stats: { + } + , webpackServer: { + debug: true + , devtool: 'eval' + , stats: { colors: true } }