Skip to content

Commit

Permalink
implement coffeelint to make code consistent in style
Browse files Browse the repository at this point in the history
  • Loading branch information
Tomasz Sobczak committed Dec 10, 2014
1 parent 4b3413f commit fc48c8b
Show file tree
Hide file tree
Showing 10 changed files with 224 additions and 122 deletions.
107 changes: 107 additions & 0 deletions coffeelint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
{
"arrow_spacing": {
"level": "error"
},
"camel_case_classes": {
"level": "error"
},
"coffeescript_error": {
"level": "error"
},
"colon_assignment_spacing": {
"level": "ignore",
"spacing": {
"left": 0,
"right": 0
}
},
"cyclomatic_complexity": {
"value": 10,
"level": "ignore"
},
"duplicate_key": {
"level": "error"
},
"empty_constructor_needs_parens": {
"level": "ignore"
},
"indentation": {
"value": 2,
"level": "error"
},
"line_endings": {
"level": "ignore",
"value": "unix"
},
"max_line_length": {
"value": 80,
"level": "ignore",
"limitComments": true
},
"missing_fat_arrows": {
"level": "ignore"
},
"newlines_after_classes": {
"value": 3,
"level": "ignore"
},
"no_backticks": {
"level": "warn"
},
"no_debugger": {
"level": "warn"
},
"no_empty_functions": {
"level": "ignore"
},
"no_empty_param_list": {
"level": "ignore"
},
"no_implicit_braces": {
"level": "ignore",
"strict": true
},
"no_implicit_parens": {
"strict": true,
"level": "ignore"
},
"no_interpolation_in_single_quotes": {
"level": "warn"
},
"no_plusplus": {
"level": "ignore"
},
"no_stand_alone_at": {
"level": "error"
},
"no_tabs": {
"level": "error"
},
"no_throwing_strings": {
"level": "error"
},
"no_trailing_semicolons": {
"level": "error"
},
"no_trailing_whitespace": {
"level": "warn",
"allowed_in_comments": false,
"allowed_in_empty_lines": true
},
"no_unnecessary_double_quotes": {
"level": "warn"
},
"no_unnecessary_fat_arrows": {
"level": "warn"
},
"non_empty_constructor_needs_parens": {
"level": "ignore"
},
"prefer_english_operator": {
"level": "warn",
"doubleNotLevel": "ignore"
},
"space_operators": {
"level": "error"
}
}
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"main": "lib/division.js",
"devDependencies": {
"coffee-script": "^1.8.0",
"coffeelint": "^1.6.1",
"coveralls": "^2.11.2",
"istanbul": "^0.3.2",
"mocha": "^2.0.1",
Expand All @@ -19,7 +20,8 @@
"precoverage": "./node_modules/.bin/cake compile",
"coverage": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha --report lcov -- -R spec",
"pretest": "./node_modules/.bin/cake compile",
"test": "./node_modules/.bin/cake --reporter spec test"
"test": "./node_modules/.bin/cake --reporter spec test",
"lint": "./node_modules/.bin/coffeelint src"
},
"bugs": {
"url": "http://github.com/codename-/division/issues"
Expand Down
58 changes: 29 additions & 29 deletions src/division.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ module.exports = class Division extends EventEmitter
__define = (args...) => Object.defineProperty.apply null, [].concat this, args

# Public constants
__define "version", enumerable: yes, value: require(__dirname + '/../package.json').version
__define "environment", enumerable: yes, value: process.env.NODE_ENV || 'development'
__define 'version', enumerable: yes, value: require(__dirname + '/../package.json').version
__define 'environment', enumerable: yes, value: process.env.NODE_ENV or 'development'

# Public variables
__define "settings", enumerable: yes, get: -> @__settings
__define 'settings', enumerable: yes, get: -> @__settings

# Private constants
__define "master", value: new Master()
__define 'master', value: new Master()

# Private variables
__define "running", writable: yes, value: off
__define "__settings", writable: yes, value: { extensions : [], size : Math.max(2, require('os').cpus().length), kills : 30 }
__define 'running', writable: yes, value: off
__define '__settings', writable: yes, value: { extensions : [], size : Math.max(2, require('os').cpus().length), kills : 30 }

# Apply user defined settings
@extend @__settings, settings
Expand All @@ -39,10 +39,10 @@ module.exports = class Division extends EventEmitter
#

# Helper providing definer of methods (added to prototype)
__define = (args...) => Object.defineProperty.apply null, [].concat Division.prototype, args
__define = (args...) -> Object.defineProperty.apply null, [].concat Division.prototype, args

# Configure callback for zero or more environments
__define "configure", enumerable: yes, value: (environments..., fn)->
__define 'configure', enumerable: yes, value: (environments..., fn) ->
# Skip configuration if there is no callback defined
return this if not fn or typeof fn isnt 'function'

Expand All @@ -52,35 +52,35 @@ module.exports = class Division extends EventEmitter
return this

# Assign `setting` in settings to `value`
__define "set", enumerable: yes, value: (setting, value)->
__define 'set', enumerable: yes, value: (setting, value) ->
@__settings[setting] = value
return this

# Return value of `setting`
__define "get", enumerable: yes, value: (setting)->
__define 'get', enumerable: yes, value: (setting) ->
return @__settings[setting]

# Enable `setting`
__define "enable", enumerable: yes, value: (setting)->
__define 'enable', enumerable: yes, value: (setting) ->
return @set setting, on

# Check if `setting` is enabled (truthy)
__define "enabled", enumerable: yes, value: (setting)->
__define 'enabled', enumerable: yes, value: (setting) ->
return !!@__settings[setting]

# Disable `setting`
__define "disable", enumerable: yes, value: (setting)->
__define 'disable', enumerable: yes, value: (setting) ->
return @set setting, off

# Check if `setting` is disabled (truthy)
__define "disabled", enumerable: yes, value: (setting)->
return !@__settings[setting]
__define 'disabled', enumerable: yes, value: (setting) ->
return not @__settings[setting]

# Use the given `extension`
__define "use", enumerable: yes, value: (extension, parameters...) ->
__define 'use', enumerable: yes, value: (extension, parameters...) ->
return this if not extension

if typeof extension is "string"
if typeof extension is 'string'
@__settings.extensions.push extension

try
Expand All @@ -93,17 +93,17 @@ module.exports = class Division extends EventEmitter
return this

# Start cluster process
__define "run", enumerable: yes, value: (fn) ->
__define 'run', enumerable: yes, value: (fn) ->

if cluster.isWorker
message = "You cannot run cluster in worker process!\n"
message = 'You cannot run cluster in worker process!\n'

if ~ @__settings.extensions.indexOf 'debug'
@emit.call this, "error", "\n#{message}"
@emit.call this, 'error', "\n#{message}"

else
error = new Error message
error.name = "Internal Error"
error.name = 'Internal Error'

throw error

Expand All @@ -127,8 +127,8 @@ module.exports = class Division extends EventEmitter
#

# Check if `path` is plain Object
__define "resolve", value: do ->
extensions = fs.readdirSync(__dirname + '/extensions').map (file) -> file.split(".")[0]
__define 'resolve', value: do ->
extensions = fs.readdirSync(__dirname + '/extensions').map (file) -> file.split('.')[0]

return (extension) ->
if ~ extensions.indexOf extension
Expand All @@ -137,8 +137,8 @@ module.exports = class Division extends EventEmitter
return extension

# Deeply extend object
__define "extend", value : (target, source) ->
if typeof target isnt "object" and typeof target isnt 'function'
__define 'extend', value : (target, source) ->
if typeof target isnt 'object' and typeof target isnt 'function'
target = {}

for own key, copy of source
Expand Down Expand Up @@ -166,11 +166,11 @@ module.exports = class Division extends EventEmitter
return target

# Check if `obj` is plain Object
__define "__object", value: (obj) ->
return no if typeof obj isnt "object"
return no if obj.constructor and not Object.hasOwnProperty.call obj.constructor.prototype, "isPrototypeOf"
__define '__object', value: (obj) ->
return no if typeof obj isnt 'object'
return no if obj.constructor and not Object.hasOwnProperty.call obj.constructor.prototype, 'isPrototypeOf'
return yes

# Check if `array` is an Array
__define "__array", value: (array) ->
__define '__array', value: (array) ->
return Array.isArray array
38 changes: 19 additions & 19 deletions src/extensions/debug.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -14,53 +14,53 @@ module.exports = (options, logger) ->
options = options or { console : on }

# Log master events
@on "error", (error) ->
@on 'error', (error) ->
logger.error error, options

@on "increase", (amount) ->
@on 'increase', (amount) ->
logger.info "Number of workers increased by #{amount}", options

@on "decrease", (amount) ->
@on 'decrease', (amount) ->
logger.info "Number of workers decreased by #{amount}", options

@on "restart", ->
logger.info "Worker processes restarted", options
@on 'restart', ->
logger.info 'Worker processes restarted', options

@on "close", ->
logger.info "Gracefully closing cluster process", options
@on 'close', ->
logger.info 'Gracefully closing cluster process', options

@on "destroy", ->
logger.warn "Forcefully closing (killing) cluster process", options
@on 'destroy', ->
logger.warn 'Forcefully closing (killing) cluster process', options

# Log cluster events
@on "fork", (worker) ->
logger.debug "New worker forked", options
@on 'fork', (worker) ->
logger.debug 'New worker forked', options

@on "online", (worker) ->
@on 'online', (worker) ->
logger.debug "Worker no. #{worker?.id or "?"} (PID: #{worker?.pid or "unknown"}) is online", options

@on "listening", (worker, address) ->
@on 'listening', (worker, address) ->
logger.debug "Worker no. #{worker?.id or "?"} (PID: #{worker?.pid or "unknown"}) is listening", options

@on "disconnect", (worker) ->
@on 'disconnect', (worker) ->
logger.debug "Worker no. #{worker?.id or "?"} (PID: #{worker?.pid or "unknown"}) is disconnected", options

@on "exit", (worker, code, signal) ->
@on 'exit', (worker, code, signal) ->
if worker.instance.suicide
logger.debug "Worker no. #{worker?.id or "?"} (PID: #{worker?.pid or "unknown"}) is exited", options
else
logger.error "Worker no. #{worker?.id or "?"} (PID: #{worker?.pid or "unknown"}) is exited unexpectedly (code: #{code}, signal: #{signal})", options

# Log process events
process.on "uncaughtException", (error) ->
process.on 'uncaughtException', (error) ->
logger.error error.stack, options
process.exit 1

process.on "exit", ->
logger.debug "Cluster process exited", options
process.on 'exit', ->
logger.debug 'Cluster process exited', options

# Log extensions events
@on "filechange", (file) ->
@on 'filechange', (file) ->
logger.debug "#{file} was changed", options

return this
6 changes: 3 additions & 3 deletions src/extensions/helpers/logger.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Time = ->
sec = do d.getSeconds
ms = do d.getMilliseconds

glue offset(day, 0, 2), "-", offset(month, 0, 2), "-", year, " ", offset(hour, 0, 2), ":", offset(min, 0, 2), ":", offset(sec, 0, 2), ":", offset(ms, 0, 3)
glue offset(day, 0, 2), '-', offset(month, 0, 2), '-', year, ' ', offset(hour, 0, 2), ':', offset(min, 0, 2), ':', offset(sec, 0, 2), ':', offset(ms, 0, 3)

## Export logger
module.exports = logger = {}
Expand All @@ -41,9 +41,9 @@ for mode, color of modes
mode = offset mode, ' ', 8

label = glue mode, ' [', time, '] '
label = glue "\x1b[", color, "m", label, "\x1b[0m"
label = glue '\x1b[', color, 'm', label, '\x1b[0m'

message = glue label, message, "\n"
message = glue label, message, '\n'

# Write message to file
if options.file
Expand Down
2 changes: 1 addition & 1 deletion src/extensions/watch.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ module.exports = (files, options = {}) ->

fs.watchFile file, { interval, persistent : no }, (curr, prev) =>
if curr.mtime > prev.mtime
@emit "filechange", file
@emit 'filechange', file
do @restart

# Traverse on each path in files and set watcher
Expand Down
Loading

0 comments on commit fc48c8b

Please sign in to comment.