loucyx commented on PR #42184: URL: https://github.com/apache/airflow/pull/42184#issuecomment-2346400337
@pierrejeambrun leaving maintenance difficulty aside for a second, there are a lot of reasons for this approach: 1. `eslint-config-airbnb` has been last updated 3 years ago (before ESLint `8.6.0` and TypeScript `4.6` were released, and we are in ESLint `9.10.0` and TypeScript `5.6`), so we would have to use dated versions of ESLint or unnecessary compatibility layers. 2. Airbnb's configuration is designed with deprecated environments in mind, for example they avoid Symbols or iterators because they are "hard to polyfill" and it hasn't been necessary to polyfill for years. 3. They also have rules around code style when we have Prettier for that already. 4. They check for some things which are better handled by the type system instead of the linter. 5. They have rules for jQuery 😱 6. Having our own rules lets us be very strict and opinionated, which is a good thing when you want to keep code quality high and spot issues before they even happen. 7. Every rule is in our control, meaning we can disable them, remove them and more adapting to our coding practices instead of having to override an existing configuration. 8. Recommended settings and defaults change, so for consistency is always better to set all rules you want. I understand the concern about adding "boilerplate" code, but is not much more boilerplate than what we would need extending existing rules maintained by somebody else. The difference being we have more control and we can keep it up to date. I've been maintaining my own rules for years and is not hard at all as a single person, so as an active open-source project should be even easier. If this is still a concern after all the things I said, one other thing we can do is create a new repo exclusively with the rules on it, and we would just import them and use them here. Something like `eslint-config-apache` maybe? 🤔 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
