a45d901b5f262226ccffb148f2bb81d744ed0b0f
6 # The zero-argument form lints everything.
8 # See jshint/build/jshint-rhino.js for documentation on these parameters.
9 # devel defines logging globals (i.e. "console.log")
10 # browser defines standard web browser globals (i.e. "document")
11 # shadow disables warnings on multiple var definitions in one scope (i.e. two
13 jsc_opts
='maxerr:10000,devel:true,browser:true,shadow:true'
14 rhino_opts
='maxerr=10000,devel=true,browser=true,shadow=true'
17 echo "Usage: $0 [file.js]"
22 files
=$
(ls dygraph
*.js plugins
/*.js |
grep -v combined |
grep -v dev.js|
grep -v externs
)
27 jshint_opts
="shadow=false"
29 if [ -e
/System
/Library
/Frameworks
/JavaScriptCore.framework
/Versions
/A
/Resources
/jsc
]; then
30 # use JSC (Safari/JavaScriptCore) to run JSHint -- much faster than Rhino.
31 echo 'Running JSHint w/ JavaScriptCore (jsc)...'
32 for file in $files; do
33 .
/jshint
/env
/jsc.sh
$file $jsc_opts
37 echo 'Running JSHint w/ Rhino...'
39 for FILE
in $files; do
40 LINT_RESULT
=$
(java
-jar .
/jsdoc-toolkit
/java
/classes
/js.jar .
/jshint
/build
/jshint-rhino.js
$rhino_opts $FILE)
41 ERRORS
=$
(echo ${LINT_RESULT} |
egrep [^\s
] -c
)
42 if [[ ${ERRORS} -ne
0 ]]; then
43 echo "[jshint] Error(s) in ${FILE}:"
44 printf "%s\n" "${LINT_RESULT}"
46 echo "[jshint] ${FILE} passed!"