mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
f44969a5ab
We have been stalled on ESLint 3.8.0 for some time. Current ESLint is 3.13.0. We have been unable to upgrade because of more aggressive reporting on some rules, including indentation. ESLint configuration options and bugfixes are now such that we can reasonably upgrade. PR-URL: https://github.com/nodejs/node/pull/10561 Reviewed-By: Teddy Katz <teddy.katz@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
/**
|
|
* @fileoverview Module for loading rules from files and directories.
|
|
* @author Michael Ficarra
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Requirements
|
|
//------------------------------------------------------------------------------
|
|
|
|
const fs = require("fs"),
|
|
path = require("path");
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Public Interface
|
|
//------------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Load all rule modules from specified directory.
|
|
* @param {string} [rulesDir] Path to rules directory, may be relative. Defaults to `lib/rules`.
|
|
* @param {string} cwd Current working directory
|
|
* @returns {Object} Loaded rule modules by rule ids (file names).
|
|
*/
|
|
module.exports = function(rulesDir, cwd) {
|
|
if (!rulesDir) {
|
|
rulesDir = path.join(__dirname, "rules");
|
|
} else {
|
|
rulesDir = path.resolve(cwd, rulesDir);
|
|
}
|
|
|
|
const rules = Object.create(null);
|
|
|
|
fs.readdirSync(rulesDir).forEach(file => {
|
|
if (path.extname(file) !== ".js") {
|
|
return;
|
|
}
|
|
rules[file.slice(0, -3)] = path.join(rulesDir, file);
|
|
});
|
|
return rules;
|
|
};
|