Commit be5cd04
chore: replace eslint-config-airbnb with eslint:recommended (#1299)
## Summary
- Replace unmaintained `eslint-config-airbnb-base` (v15, last published
2022) and `eslint-config-airbnb-typescript` (archived May 2025) with
`eslint:recommended` + `@typescript-eslint/recommended`
- Add explicit rules for `eqeqeq`, `prefer-const`, `no-var`, and
`no-restricted-syntax` (drops `ForOfStatement` ban since ES2020 target
makes it irrelevant)
- Remove airbnb deps from all 36 `package.json` devDependencies
- Fix pre-existing parsing errors via ignorePatterns, `tsconfigRootDir`,
and standalone svelte `tsconfig.eslint.json`
## What changed in .eslintrc.js
- **extends**: `airbnb-base` + `airbnb-typescript/base` ->
`eslint:recommended` + `@typescript-eslint/recommended`
- **plugins**: Added `import` (was loaded implicitly by airbnb)
- **Disabled noisy rules**: `no-explicit-any`, `ban-ts-comment`,
`ban-types`, `no-var-requires`, `no-this-alias`,
`no-non-null-asserted-optional-chain`
- **import/extensions**: Turned off (was masked by airbnb-typescript
override for TS files)
- **valid-typeof**: Turned off for now (re-enabled in a follow-up PR
with bug fixes)
- **ignorePatterns**: Added electron/example, svelte/.svelte-kit,
server-ai/examples
- **parserOptions**: Added `tsconfigRootDir: __dirname` and svelte
tsconfig to project array
## Test plan
- [ ] `yarn workspaces foreach -p run lint` passes with 0 errors
- [ ] No functional code changes (config and dependency removal only)
- [ ] Existing stale `eslint-disable` comments are harmless (cleaned up
in follow-up PR)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Touches repo-wide lint/TS parsing configuration and removes shared
ESLint presets across many workspaces, which may cause new/changed lint
failures in CI even though runtime code is unchanged.
>
> **Overview**
> Swaps the root ESLint baseline from Airbnb TypeScript presets to
`eslint:recommended` + `@typescript-eslint/recommended`, adds the
missing `import` plugin explicitly, and tweaks/overrides several rules
(e.g., enforcing `eqeqeq`/`no-var`, relaxing several TypeScript
strictness rules, and disabling `import/extensions` and
`import/export`).
>
> Updates ESLint parsing inputs by expanding `parserOptions.project`
(including a dedicated Svelte `tsconfig.eslint.json` and setting
`tsconfigRootDir`), broadens `tsconfig.eslint.json` to include `*.tsx`,
and adds new `ignorePatterns` for additional generated/example
directories. Removes `eslint-config-airbnb-base` and
`eslint-config-airbnb-typescript` from devDependencies across the
monorepo.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
3ee1a8f. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 73aee9c commit be5cd04
39 files changed
Lines changed: 40 additions & 80 deletions
File tree
- packages
- ai-providers
- server-ai-langchain
- server-ai-openai
- server-ai-vercel
- sdk
- akamai-base
- akamai-edgekv
- browser
- contract-tests/entity
- cloudflare
- combined-browser
- electron
- fastly
- react-native
- react
- contract-tests
- server-ai
- examples
- bedrock
- chat-judge
- direct-judge
- openai
- vercel-ai
- server-node
- shopify-oxygen
- svelte
- vercel
- store
- node-server-sdk-dynamodb
- node-server-sdk-redis
- telemetry
- browser-telemetry
- node-server-sdk-otel
- tooling
- contract-test-utils
- jest
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
10 | 14 | | |
11 | | - | |
| 15 | + | |
12 | 16 | | |
13 | 17 | | |
14 | 18 | | |
15 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
16 | 24 | | |
17 | 25 | | |
18 | 26 | | |
19 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
20 | 43 | | |
21 | 44 | | |
22 | 45 | | |
| |||
35 | 58 | | |
36 | 59 | | |
37 | 60 | | |
38 | | - | |
39 | | - | |
| 61 | + | |
| 62 | + | |
40 | 63 | | |
41 | 64 | | |
42 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
81 | | - | |
82 | | - | |
83 | 81 | | |
84 | 82 | | |
85 | 83 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | | - | |
58 | 56 | | |
59 | 57 | | |
60 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
57 | 55 | | |
58 | 56 | | |
59 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
59 | | - | |
60 | 58 | | |
61 | 59 | | |
62 | 60 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
60 | | - | |
61 | 59 | | |
62 | 60 | | |
63 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
60 | | - | |
61 | 59 | | |
62 | 60 | | |
63 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
27 | 25 | | |
28 | 26 | | |
29 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
59 | 57 | | |
60 | 58 | | |
61 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
61 | | - | |
62 | 60 | | |
63 | 61 | | |
64 | 62 | | |
| |||
0 commit comments