ESLint has nothing to do with Webpack in our projects. We use Nuclide Diagnostics to get results from it and also have it in our npm test so it can stop CI from passing.
Was this done to workaround some technical issue or is there more to it?
No, there is no technical issue. It is convenient to have ESLint in preloaders so we can re-lint changes files fast and display the lint output in the terminal and in the browser console. Since we only use the linter for rules that commonly indicate mistakes, it is fairly informative.
You can still configure linting in your editor (usage guide has explicit instructions for doing so). But we think it's valuable for it to be available right in npm start. Beginners often don't configure linters and then spend hours trying to fix simple mistakes which would have been reported. Putting linting right in the process in my view is better than hoping the person knows how to configure the editor, or that they would run lint occasionally.
Thanks for clarification.
Most helpful comment
No, there is no technical issue. It is convenient to have ESLint in preloaders so we can re-lint changes files fast and display the lint output in the terminal and in the browser console. Since we only use the linter for rules that commonly indicate mistakes, it is fairly informative.
You can still configure linting in your editor (usage guide has explicit instructions for doing so). But we think it's valuable for it to be available right in npm start. Beginners often don't configure linters and then spend hours trying to fix simple mistakes which would have been reported. Putting linting right in the process in my view is better than hoping the person knows how to configure the editor, or that they would run lint occasionally.