linter-eslint
linter-eslint copied to clipboard
Add support for ignore-path
Issue Type
Feature Request
Issue Description
We run our eslint as follows:
eslint --ignore-path=<PathToFileDefiningWhatToIgnore> ...
as described here: https://eslint.org/docs/user-guide/command-line-interface#ignore-path
It would be nice if there was an option to define the same thing using AtomLinter/linter-eslint
Bug Checklist
- [x] Restart Atom
- [x] Verify the
eslintCLI gives the proper result, whilelinter-eslintdoes not - [x] Paste the output of the
Linter Eslint: Debugcommand from the Command Palette below
Atom version: 1.24.0
linter-eslint version: 8.4.1
ESLint version: 4.17.0
Hours since last Atom restart: 0
Platform: darwin
Using local project ESLint from: /src/quip/node_modules/eslint
Current file's scopes: [
"source.js.jsx",
"punctuation.terminator.statement.js"
]
linter-eslint configuration: {
"disableWhenNoEslintConfig": false,
"eslintRulesDirs": [
"/src/quip/static/tools/eslint/rules/"
],
"eslintrcPath": "/src/quip/static/tools/eslint/eslintrc.yml",
"lintHtmlFiles": false,
"useGlobalEslint": false,
"showRuleIdInMessage": true,
"globalNodePath": "",
"advancedLocalNodeModules": "",
"disableEslintIgnore": false,
"disableFSCache": false,
"fixOnSave": false,
"scopes": [
"source.js",
"source.jsx",
"source.js.jsx",
"source.babel",
"source.js-semantic"
],
"rulesToSilenceWhileTyping": [],
"rulesToDisableWhileFixing": [],
"ignoreFixableRulesWhileTyping": false
}
Not sure how we would approach this. Some concerns coming immediately to mind:
-
We actually use location of a
.eslintignoreas one of the flags for locating your project root. How should your specified ignore file interact with this behavior? -
Is this ignore file expected to be global? If not, are you wanting us to keep a list matching up all your projects to their respective ignore files?
We currently do not track anything. Except for a little bit of caching, we basically do a new search for your project config and the correct copy of eslint every time a lint runs. The only reasonably easy way I can think of to add this feature would be to put a file in your project root to tell us where to find the ignore file, which seems to defeat the whole purpose of the request.
I would expect this to be global, just like the eslintrcPath and eslintRulesDirs and have to have absolute paths. The path inside the ignore-path would probably be relative to the working directory.
Hi @arv. Each option we add comes with a maintenance cost and cognitive burden for our users. I'd like to understand your use case to see why this is worth adding. Can you please describe a bit about your setup and why this would be an important option for you to have?
Our precommit runs something like:
eslint --config=<PATH> --ignore-path=<PATH> --rulesdir=<PATH> ...
AtomLinter/linter-eslint supports both config and rulesdir but not ignore-path which leads to lots of false positives when editing in Atom.
So, do you have an ignore file that is named something different from .eslintignore, which is why you need to use --ignore-path?