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

Fix all JSHint complaints in Node.js code.

This commit is contained in:
Simo Kinnunen 2014-03-19 20:36:46 +09:00
parent f62ce4acc1
commit b4416b5f0f
31 changed files with 126 additions and 119 deletions

View file

@ -9,7 +9,6 @@
"noempty": true,
"nonbsp": true,
"nonew": true,
"quotmark": "single",
"undef": true,
"unused": true,
"trailing": true,

View file

@ -17,7 +17,7 @@ module.exports = function (grunt) {
}
},
nggettext_extract: {
'nggettext_extract': {
pot: {
files: {
'res/lang/po/template.pot': ['tmp/html/all.html', 'res/app/**/*.js']
@ -25,7 +25,7 @@ module.exports = function (grunt) {
}
},
nggettext_compile: {
'nggettext_compile': {
all: {
files: {
'res/lang/translations.js': ['res/lang/po/*.po']
@ -34,6 +34,10 @@ module.exports = function (grunt) {
}
})
grunt.registerTask('translate', ['jade:translate', 'nggettext_extract', 'nggettext_compile'])
grunt.registerTask('translate', [
'jade:translate'
, 'nggettext_extract'
, 'nggettext_compile'
])
grunt.registerTask('default', ['translate'])
}

10
gulpfile.js Normal file
View file

@ -0,0 +1,10 @@
var gulp = require('gulp')
var jshint = require('gulp-jshint')
gulp.task('lint', function() {
gulp.src(['lib/**/*.js', '*.js'])
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
})
gulp.task('test', ['lint'])

View file

@ -520,13 +520,13 @@ program
, '--auth-url', util.format('http://localhost:%d/', options.authPort)
, '--connect-sub', options.bindAppPub
, '--connect-push', options.bindAppPull
].concat(function() {
].concat((function() {
var extra = []
if (options.disableWatch) {
extra.push('--disable-watch')
}
return extra
}()))
})()))
]
function shutdown() {

View file

@ -1,8 +1,6 @@
var r = require('rethinkdb')
var Promise = require('bluebird')
var db = require('./')
var wire = require('../wire')
var wireutil = require('../wire/util')
var dbapi = Object.create(null)
@ -85,7 +83,7 @@ dbapi.setDeviceOwner = function(serial, owner) {
}))
}
dbapi.unsetDeviceOwner = function(serial, owner) {
dbapi.unsetDeviceOwner = function(serial) {
return db.run(r.table('devices').get(serial).update({
owner: null
}))

View file

@ -43,6 +43,6 @@ db.close = function() {
// Small utility for running queries without having to acquire a connection
db.run = function(q, options) {
return db.connect().then(function(conn) {
return rutil.run(conn, q)
return rutil.run(conn, q, options)
})
}

View file

@ -1,6 +1,3 @@
var assert = require('assert')
var util = require('util')
var r = require('rethinkdb')
var Promise = require('bluebird')
@ -24,7 +21,7 @@ module.exports = function(conn) {
.then(function() {
log.info('Database "%s" created', conn.db)
})
.catch(alreadyExistsError, function(err) {
.catch(alreadyExistsError, function() {
log.info('Database "%s" already exists', conn.db)
return Promise.resolve()
})
@ -38,11 +35,11 @@ module.exports = function(conn) {
.then(function() {
log.info('Table "%s" created', table)
})
.catch(alreadyExistsError, function(err) {
.catch(alreadyExistsError, function() {
log.info('Table "%s" already exists', table)
return Promise.resolve()
})
.catch(noMasterAvailableError, function(err) {
.catch(noMasterAvailableError, function() {
return Promise.delay(1000).then(function() {
return createTable(table, options)
})
@ -61,11 +58,11 @@ module.exports = function(conn) {
.then(function() {
log.info('Index "%s"."%s" created', table, index)
})
.catch(alreadyExistsError, function(err) {
.catch(alreadyExistsError, function() {
log.info('Index "%s"."%s" already exists', table, index)
return Promise.resolve()
})
.catch(noMasterAvailableError, function(err) {
.catch(noMasterAvailableError, function() {
return Promise.delay(1000).then(function() {
return createIndex(table, index, fn)
})

View file

@ -1,5 +1,3 @@
var r = require('rethinkdb')
module.exports = {
users: {
primaryKey: 'email'

View file

@ -1,4 +1,3 @@
var url = require('url')
var http = require('http')
var events = require('events')
var path = require('path')
@ -41,7 +40,8 @@ module.exports = function(options) {
app.use(cors())
app.use('/static/bower_components', express.static(pathutil.resource('bower_components')))
app.use('/static/bower_components',
express.static(pathutil.resource('bower_components')))
app.use('/static/data', express.static(pathutil.resource('data')))
app.use('/static/devices', datautil.middleware())
app.use('/static', express.static(pathutil.resource('app')))
@ -203,7 +203,7 @@ module.exports = function(options) {
accept(null, false)
}
})
.catch(function(err) {
.catch(function() {
accept(null, false)
})
}
@ -225,11 +225,11 @@ module.exports = function(options) {
sub.unsubscribe(channel)
}
function createTouchHandler(klass) {
function createTouchHandler(Klass) {
return function(channel, data) {
push.send([
channel
, wireutil.envelope(new klass(
, wireutil.envelope(new Klass(
data.x
, data.y
))
@ -237,11 +237,11 @@ module.exports = function(options) {
}
}
function createKeyHandler(klass) {
function createKeyHandler(Klass) {
return function(channel, data) {
push.send([
channel
, wireutil.envelope(new klass(
, wireutil.envelope(new Klass(
data.key
))
])
@ -309,7 +309,7 @@ module.exports = function(options) {
// User's private group
joinChannel(user.group)
new Promise(function(resolve, reject) {
new Promise(function(resolve) {
socket.on('disconnect', resolve)
// Touch events
.on('input.touchDown', createTouchHandler(wire.TouchDownMessage))

View file

@ -1,5 +1,3 @@
var url = require('url')
var express = require('express')
var validator = require('express-validator')
@ -28,7 +26,8 @@ module.exports = function(options) {
app.use(express.urlencoded())
app.use(express.csrf())
app.use(validator())
app.use('/static/bower_components', express.static(pathutil.resource('bower_components')))
app.use('/static/bower_components',
express.static(pathutil.resource('bower_components')))
app.use('/static/data', express.static(pathutil.resource('data')))
app.use('/static', express.static(pathutil.resource('auth-ldap')))

View file

@ -1,5 +1,3 @@
var url = require('url')
var express = require('express')
var validator = require('express-validator')
@ -27,7 +25,8 @@ module.exports = function(options) {
app.use(express.urlencoded())
app.use(express.csrf())
app.use(validator())
app.use('/static/bower_components', express.static(pathutil.resource('bower_components')))
app.use('/static/bower_components',
express.static(pathutil.resource('bower_components')))
app.use('/static/data', express.static(pathutil.resource('data')))
app.use('/static', express.static(pathutil.resource('auth-mock')))

View file

@ -40,8 +40,8 @@ module.exports = syrup.serial()
})
.then(function() {
return adb.shell(options.serial, util.format(
"export CLASSPATH='%s';"
+ " exec app_process /system/bin '%s'"
"export CLASSPATH='%s';" +
" exec app_process /system/bin '%s'"
, apk.path
, apk.main
))
@ -199,7 +199,7 @@ module.exports = syrup.serial()
.then(openService)
.then(function() {
router
.on(wire.PhysicalIdentifyMessage, function(channel, message) {
.on(wire.PhysicalIdentifyMessage, function(channel) {
identity()
push.send([
channel

View file

@ -9,7 +9,8 @@ module.exports = syrup.serial()
.dependency(require('../support/router'))
.dependency(require('../support/push'))
.dependency(require('../support/quit'))
.define(function(options, adb, router, push, quit) {
.dependency(require('./owner'))
.define(function(options, adb, router, push, quit, owner) {
var log = logger.createLogger('device:plugins:logcat')
function openService() {

View file

@ -14,7 +14,8 @@ module.exports = syrup.serial()
.dependency(require('../support/sub'))
.dependency(require('../support/channels'))
.dependency(require('../support/quit'))
.define(function(options, identity, input, router, push, sub, channels, quit) {
.define(function(options, identity, input, router, push, sub, channels,
quit) {
var log = logger.createLogger('device:plugins:owner')
var owner = null

View file

@ -30,7 +30,7 @@ module.exports = syrup.serial()
function readableListener() {
var chunk
while (chunk = stream.read()) {
while ((chunk = stream.read())) {
push.send([
channel
, wireutil.envelope(new wire.TransactionProgressMessage(

View file

@ -18,7 +18,7 @@ module.exports = syrup.serial()
sub.subscribe(channel)
channels.register(channel, Infinity)
router.on(wire.ProbeMessage, function(channel, message) {
router.on(wire.ProbeMessage, function() {
push.send([
wireutil.global
, wireutil.envelope(new wire.DeviceIdentityMessage(

View file

@ -17,7 +17,7 @@ module.exports = syrup.serial()
function openService() {
return devutil.ensureUnusedPort(adb, options.serial, service.port)
.then(function(port) {
.then(function() {
return adb.shell(options.serial, [
remote.bin
, '--lib', remote.lib

View file

@ -39,8 +39,8 @@ module.exports = syrup.serial()
.then(function(installedPath) {
log.info('Running version check')
return adb.shell(options.serial, util.format(
"export CLASSPATH='%s';"
+ " exec app_process /system/bin '%s' --version"
"export CLASSPATH='%s';" +
" exec app_process /system/bin '%s' --version"
, installedPath
, resource.main
))
@ -61,7 +61,7 @@ module.exports = syrup.serial()
})
})
})
.catch(function(err) {
.catch(function() {
log.info('Installing InputAgent.apk')
return adb.install(options.serial, resource.apk)
.then(function() {

View file

@ -58,7 +58,7 @@ module.exports = syrup.serial()
.then(function(out) {
// Can be "Text is busy", "text busy"
return streamutil.findLine(out, (/busy/i))
.then(function(line) {
.then(function() {
log.info('Binary is busy, will retry')
return Promise.delay(1000)
})

View file

@ -4,7 +4,7 @@ var logger = require('../../../util/logger')
var ChannelManager = require('../../../wire/channelmanager')
module.exports = syrup.serial()
.define(function(options, router) {
.define(function() {
var log = logger.createLogger('device:support:channels')
var channels = new ChannelManager()
channels.on('timeout', function(channel) {

View file

@ -1,6 +1,5 @@
var syrup = require('syrup')
var devutil = require('../../../util/devutil')
var logger = require('../../../util/logger')
module.exports = syrup.serial()

View file

@ -4,7 +4,7 @@ var syrup = require('syrup')
var logger = require('../../../util/logger')
module.exports = syrup.serial()
.define(function(options) {
.define(function() {
var log = logger.createLogger('device:support:quit')
var cleanup = []

View file

@ -1,13 +1,11 @@
var syrup = require('syrup')
var logger = require('../../../util/logger')
var wirerouter = require('../../../wire/router')
module.exports = syrup.serial()
.dependency(require('./sub'))
.dependency(require('./channels'))
.define(function(options, sub, channels) {
var log = logger.createLogger('device:support:router')
var router = wirerouter()
sub.on('message', router.handler())

View file

@ -56,7 +56,7 @@ module.exports = function(options) {
message: messages.join('<br>')
, color: 'purple'
, notify: true
, message_format: 'html'
, 'message_format': 'html'
, token: options.token
})
}

View file

@ -1,4 +1,3 @@
var path = require('path')
var events = require('events')
var adb = require('adbkit')
@ -109,7 +108,7 @@ module.exports = function(options) {
, worker
// Wait for others to acknowledge the device
var register = new Promise(function(resolve, reject) {
var register = new Promise(function(resolve) {
// Tell others we found a device
push.send([
wireutil.global
@ -175,7 +174,7 @@ module.exports = function(options) {
}
// When the added device gets removed
function removeListener(updatedDevice) {
function removeListener() {
register.then(function() {
log.info('Lost device "%s" (%s)', device.id, device.type)
@ -224,7 +223,7 @@ module.exports = function(options) {
// Starts a device worker and keeps it alive
function work() {
return worker = workers[device.id] = spawn()
return (worker = workers[device.id] = spawn())
.then(function() {
log.info('Device worker "%s" has retired', device.id)
delete workers[device.id]
@ -323,7 +322,7 @@ module.exports = function(options) {
_.pull(lists.waiting, device.id)
})
.cancellable()
.catch(Promise.CancellationError, function(err) {
.catch(Promise.CancellationError, function() {
log.info('Gracefully killing device worker "%s"', device.id)
return procutil.gracefullyKill(proc, options.killTimeout)
})
@ -377,12 +376,12 @@ module.exports = function(options) {
})
}
process.on('SIGINT', function(e) {
process.on('SIGINT', function() {
log.info('Received SIGINT')
gracefullyExit()
})
process.on('SIGTERM', function(e) {
process.on('SIGTERM', function() {
log.info('Received SIGTERM')
gracefullyExit()
})

View file

@ -1,5 +1,3 @@
var util = require('util')
var Promise = require('bluebird')
var zmq = require('zmq')

View file

@ -51,7 +51,7 @@ devutil.ensureUnusedPort = function(adb, serial, port) {
conn.end()
throw new Error(util.format('Port "%d" should be unused', port))
})
.catch(closedError, function(err) {
.catch(closedError, function() {
return Promise.resolve(port)
})
}
@ -62,7 +62,7 @@ devutil.waitForPort = function(adb, serial, port) {
conn.port = port
return conn
})
.catch(closedError, function(err) {
.catch(closedError, function() {
return Promise.delay(100)
.then(function() {
return devutil.waitForPort(adb, serial, port)
@ -93,7 +93,7 @@ devutil.waitForPortToFree = function(adb, serial, port) {
conn.end()
})
})
.catch(closedError, function(err) {
.catch(closedError, function() {
return port
})
}
@ -105,7 +105,7 @@ devutil.listPidsByComm = function(adb, serial, comm, bin) {
return adb.shell(serial, ['ps', comm])
.then(function(out) {
return new Promise(function(resolve, reject) {
return new Promise(function(resolve) {
var header = false
, pids = []
out.pipe(split())
@ -147,7 +147,7 @@ devutil.killProcsByComm = function(adb, serial, comm, bin, mode) {
}
return adb.shell(serial, ['kill', mode || -15].concat(pids))
.then(function(out) {
return new Promise(function(resolve, reject) {
return new Promise(function(resolve) {
out.on('end', resolve)
})
})
@ -165,8 +165,8 @@ devutil.makeIdentity = function(serial, properties) {
var model = properties['ro.product.model']
, brand = properties['ro.product.brand']
, manufacturer = properties['ro.product.manufacturer']
, operator = properties['gsm.sim.operator.alpha']
|| properties['gsm.operator.alpha']
, operator = properties['gsm.sim.operator.alpha'] ||
properties['gsm.operator.alpha']
, version = properties['ro.build.version.release']
, sdk = properties['ro.build.version.sdk']
, abi = properties['ro.product.cpu.abi']

View file

@ -1,9 +1,41 @@
var util = require('util')
var events = require('events')
var colors = require('colors')
// Enable "string".color
require('colors')
function Log(tag, stream) {
var Logger = new events.EventEmitter()
Logger.Level = {
DEBUG: 1
, VERBOSE: 2
, INFO: 3
, WARNING: 4
, ERROR: 5
, FATAL: 6
}
Logger.LevelLabel = {
1: 'DBG'
, 2: 'VRB'
, 3: 'INF'
, 4: 'WRN'
, 5: 'ERR'
, 6: 'FTL'
}
Logger.globalIdentifier = '*'
Logger.createLogger = function(tag) {
return new Log(tag)
}
Logger.setGlobalIdentifier = function(identifier) {
Logger.globalIdentifier = identifier
return Logger
}
function Log(tag) {
this.tag = tag
this.names = {
1: 'DBG'
@ -95,35 +127,4 @@ Log.prototype._write = function(entry) {
Logger.emit('entry', entry)
}
var Logger = new events.EventEmitter()
Logger.Level = {
DEBUG: 1
, VERBOSE: 2
, INFO: 3
, WARNING: 4
, ERROR: 5
, FATAL: 6
}
Logger.LevelLabel = {
1: 'DBG'
, 2: 'VRB'
, 3: 'INF'
, 4: 'WRN'
, 5: 'ERR'
, 6: 'FTL'
}
Logger.globalIdentifier = '*'
Logger.createLogger = function(tag) {
return new Log(tag)
}
Logger.setGlobalIdentifier = function(identifier) {
Logger.globalIdentifier = identifier
return Logger
}
exports = module.exports = Logger

View file

@ -54,10 +54,10 @@ module.exports.fork = function() {
process.removeListener('SIGINT', sigintListener)
process.removeListener('SIGTERM', sigtermListener)
})
.catch(Promise.CancellationError, function(err) {
return new Promise(function(resolve, reject) {
.catch(Promise.CancellationError, function() {
return new Promise(function(resolve) {
proc.on('exit', function() {
resolver.resolve()
resolve()
})
proc.kill()
})

View file

@ -27,7 +27,7 @@ module.exports.readAll = function(stream) {
function readableListener() {
var chunk;
while (chunk = stream.read()) {
while ((chunk = stream.read())) {
collected = Buffer.concat([collected, chunk])
}
}

View file

@ -1,6 +1,5 @@
var pathutil = require('./lib/util/pathutil')
var webpack = require('webpack')
var path = require('path')
module.exports = {
cache: true,
@ -30,12 +29,18 @@ module.exports = {
{ test: /\.jpg$/, loader: "url-loader?limit=5000&mimetype=image/jpeg" },
{ test: /\.png$/, loader: "url-loader?limit=5000&mimetype=image/png" },
{ test: /\.gif$/, loader: "url-loader?limit=5000&mimetype=image/gif" },
{ test: /\.svg$/, loader: "url-loader?limit=5000&mimetype=image/svg+xml" },
{ test: /\.woff$/, loader: "url-loader?limit=5000&mimetype=application/font-woff" },
{ test: /\.otf$/, loader: "url-loader?limit=5000&mimetype=application/font-woff" },
{ test: /\.ttf$/, loader: "url-loader?limit=5000&mimetype=application/font-woff" },
{ test: /\.eot$/, loader: "url-loader?limit=5000&mimetype=vnd.ms-fontobject" },
{ test: /\.jade/, loader: 'template-html-loader' },
{ test: /\.svg$/
, loader: "url-loader?limit=5000&mimetype=image/svg+xml" },
{ test: /\.woff$/
, loader: "url-loader?limit=5000&mimetype=application/font-woff" },
{ test: /\.otf$/
, loader: "url-loader?limit=5000&mimetype=application/font-woff" },
{ test: /\.ttf$/
, loader: "url-loader?limit=5000&mimetype=application/font-woff" },
{ test: /\.eot$/
, loader: "url-loader?limit=5000&mimetype=vnd.ms-fontobject" },
{ test: /\.jade/
, loader: 'template-html-loader' },
{ test: /\.html/, loader: 'html-loader' },
{ test: /angular\.js/, loader: 'exports?angular'},
{ test: /angular-route\.js/, loader: 'imports?angular=angular'},
@ -50,15 +55,16 @@ module.exports = {
},
plugins: [
new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('bower.json', ['main'])
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
'bower.json'
, ['main']
)
),
new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('.bower.json', ['main'])
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
'.bower.json'
, ['main']
)
)
// new webpack.ResolverPlugin(
// new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin('package.json', ['main'])
// )
// ,new webpack.optimize.UglifyJsPlugin({mangle: false})
]
}