diff --git a/.gitignore b/.gitignore index cfd26651..c202bd60 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ images/ *.img *.fixture *.fuse_hidden* +node_modules/ +package-lock.json diff --git a/.travis-run-jshint.sh b/.travis-run-jshint.sh new file mode 100755 index 00000000..ce3c99be --- /dev/null +++ b/.travis-run-jshint.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +set -e +make jshint diff --git a/.travis.yml b/.travis.yml index acb43f47..d58fa3bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,3 +15,4 @@ env: - TEST_SUITE=unit-qemu - TEST_SUITE=nasm - TEST_SUITE=codegen + - TEST_SUITE=jshint diff --git a/Makefile b/Makefile index b85cd439..aec7733c 100644 --- a/Makefile +++ b/Makefile @@ -243,3 +243,9 @@ kvm-unit-test: build/libv86.js build/v86.wasm codegen-test: build/codegen-test.wasm ./tests/codegen/codegen.js + +node_modules/.bin/jshint: + npm install + +jshint: node_modules/.bin/jshint + ./node_modules/.bin/jshint --config=./jshint.json src tests gen diff --git a/jshint.json b/jshint.json new file mode 100644 index 00000000..5cd4c23e --- /dev/null +++ b/jshint.json @@ -0,0 +1,32 @@ +{ + "esversion": 6, + "globalstrict": true, + "sub": true, + "expr": true, + "-W058": true, + "-W080": true, + "-W082": true, + "-W079": true, + "-W117": true, + "-W054": true, + "-W027": true, + "-W040": true, + "-W087": true, + "-W008": true, + "loopfunc": true, + "shadow": true, + "funcscope": true, + "globals": { + "Blob": false, + "alert": false, + "console": false, + + "Components": false, + "XPCOMUtils": false, + "vimfx": false, + "NetUtil": false, + "PlacesUtils": false, + "Preferences": false + }, + "browser": true +} diff --git a/package.json b/package.json index 90afbe57..fadad673 100644 --- a/package.json +++ b/package.json @@ -7,5 +7,8 @@ "license": "BSD-2-Clause", "scripts": { "test": "node tests/full/run.js" + }, + "devDependencies": { + "jshint": "^2.9.5" } }