eslint-plugin-bad-vibes: I built a linter that enforces the worst frontend practices
This is a submission for the DEV April Fools Challenge What I Built An ESLint plugin with 6 rules that enforce the worst frontend practices with deadpan corporate error messages. Real AST visitors....

Source: DEV Community
This is a submission for the DEV April Fools Challenge What I Built An ESLint plugin with 6 rules that enforce the worst frontend practices with deadpan corporate error messages. Real AST visitors. Real tests. Completely useless output. Every rule is something I have heard suggested in an actual code review, standup, or Slack thread. Not as a joke. As a genuine engineering opinion delivered with confidence by someone who has never opened a screen reader. The rules: Rule What it enforces no-semantic-html Flags <button>, <nav>, <main>. Demands <div>. no-alt-text Flags any <img> that has an alt attribute. prefer-positive-tabindex Errors on tabIndex={0}. Requires tabIndex={100} minimum. no-aria-allowed Flags every aria-* attribute as "invisible complexity." prefer-inline-styles Flags className. CSS class names are "indirection." no-keyboard-handlers Flags onKeyDown/onKeyUp. Keyboard users are "statistically insignificant." The error messages are the actual pay