38 lines
976 B
JavaScript
38 lines
976 B
JavaScript
/*jshint node:true */
|
|
|
|
/*
|
|
usage: node /path/to/node.js /path/to/linter/ ["{option1:true,option2:false}"]
|
|
*/
|
|
|
|
var _fs = require('fs'),
|
|
_util = require('util'),
|
|
_path = require('path'),
|
|
linterPath = process.argv[2].replace(/\/$/, '') + '/',
|
|
_linter = require(linterPath + 'linter');
|
|
|
|
function run() {
|
|
var code = '',
|
|
results,
|
|
config = JSON.parse(process.argv[3] || '{}'),
|
|
filename = process.argv[4] || '';
|
|
|
|
if (filename) {
|
|
results = _linter.lint(_fs.readFileSync(filename, 'utf-8'), config, linterPath);
|
|
_util.puts(JSON.stringify(results));
|
|
} else {
|
|
process.stdin.resume();
|
|
process.stdin.setEncoding('utf8');
|
|
|
|
process.stdin.on('data', function (chunk) {
|
|
code += chunk;
|
|
});
|
|
|
|
process.stdin.on('end', function () {
|
|
results = _linter.lint(code, config, linterPath);
|
|
_util.puts(JSON.stringify(results));
|
|
});
|
|
}
|
|
}
|
|
|
|
run();
|