Class: Overcommit::GitHook::JSSyntax

Inherits:
HookSpecificCheck show all
Includes:
HookRegistry
Defined in:
lib/overcommit/plugins/pre_commit/js_syntax.rb

Constant Summary collapse

JS_HINT_PATH =
Overcommit::Utils.script_path 'jshint.js'
JS_HINT_RUNNER_PATH =
Overcommit::Utils.script_path 'jshint_runner.js'

Instance Method Summary collapse

Methods included from HookRegistry

included

Methods inherited from HookSpecificCheck

file_type, #initialize, #name, required!, #skip?, skippable?, #staged, stealth!, #stealth?

Constructor Details

This class inherits a constructor from Overcommit::GitHook::HookSpecificCheck

Instance Method Details

#run_checkObject



9
10
11
12
13
14
15
16
# File 'lib/overcommit/plugins/pre_commit/js_syntax.rb', line 9

def run_check
  return :warn, "Rhino is not installed" unless in_path? 'rhino'

  paths = staged.join(' ')

  output = `rhino -strict -f #{JS_HINT_PATH} #{JS_HINT_RUNNER_PATH} #{paths} 2>&1 | grep -v warning | grep -v -e '^js: '`
  return (output !~ /^ERROR/ ? :good : :bad), output
end