Skip to content

Removal of Airbnb Linting Rules

Context

Airbnb's linting rules have not been updated to support ESLint 9 and have not received significant updates for an extended period. This has led to a loss of confidence in their continued maintenance and relevance. Consequently, we began exploring alternative linting solutions and sought out the most widely recognized and respected linting rules.

Determining the industry standard for linting rules is challenging due to the variety of opinions and preferences within the developer community. While some developers prefer the strictness and comprehensiveness of Airbnb's rules, others may favor the flexibility and simplicity of the eslint:recommended ruleset.

Decision

After careful consideration, we have chosen to implement the eslint:recommended ruleset. This decision was based on its widespread recognition within the developer community, ensuring a dependable basis for our linting requirements. We removed the Airbnb linting rules from our ESLint configuration and supplemented it with custom rules to retain some of the beneficial practices previously enforced by Airbnb.

Consequences

  • Removal of Airbnb ESlint ruleset
  • Adding recommended eslint ruleset - eslint:recommended

Alternatives Considered

  • Wait for Airbnb: Postpone the update to ESLint until Airbnb supports version 9. This delay affects other dependent update tasks. The rationale is that Airbnb's coding standard is well-established and respected in the industry.
  • Temporarily drop Airbnb: Since Airbnb does not support ESLint v9, the linting rules are not functioning correctly. This means deviations are not being caught. If this is the case, we can proceed with eslint:recommended, wait for Airbnb and effectively run without Airbnb for a period. When Airbnb ESLint v9 support is available, we could hope is that we can adjust our toolchain to automatically align the code with the current standard, making it easy to correct afterward.