From d502a14d13afd9cfbc9ca4d5118212de429d085c Mon Sep 17 00:00:00 2001 From: Toru Nagashima Date: Tue, 16 Jul 2019 07:11:07 +0900 Subject: [PATCH 1/3] Update: Deprecating Personal Config --- .../README.md | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 designs/2019-deprecating-personal-config/README.md diff --git a/designs/2019-deprecating-personal-config/README.md b/designs/2019-deprecating-personal-config/README.md new file mode 100644 index 00000000..e1da2b7a --- /dev/null +++ b/designs/2019-deprecating-personal-config/README.md @@ -0,0 +1,52 @@ +- Start Date: 2019-07-16 +- RFC PR: (leave this empty, to be filled in later) +- Authors: Toru Nagashima ([@mysticatea](https://github.com/mysticatea)) + +# Deprecating Personal Config + +## Summary + +This RFC deprecates the personal config that is `.eslintrc` files on home directory. + +## Motivation + +Since 6.0.0, ESLint doesn't load plugins/configs/parsers from the global installation even if it's not a part of a project such as the personal config. This is inconvenient for the personal config. But, in #28 discussion, we confirm that we don't want to use the global installation. + +We don't recommend to use global-installed ESLint. But the personal config has encouraged to use it. + +## Detailed Design + +Three steps: + +1. **Soft deprecation**: Update our documentation to announce to deprecate the personal config on the next minor release. +2. **Hard deprecation**: Add the deprecation warning of the personal config on ESLint 7.0.0. + - ESLint shows a warning when it loaded the personal config. + - ESLint shows a warning when it ignored the personal config (Currently, it ignores `.eslintrc` files on home directory if a project directory is in home directory and the project has `.eslintrc` files.) +3. **Removal**: Remove the personal config functionality on ESLint 8.0.0. + - ESLint no longer loada the personal config even if the project config was not found. + - ESLint no longer ignores the config files on home directory even if the project config was found. + +## Documentation + +- Remove the personal config from [Configuring ESLint](https://eslint.org/docs/user-guide/configuring) page. +- Announce on the release notes. + +## Drawbacks + +It will make people inconvenient to lint standalone files. + +## Backwards Compatibility Analysis + +Yes, this is a breaking change. + +To lint standalone files, people have to have a dummy project directory such as `sandbox`. + +## Alternatives + +- https://github.com/eslint/rfcs/pull/28 + +## Related Discussions + +- https://github.com/eslint/rfcs/pull/7 +- https://github.com/eslint/rfcs/pull/28 +- https://github.com/eslint/eslint/issues/11914 From d0e612b5b17fe2297c6eea0b917be6b72cac4c0c Mon Sep 17 00:00:00 2001 From: Toru Nagashima Date: Tue, 16 Jul 2019 17:20:19 +0900 Subject: [PATCH 2/3] add PR URL --- designs/2019-deprecating-personal-config/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designs/2019-deprecating-personal-config/README.md b/designs/2019-deprecating-personal-config/README.md index e1da2b7a..a8bba7e5 100644 --- a/designs/2019-deprecating-personal-config/README.md +++ b/designs/2019-deprecating-personal-config/README.md @@ -1,5 +1,5 @@ - Start Date: 2019-07-16 -- RFC PR: (leave this empty, to be filled in later) +- RFC PR: https://github.com/eslint/rfcs/pull/32 - Authors: Toru Nagashima ([@mysticatea](https://github.com/mysticatea)) # Deprecating Personal Config From 28b406ba2d20bb9194c89b23b401f9b0ef4725b4 Mon Sep 17 00:00:00 2001 From: Toru Nagashima Date: Tue, 16 Jul 2019 17:22:17 +0900 Subject: [PATCH 3/3] fix typo --- designs/2019-deprecating-personal-config/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designs/2019-deprecating-personal-config/README.md b/designs/2019-deprecating-personal-config/README.md index a8bba7e5..51b95d25 100644 --- a/designs/2019-deprecating-personal-config/README.md +++ b/designs/2019-deprecating-personal-config/README.md @@ -23,7 +23,7 @@ Three steps: - ESLint shows a warning when it loaded the personal config. - ESLint shows a warning when it ignored the personal config (Currently, it ignores `.eslintrc` files on home directory if a project directory is in home directory and the project has `.eslintrc` files.) 3. **Removal**: Remove the personal config functionality on ESLint 8.0.0. - - ESLint no longer loada the personal config even if the project config was not found. + - ESLint no longer loads the personal config even if the project config was not found. - ESLint no longer ignores the config files on home directory even if the project config was found. ## Documentation