Upgrade ESLint to v9 with flat config (#9680) master
* Upgrade ESLint to v9 with flat config - Upgrade eslint from v8 to v9.18.0 - Migrate from .eslintrc.js to eslint.config.mjs (flat config) - Upgrade typescript-eslint to v8.20.0 (unified package) - Replace eslint-plugin-import with eslint-plugin-import-x for flat config support - Add globals package for environment globals - Update eslint-plugin-bsky-internal with proper meta objects for ESLint v9 - Fix deprecated context.getScope() API usage - Update bskyembed to use flat config - Remove deprecated --ext flag from lint scripts - Configure rules to maintain previous behavior while using new ESLint version * Fix varsIgnorePattern to require character after underscore Restore the original pattern `^_.+` instead of `^_` so that lingui's `const { _ } = useLingui()` will still be flagged when unused. * Update ESLint rule tests for flat config format - Update RuleTester to use flat config languageOptions instead of eslintrc parser format - Remove duplicate test case that ESLint v9 now detects - Add Jest globals for test files * update eslint package versions * lint android a11y * enable typechecked rules, switch them to warn * fix yarn lock ci * Fix CI failure * Remove unused globals? * Organize a bit, add quiet to main lint command * Allow ternary --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Eric Bailey <git@esb.lol>