Add "jake hint" task that checks all javaScript files using JSHint
This currently outputs many issues. These will be fixed in subsequent commits.
This commit is contained in:
parent
a92676edce
commit
c7f99019c2
9
.jshintrc
Normal file
9
.jshintrc
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"curly": true,
|
||||||
|
"eqeqeq": true,
|
||||||
|
"evil": true,
|
||||||
|
"laxbreak": true,
|
||||||
|
"noempty": true,
|
||||||
|
"sub": true,
|
||||||
|
"nonew": true
|
||||||
|
}
|
40
Jakefile
40
Jakefile
|
@ -7,6 +7,8 @@ var PEGJS_VERSION = fs.readFileSync("VERSION", "utf8").trim();
|
||||||
|
|
||||||
/* Relative paths are here because of use in |require|. */
|
/* Relative paths are here because of use in |require|. */
|
||||||
var SRC_DIR = "./src";
|
var SRC_DIR = "./src";
|
||||||
|
var TEST_DIR = "./test";
|
||||||
|
var BENCHMARK_DIR = "./benchmark";
|
||||||
var LIB_DIR = "./lib";
|
var LIB_DIR = "./lib";
|
||||||
var BIN_DIR = "./bin";
|
var BIN_DIR = "./bin";
|
||||||
var EXAMPLES_DIR = "./examples";
|
var EXAMPLES_DIR = "./examples";
|
||||||
|
@ -14,6 +16,24 @@ var DIST_DIR = "./dist";
|
||||||
var DIST_WEB_DIR = "./dist/web";
|
var DIST_WEB_DIR = "./dist/web";
|
||||||
var DIST_NODE_DIR = "./dist/node";
|
var DIST_NODE_DIR = "./dist/node";
|
||||||
|
|
||||||
|
var SRC_FILES = fs.readdirSync(SRC_DIR).filter(function(file) {
|
||||||
|
return /\.js$/.test(file);
|
||||||
|
}).map(function(file) {
|
||||||
|
return SRC_DIR + "/" + file;
|
||||||
|
});
|
||||||
|
|
||||||
|
var TEST_FILES = fs.readdirSync(TEST_DIR).filter(function(file) {
|
||||||
|
return /-test\.js$/.test(file);
|
||||||
|
}).map(function(file) {
|
||||||
|
return TEST_DIR + "/" + file;
|
||||||
|
});
|
||||||
|
var TEST_HELPERS_FILE = TEST_DIR + "/helpers.js";
|
||||||
|
var TEST_RUN_FILE = TEST_DIR + "/run";
|
||||||
|
|
||||||
|
var BENCHMARK_BENCHMARKS_FILE = BENCHMARK_DIR + "/benchmarks.js";
|
||||||
|
var BENCHMARK_RUNNER_FILE = BENCHMARK_DIR + "/runner.js";
|
||||||
|
var BENCHMARK_RUN_FILE = BENCHMARK_DIR + "/run";
|
||||||
|
|
||||||
var PEGJS = BIN_DIR + "/pegjs";
|
var PEGJS = BIN_DIR + "/pegjs";
|
||||||
|
|
||||||
var PEGJS_SRC_FILE = SRC_DIR + "/peg.js";
|
var PEGJS_SRC_FILE = SRC_DIR + "/peg.js";
|
||||||
|
@ -25,6 +45,8 @@ var PEGJS_DIST_MIN_FILE = DIST_WEB_DIR + "/peg-" + PEGJS_VERSION + ".min.js"
|
||||||
var PARSER_SRC_FILE = SRC_DIR + "/parser.pegjs";
|
var PARSER_SRC_FILE = SRC_DIR + "/parser.pegjs";
|
||||||
var PARSER_OUT_FILE = SRC_DIR + "/parser.js";
|
var PARSER_OUT_FILE = SRC_DIR + "/parser.js";
|
||||||
|
|
||||||
|
var JAKEFILE = "./Jakefile";
|
||||||
|
|
||||||
function exitFailure() {
|
function exitFailure() {
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
@ -185,4 +207,22 @@ task("benchmark", ["build"], function(runCount) {
|
||||||
process.on("exit", function() { complete(); });
|
process.on("exit", function() { complete(); });
|
||||||
}, true);
|
}, true);
|
||||||
|
|
||||||
|
desc("Run JSHint");
|
||||||
|
task("hint", ["build"], function() {
|
||||||
|
var process = childProcess.spawn(
|
||||||
|
"jshint",
|
||||||
|
SRC_FILES.concat(TEST_FILES).concat([
|
||||||
|
TEST_HELPERS_FILE,
|
||||||
|
TEST_RUN_FILE,
|
||||||
|
BENCHMARK_BENCHMARKS_FILE,
|
||||||
|
BENCHMARK_RUNNER_FILE,
|
||||||
|
BENCHMARK_RUN_FILE,
|
||||||
|
PEGJS,
|
||||||
|
JAKEFILE
|
||||||
|
]),
|
||||||
|
{ customFds: [0, 1, 2] }
|
||||||
|
);
|
||||||
|
process.on("exit", function() { complete(); });
|
||||||
|
}, true);
|
||||||
|
|
||||||
task("default", ["build"], function() {});
|
task("default", ["build"], function() {});
|
||||||
|
|
|
@ -16,7 +16,8 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"jake": ">= 0.1.10",
|
"jake": ">= 0.1.10",
|
||||||
"uglify-js": ">= 0.0.5"
|
"uglify-js": ">= 0.0.5",
|
||||||
|
"jshint": ">= 0.3.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4.4"
|
"node": ">= 0.4.4"
|
||||||
|
|
Loading…
Reference in a new issue