Skip to content

chore: bump dev deps to latest + migrate eslint to flat config#1456

Merged
igrigorik merged 4 commits into
masterfrom
chore/deps-eslint10-migration
Mar 27, 2026
Merged

chore: bump dev deps to latest + migrate eslint to flat config#1456
igrigorik merged 4 commits into
masterfrom
chore/deps-eslint10-migration

Conversation

@igrigorik

Copy link
Copy Markdown
Owner

Summary

  • Bump all dev dependencies to latest major versions (eslint 10, jsdom 29, esbuild 0.27, globals 17)
  • Migrate eslint from legacy .eslintrc.json to flat config (eslint.config.js)
  • Auto-fix pass + manual fixes for staged files
  • 12 lint errors remain in unstaged files (tracked in todo.md)

Test plan

  • npm run build passes
  • npx vitest run — 327/327 tests pass
  • Pre-commit hook (eslint + prettier) passes
  • CI lint check on this PR

🤖 Generated with Claude Code

igrigorik pushed a commit that referenced this pull request Mar 27, 2026
- Remove unused catch variables (bare `catch {}`) in 10 catch clauses
  across src/ and tests/e2e/
- Fix no-useless-assignment: uninitialized `targetParent` in facebook-handler,
  uninitialized `testFiles` in run-e2e
- Attach original error as `cause` in module-integration rethrow
- Remove dead legacy eslintConfig from package.json (superseded by eslint.config.js)
- Remove stale todo.md (all items resolved)

https://claude.ai/code/session_01QDgAEEwjqQhq9rKLzXk2Z2
igrigorik and others added 4 commits March 27, 2026 03:43
  Fix deprecated poolOptions config: replace pool:'threads' with
  poolOptions.threads.singleThread with pool:'forks' + maxWorkers:1
  (vitest 4 moved pool options to top-level).

  Silence console.log/info/warn/debug during tests. Production code
  logs (logger INFO/WARNING, bridge QUOTA_BYTES_PER_ITEM error) were
  polluting test output. Tests that need console output should spy
  explicitly. console.error is preserved so test failures stay loud.
Bump all dev dependencies to latest major versions:
- eslint 8.57 → 10.1.0
- @eslint/js 8.57 → 10.0.1
- globals 13.24 → 17.4.0
- jsdom 23.2 → 29.0.1
- esbuild 0.25 → 0.27.4
- vitest 4.1.1 → 4.1.2

Migrate eslint from legacy .eslintrc.json to flat config
(eslint.config.js) — required by eslint 10. Same rules, same
overrides for test files, same ignores.

Manual fixes in staged files:
- background.js: sender → _sender (unused callback arg)
- netflix.js: != → !== (strict equality)
- row-renderer.js: != → !== (strict equality)
- popup.js: remove unused params from initializeSpeedControls(),
  remove dead resetSpeed() function (never called)

12 lint errors remain in unstaged files (unused catch vars, etc.).
Tracked in todo.md for follow-up.

Build and all 327 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove unused catch variables (bare `catch {}`) in 10 catch clauses
  across src/ and tests/e2e/
- Fix no-useless-assignment: uninitialized `targetParent` in facebook-handler,
  uninitialized `testFiles` in run-e2e
- Attach original error as `cause` in module-integration rethrow
- Remove dead legacy eslintConfig from package.json (superseded by eslint.config.js)
- Remove stale todo.md (all items resolved)

https://claude.ai/code/session_01QDgAEEwjqQhq9rKLzXk2Z2
- actions/checkout v4 → v6
- actions/setup-node v4 → v6
- actions/upload-artifact v4 → v7

Subsumes dependabot PR #1448 (setup-node v4 → v6).

https://claude.ai/code/session_01QDgAEEwjqQhq9rKLzXk2Z2
@igrigorik
igrigorik force-pushed the chore/deps-eslint10-migration branch from 2b4dcf3 to deb83f9 Compare March 27, 2026 03:44
@igrigorik
igrigorik merged commit cb8582e into master Mar 27, 2026
2 checks passed
@igrigorik
igrigorik deleted the chore/deps-eslint10-migration branch March 27, 2026 04:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants