forked from jamesshore/lets_code_javascript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlint_runner.js
More file actions
34 lines (30 loc) · 993 Bytes
/
lint_runner.js
File metadata and controls
34 lines (30 loc) · 993 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* Copyright (c) 2012 James Shore - See README.txt for license */
"use strict";
var jshint = require("jshint").JSHINT;
var fs = require("fs");
exports.validateSource = function(sourceCode, options, globals, description) {
description = description ? description + " " : "";
var pass = jshint(sourceCode, options, globals);
if (pass) {
console.log(description + "ok");
}
else {
console.log(description + "failed");
jshint.errors.forEach(function(error) {
console.log(error.line + ": " + error.evidence.trim());
console.log(" " + error.reason);
});
}
return pass;
};
exports.validateFile = function(filename, options, globals) {
var sourceCode = fs.readFileSync(filename, "utf8");
return exports.validateSource(sourceCode, options, globals, filename);
};
exports.validateFileList = function(fileList, options, globals) {
var pass = true;
fileList.forEach(function(filename) {
pass = exports.validateFile(filename, options, globals) && pass;
});
return pass;
};