Skip to content

Update to ESLint 10 and align with sitespeed.io's ESLint stack#175

Merged
soulgalore merged 1 commit into
mainfrom
update-eslint
May 17, 2026
Merged

Update to ESLint 10 and align with sitespeed.io's ESLint stack#175
soulgalore merged 1 commit into
mainfrom
update-eslint

Conversation

@soulgalore
Copy link
Copy Markdown
Member

Brings coach-core onto the same ESLint 10 baseline as sitespeed.io and
browsertime: eslint 9.17 → 10.4, eslint-config-prettier 9.1 → 10.1.8,
eslint-plugin-prettier 5.2 → 5.5.5. @eslint/js and globals were silently
transitive under v9 and are now declared explicitly, since the flat
config imports them directly.

While there, the config dropped FlatCompat in favour of the flat-config
shape ESLint 10 expects natively — js.configs.recommended is referenced
directly, which lets the @eslint/eslintrc dependency go.

ESLint 10 ships two new eslint:recommended rules (no-useless-assignment
and preserve-caught-error) that surfaced six findings, all fixed in
place rather than disabled. Five were let foo = '' initializers where
every subsequent code path reassigns before reading; they become
let foo;. The sixth was a rethrow in the wappalyzer engine that lost
the original error — adding { cause: error } preserves the chain.

Co-authored-by: Claude noreply@anthropic.com

  Brings coach-core onto the same ESLint 10 baseline as sitespeed.io and
  browsertime: eslint 9.17 → 10.4, eslint-config-prettier 9.1 → 10.1.8,
  eslint-plugin-prettier 5.2 → 5.5.5. @eslint/js and globals were silently
  transitive under v9 and are now declared explicitly, since the flat
  config imports them directly.

  While there, the config dropped FlatCompat in favour of the flat-config
  shape ESLint 10 expects natively — js.configs.recommended is referenced
  directly, which lets the @eslint/eslintrc dependency go.

  ESLint 10 ships two new eslint:recommended rules (no-useless-assignment
  and preserve-caught-error) that surfaced six findings, all fixed in
  place rather than disabled. Five were let foo = '' initializers where
  every subsequent code path reassigns before reading; they become
  let foo;. The sixth was a rethrow in the wappalyzer engine that lost
  the original error — adding { cause: error } preserves the chain.

  Co-authored-by: Claude noreply@anthropic.com
@soulgalore soulgalore merged commit d3d151c into main May 17, 2026
3 checks passed
@soulgalore soulgalore deleted the update-eslint branch May 17, 2026 19:48
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.

1 participant