Skip to content

Commit

Permalink
Update .eslintrc.js
Browse files Browse the repository at this point in the history
  • Loading branch information
kaicataldo committed Apr 3, 2020
1 parent c030d80 commit 4078860
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 73 deletions.
133 changes: 61 additions & 72 deletions .eslintrc.js
@@ -1,14 +1,41 @@
"use strict";

const internalFiles = [
"**/cli-engine/**/*",
"**/init/**/*",
"**/linter/**/*",
"**/rule-tester/**/*",
"**/rules/**/*",
"**/source-code/**/*"
const path = require("path");

const INTERNAL_FILES = [
"lib/cli-engine/**/*",
"lib/init/**/*",
"lib/linter/**/*",
"lib/rule-tester/**/*",
"lib/rules/**/*",
"lib/source-code/**/*"
];

/**
* Resolve an absolute path or glob pattern.
* @param {string} pathOrPattern the path or glob pattern.
* @returns {string} The resolved path or glob pattern.
*/
function resolveAbsPath(pathOrPattern) {
return path.resolve(__dirname, pathOrPattern);
}

/**
* Create an array of `no-restricted-require` entries for ESLint's core files.
* @param {string} [pattern] The glob pattern to create the entries for.
* @returns {Object[]} The array of `no-restricted-require` entries.
*/
function createInternalFilesPatterns(pattern = null) {
return INTERNAL_FILES
.filter(p => p !== pattern)
.map(p => ({
name: [
resolveAbsPath(p),
`!${resolveAbsPath(p.replace(/\*\*\/\*$/u, "index.js"))}`
]
}));
}

module.exports = {
root: true,
plugins: [
Expand Down Expand Up @@ -84,106 +111,68 @@ module.exports = {
{
files: ["lib/*"],
rules: {
"no-restricted-modules": ["error", {
patterns: [
...internalFiles
]
}]
"node/no-restricted-require": ["error", [
...createInternalFilesPatterns()
]]
}
},
{
files: ["lib/cli-engine/**/*"],
rules: {
"no-restricted-modules": ["error", {
patterns: [
...internalFiles,
"**/init"
]
}]
"node/no-restricted-require": ["error", [
...createInternalFilesPatterns("lib/cli-engine/**/*")
]]
}
},
{
files: ["lib/init/**/*"],
rules: {
"no-restricted-modules": ["error", {
patterns: [
...internalFiles,
"**/rule-tester"
]
}]
"node/no-restricted-require": ["error", [
...createInternalFilesPatterns("lib/init/**/*")
]]
}
},
{
files: ["lib/linter/**/*"],
rules: {
"no-restricted-modules": ["error", {
patterns: [
...internalFiles,
"fs",
"**/cli-engine",
"**/init",
"**/rule-tester"
]
}]
"node/no-restricted-require": ["error", [
...createInternalFilesPatterns("lib/linter/**/*"),
"fs"
]]
}
},
{
files: ["lib/rules/**/*"],
rules: {
"no-restricted-modules": ["error", {
patterns: [
...internalFiles,
"fs",
"**/cli-engine",
"**/init",
"**/linter",
"**/rule-tester",
"**/source-code"
]
}]
"node/no-restricted-require": ["error", [
...createInternalFilesPatterns("lib/rules/**/*"),
"fs"
]]
}
},
{
files: ["lib/shared/**/*"],
rules: {
"no-restricted-modules": ["error", {
patterns: [
...internalFiles,
"**/cli-engine",
"**/init",
"**/linter",
"**/rule-tester",
"**/source-code"
]
}]
"node/no-restricted-require": ["error", [
...createInternalFilesPatterns("lib/shared/**/*")
]]
}
},
{
files: ["lib/source-code/**/*"],
rules: {
"no-restricted-modules": ["error", {
patterns: [
...internalFiles,
"fs",
"**/cli-engine",
"**/init",
"**/linter",
"**/rule-tester",
"**/rules"
]
}]
"node/no-restricted-require": ["error", [
...createInternalFilesPatterns("lib/source-code/**/*"),
"fs"
]]
}
},
{
files: ["lib/rule-tester/**/*"],
rules: {
"no-restricted-modules": ["error", {
patterns: [
...internalFiles,
"**/cli-engine",
"**/init"
]
}]
"node/no-restricted-require": ["error", [
...createInternalFilesPatterns("lib/rule-tester/**/*")
]]
}
}
]
Expand Down
2 changes: 1 addition & 1 deletion lib/init/source-code-utils.js
Expand Up @@ -23,7 +23,7 @@ const { CLIEngine } = require("../cli-engine");
* TODO1: Expose the API that enumerates target files.
* TODO2: Extract the creation logic of `SourceCode` from `Linter` class.
*/
const { getCLIEngineInternalSlots } = require("../cli-engine/cli-engine"); // eslint-disable-line no-restricted-modules
const { getCLIEngineInternalSlots } = require("../cli-engine/cli-engine"); // eslint-disable-line node/no-restricted-require

const debug = require("debug")("eslint:source-code-utils");

Expand Down

0 comments on commit 4078860

Please sign in to comment.