From 52303b8383b1978062028bb84f5234d7fd0de6a4 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 1 May 2017 13:55:20 +0100 Subject: [PATCH] Suggest to create .eslintrc for IDE lint plugins (#2054) * Suggest to create .eslintrc for IDE lint plugins * Update README.md * Update README.md --- packages/react-scripts/template/README.md | 38 ++++------------------- 1 file changed, 6 insertions(+), 32 deletions(-) diff --git a/packages/react-scripts/template/README.md b/packages/react-scripts/template/README.md index da55a2e58a7..34d27094f7a 100644 --- a/packages/react-scripts/template/README.md +++ b/packages/react-scripts/template/README.md @@ -207,50 +207,24 @@ To configure the syntax highlighting in your favorite text editor, head to the [ ## Displaying Lint Output in the Editor ->Note: this feature is available with `react-scripts@0.2.0` and higher. +>Note: this feature is available with `react-scripts@0.2.0` and higher. +>It also only works with npm 3 or higher. Some editors, including Sublime Text, Atom, and Visual Studio Code, provide plugins for ESLint. They are not required for linting. You should see the linter output right in your terminal as well as the browser console. However, if you prefer the lint results to appear right in your editor, there are some extra steps you can do. -You would need to install an ESLint plugin for your editor first. - ->**A note for Atom `linter-eslint` users** - ->If you are using the Atom `linter-eslint` plugin, make sure that **Use global ESLint installation** option is checked: - -> - - ->**For Visual Studio Code users** - ->VS Code ESLint plugin automatically detects Create React App's configuration file. So you do not need to create `eslintrc.json` at the root directory, except when you want to add your own rules. In that case, you should include CRA's config by adding this line: - ->```js ->{ -> // ... -> "extends": "react-app" ->} ->``` - -Then add this block to the `package.json` file of your project: +You would need to install an ESLint plugin for your editor first. Then, add a file called `.eslintrc` to the project root: ```js { - // ... - "eslintConfig": { - "extends": "react-app" - } + "extends": "react-app" } ``` -Finally, you will need to install some packages *globally*: - -```sh -npm install -g eslint-config-react-app@0.3.0 eslint@3.8.1 babel-eslint@7.0.0 eslint-plugin-react@6.4.1 eslint-plugin-import@2.0.1 eslint-plugin-jsx-a11y@4.0.0 eslint-plugin-flowtype@2.21.0 -``` +Now your editor should report the linting warnings. -We recognize that this is suboptimal, but it is currently required due to the way we hide the ESLint dependency. The ESLint team is already [working on a solution to this](https://github.com/eslint/eslint/issues/3458) so this may become unnecessary in a couple of months. +Note that even if you edit your `.eslintrc` file further, these changes won’t affect the terminal and in-browser lint output. This is because Create React App intentionally provides a minimal set of rules that find common mistakes. If you want to enforce a coding style for your project, consider using [Prettier](https://github.com/jlongster/prettier) instead of ESLint style rules. ## Debugging in the Editor