-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Improve config error messages (#17385)
* feat: Improve config error messages Includes some keys to catch known eslintrc keys when they appear in flat config. This throws a specific error that the ESLint CLI can then output a more helpful message about. fixes #17370 * Update messages/eslintrc-incompat.js Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com> * Update messages/eslintrc-incompat.js Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com> * Apply feedback --------- Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com>
- Loading branch information
1 parent
42faa17
commit cf03104
Showing
4 changed files
with
176 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
"use strict"; | ||
|
||
/* eslint consistent-return: 0 -- no default case */ | ||
|
||
const messages = { | ||
|
||
env: ` | ||
A config object is using the "env" key, which is not supported in flat config system. | ||
Flat config uses "languageOptions.globals" to define global variables for your files. | ||
Please see the following page for information on how to convert your config object into the correct format: | ||
https://eslint.org/docs/latest/use/configure/migration-guide#configuring-language-options | ||
`, | ||
|
||
extends: ` | ||
A config object is using the "extends" key, which is not supported in flat config system. | ||
Instead of "extends", you can include config objects that you'd like to extend from directly in the flat config array. | ||
Please see the following page for more information: | ||
https://eslint.org/docs/latest/use/configure/migration-guide#predefined-configs | ||
`, | ||
|
||
globals: ` | ||
A config object is using the "globals" key, which is not supported in flat config system. | ||
Flat config uses "languageOptions.globals" to define global variables for your files. | ||
Please see the following page for information on how to convert your config object into the correct format: | ||
https://eslint.org/docs/latest/use/configure/migration-guide#configuring-language-options | ||
`, | ||
|
||
ignorePatterns: ` | ||
A config object is using the "ignorePatterns" key, which is not supported in flat config system. | ||
Flat config uses "ignores" to specify files to ignore. | ||
Please see the following page for information on how to convert your config object into the correct format: | ||
https://eslint.org/docs/latest/use/configure/migration-guide#ignoring-files | ||
`, | ||
|
||
noInlineConfig: ` | ||
A config object is using the "noInlineConfig" key, which is not supported in flat config system. | ||
Flat config uses "linterOptions.noInlineConfig" to specify files to ignore. | ||
Please see the following page for information on how to convert your config object into the correct format: | ||
https://eslint.org/docs/latest/use/configure/migration-guide#linter-options | ||
`, | ||
|
||
overrides: ` | ||
A config object is using the "overrides" key, which is not supported in flat config system. | ||
Flat config is an array that acts like the eslintrc "overrides" array. | ||
Please see the following page for information on how to convert your config object into the correct format: | ||
https://eslint.org/docs/latest/use/configure/migration-guide#glob-based-configs | ||
`, | ||
|
||
parser: ` | ||
A config object is using the "parser" key, which is not supported in flat config system. | ||
Flat config uses "languageOptions.parser" to override the default parser. | ||
Please see the following page for information on how to convert your config object into the correct format: | ||
https://eslint.org/docs/latest/use/configure/migration-guide#custom-parsers | ||
`, | ||
|
||
parserOptions: ` | ||
A config object is using the "parserOptions" key, which is not supported in flat config system. | ||
Flat config uses "languageOptions.parserOptions" to specify parser options. | ||
Please see the following page for information on how to convert your config object into the correct format: | ||
https://eslint.org/docs/latest/use/configure/migration-guide#configuring-language-options | ||
`, | ||
|
||
reportUnusedDisableDirectives: ` | ||
A config object is using the "reportUnusedDisableDirectives" key, which is not supported in flat config system. | ||
Flat config uses "linterOptions.reportUnusedDisableDirectives" to specify files to ignore. | ||
Please see the following page for information on how to convert your config object into the correct format: | ||
https://eslint.org/docs/latest/use/configure/migration-guide#linter-options | ||
`, | ||
|
||
root: ` | ||
A config object is using the "root" key, which is not supported in flat config system. | ||
Flat configs always act as if they are the root config file, so this key can be safely removed. | ||
` | ||
}; | ||
|
||
module.exports = function({ key }) { | ||
|
||
return messages[key].trim(); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters