X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=lint.sh;h=ef4dacd7abc49ab407b534d0a0b99d0394967b6d;hb=18117d891a79ebdd470cf4e09c829b01008ba515;hp=6c640ad94de19e3714f0a8fdf3be6a74a72d80b8;hpb=fefe0bfe5e8e551e1fdb886408a335139a5f8ba3;p=dygraphs.git diff --git a/lint.sh b/lint.sh index 6c640ad..ef4dacd 100755 --- a/lint.sh +++ b/lint.sh @@ -5,16 +5,23 @@ # # The zero-argument form lints everything. -jsc_opts='maxerr:10000,devel:true,browser:true' -rhino_opts='maxerr=10000,devel=true,browser=true' +# See jshint/build/jshint-rhino.js for documentation on these parameters. +# devel defines logging globals (i.e. "console.log") +# browser defines standard web browser globals (i.e. "document") +# shadow disables warnings on multiple var definitions in one scope (i.e. two +# loops with "var i") +jsc_opts='maxerr:10000,devel:true,browser:true,shadow:true' +rhino_opts='maxerr=10000,devel=true,browser=true,shadow=true' if [ $# -gt 1 ]; then echo "Usage: $0 [file.js]" exit 1 fi +RETURN_VALUE=0 + if [ $# -eq 0 ]; then - files=$(ls dygraph*.js plugins/*.js | grep -v combined | grep -v dev.js) + files=$(ls dygraph*.js plugins/*.js | grep -v combined | grep -v dev.js| grep -v externs) else files=$1 fi @@ -23,7 +30,7 @@ if [ -e /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources # use JSC (Safari/JavaScriptCore) to run JSHint -- much faster than Rhino. echo 'Running JSHint w/ JavaScriptCore (jsc)...' for file in $files; do - ./jshint/env/jsc.sh $file $jsc_opts + ./jshint/env/jsc.sh $file $jsc_opts || RETURN_VALUE=1 done else # fall back to Rhino. @@ -35,8 +42,11 @@ else if [[ ${ERRORS} -ne 0 ]]; then echo "[jshint] Error(s) in ${FILE}:" printf "%s\n" "${LINT_RESULT}" + RETURN_VALUE=1 else echo "[jshint] ${FILE} passed!" fi done fi + +exit $RETURN_VALUE