Skip to content

Conversation

nopcoder
Copy link
Contributor

@nopcoder nopcoder commented Aug 26, 2025

Upgrade Vite to 7.x and Fix ESLint Issues

Summary

  • Upgraded Vite build tool from 5.4.8 to 7.1.3 (latest)
  • Migrated ESLint from v8 to v9 with flat config format
  • Fixed 60+ ESLint errors and warnings for better code quality
  • Ensured build fails on ESLint errors (as intended)

Key Changes

Vite Upgrade:

  • ✅ Vite: 5.4.8 → 7.1.3
  • ✅ TypeScript: 5.3.3 → 5.9.2
  • ✅ Removed deprecated splitVendorChunkPlugin
  • ✅ Added manual chunk configuration
  • ✅ Eliminated TypeScript deprecation warnings

ESLint Modernization:

  • ✅ ESLint: 8.57.1 → 9.34.0
  • ✅ Migrated from .eslintrc to eslint.config.js (flat config)
  • ✅ Updated TypeScript ESLint packages to latest compatible versions
  • ✅ Configured build to fail on ESLint errors

Code Quality Fixes:

  • ✅ Fixed missing key props in JSX arrays (16 files)
  • ✅ Removed accessibility-blocking autoFocus attributes (8+ files)
  • ✅ Fixed React Hooks rules violations in ObjectsDiff component
  • ✅ Converted anchor elements to proper buttons where appropriate
  • ✅ Fixed conditional hook calls and other React best practices

Verification

Build Status: ❌ Correctly fails on remaining ESLint errors (12 remaining)
Tests: ✅ All 13 tests pass
TypeScript: ✅ No compilation errors or deprecation warnings

Remaining Work

  • 12 ESLint errors remain in complex components (objects.jsx, metadata.tsx)
  • These involve conditional React Hooks that need careful refactoring
  • Build properly blocks on these errors until resolved

@nopcoder nopcoder self-assigned this Aug 26, 2025
@nopcoder nopcoder added area/UI Improvements or additions to UI infrastructure build, deploy and release processes labels Aug 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/UI Improvements or additions to UI infrastructure build, deploy and release processes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant