Skip to content

Consolidate ESLint configs into root - #1324

Merged
captbaritone merged 1 commit into
masterfrom
consolidate-eslint-configs
Nov 28, 2025
Merged

Consolidate ESLint configs into root#1324
captbaritone merged 1 commit into
masterfrom
consolidate-eslint-configs

Conversation

@captbaritone

Copy link
Copy Markdown
Owner

Summary

This PR consolidates general-purpose ESLint rules from the various package-specific configs into the root .eslintrc, making them apply consistently across all packages.

What Changed

Root .eslintrc

Moved ~50 general-purpose rules that were previously only in packages/webamp/.eslintrc:

  • Core JavaScript best practices: no-var, prefer-const, eqeqeq, no-eval, etc.
  • Code quality rules: max-depth, max-params, no-nested-ternary, etc.
  • TypeScript: @typescript-eslint/no-unused-vars with underscore patterns for ignored vars
  • Prettier integration

packages/webamp/.eslintrc

Now only contains React-specific configuration:

  • React plugin rules
  • Import plugin rules
  • React Hooks plugin rules
  • Browser globals

packages/skin-database/.eslintrc.js

  • Extends @typescript-eslint/recommended
  • Disables rules that conflict with existing code style (e.g., camelcase, dot-notation)

packages/webamp-modern/.eslintrc.js

Unchanged - it has root: true so it's intentionally isolated from the root config.

Lint Fixes

Also fixes existing lint errors in skin-database:

  • Consolidated duplicate imports in App.js and Feedback.js
  • Added radix parameter to parseInt()
  • Prefixed unused function parameters with underscore
  • Converted var to let/const
  • Fixed type import for Shooter

Testing

  • Verified npx turbo lint passes on all packages

@github-actions

github-actions Bot commented Nov 28, 2025

Copy link
Copy Markdown

Size Change: 0 B 🆕

Total Size: 0 B

compressed-size-action

@netlify

netlify Bot commented Nov 28, 2025

Copy link
Copy Markdown

Deploy Preview for tourmaline-kringle-c98715 canceled.

Name Link
🔨 Latest commit 54d5522
🔍 Latest deploy log https://app.netlify.com/projects/tourmaline-kringle-c98715/deploys/6929324dcf994f0008a8e3b9

@captbaritone
captbaritone force-pushed the consolidate-eslint-configs branch 4 times, most recently from f1aaf4d to 7717fdd Compare November 28, 2025 04:00
Move general-purpose lint rules from packages/webamp/.eslintrc to the root
.eslintrc so they apply to all packages consistently. This includes:

- Core JavaScript best practices (no-var, prefer-const, eqeqeq, etc.)
- TypeScript-specific rules (@typescript-eslint/no-unused-vars with patterns)
- Prettier integration

Package-specific configs now only contain rules unique to their needs:
- webamp: React, import, and react-hooks plugin rules
- skin-database: Extends @typescript-eslint/recommended, disables rules that
  conflict with existing code style
- webamp-modern: Unchanged (has root: true for isolation)

Also fixes lint errors in skin-database:
- Consolidate duplicate imports in App.js and Feedback.js
- Add radix parameter to parseInt
- Prefix unused function parameters with underscore
- Convert var to let/const
- Fix type import for Shooter
@captbaritone
captbaritone force-pushed the consolidate-eslint-configs branch from 7717fdd to 54d5522 Compare November 28, 2025 05:25
@captbaritone
captbaritone merged commit 1da77a6 into master Nov 28, 2025
9 checks passed
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