mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-21 16:30:12 +01:00
Hook up ESLint, fix warnings (including conversion to async I/O).
This commit is contained in:
parent
d16e1cafc1
commit
160146ac3a
5 changed files with 230 additions and 41 deletions
|
|
@ -3,25 +3,42 @@
|
|||
var fs = require("fs");
|
||||
var rules = require("./rules");
|
||||
|
||||
function lintFile(file, options) {
|
||||
var results = {};
|
||||
var contents = fs.readFileSync(file, { encoding: "utf8" });
|
||||
var lines = contents.split(/\r\n|\n/g);
|
||||
Object.keys(rules).forEach(function(name) {
|
||||
var rule = rules[name];
|
||||
var errors = rule(lines);
|
||||
if (errors.length) {
|
||||
results[name] = errors;
|
||||
function lintFile(file, options, callback) {
|
||||
fs.readFile(file, { "encoding": "utf8" }, function readFile(err, contents) {
|
||||
if (err) {
|
||||
callback(err);
|
||||
} else {
|
||||
var lines = contents.split(/\r\n|\n/g);
|
||||
var result = {};
|
||||
Object.keys(rules).forEach(function forRule(name) {
|
||||
var rule = rules[name];
|
||||
var errors = rule(lines);
|
||||
if (errors.length) {
|
||||
result[name] = errors;
|
||||
}
|
||||
});
|
||||
callback(null, result);
|
||||
}
|
||||
});
|
||||
return results;
|
||||
}
|
||||
|
||||
module.exports = function(options) {
|
||||
module.exports = function markdownlint(options, callback) {
|
||||
var results = {};
|
||||
var files = options.files || [];
|
||||
files.forEach(function(file) {
|
||||
results[file] = lintFile(file, options);
|
||||
});
|
||||
return results;
|
||||
function lintFiles() {
|
||||
var file = files.shift();
|
||||
if (file) {
|
||||
lintFile(file, options, function lintFileCallback(err, result) {
|
||||
if (err) {
|
||||
callback(err);
|
||||
} else {
|
||||
results[file] = result;
|
||||
lintFiles();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
callback(null, results);
|
||||
}
|
||||
}
|
||||
lintFiles();
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue