Skip to content

Conversation

@Tim020
Copy link
Contributor

@Tim020 Tim020 commented Jan 7, 2026

Summary

This PR addresses two GitHub issues with a comprehensive upgrade:

Key Changes

Vite Upgrade (4.5.5 → 7.3.0)

  • Fixes existing Vitest 4.0.16 peer dependency incompatibility
  • Enhanced build configuration with explicit esbuild minification
  • Improved dependency optimization with explicit includes/excludes
  • Maintained existing manual chunking strategy (6 vendor chunks)

ESLint Upgrade (8.x → 9.x)

  • Migrated to flat config format (eslint.config.mjs)
  • Removed deprecated plugins: airbnb-base, import, vuejs-accessibility
  • Added required new dependencies: @eslint/js, globals
  • Using flat/vue2-recommended config for Vue 2.7 compatibility

Configuration Updates

  • Added legacy-peer-deps=true to .npmrc for @vitejs/plugin-vue2 compatibility with Vite 7
  • Updated vitest.config.js to remove deprecated poolOptions
  • Removed unused eslint-disable directives from source files

Testing

  • ✅ All 34 tests passing
  • ✅ Build successful with Vite 7
  • ✅ Linting clean (0 errors, 31 warnings about unused directives)
  • ✅ Security review completed - no high-confidence vulnerabilities found

Breaking Changes

None - this is a drop-in upgrade with backward-compatible configuration.

Related Issues

Closes #820
Closes #819

Future Work

Created #826 to track Vite dev server integration with backend proxy configuration.

Test Plan

  • Run npm ci to install dependencies
  • Run npm run build to verify build succeeds
  • Run npm run ci-lint to verify linting passes
  • Run npm run test:run to verify all tests pass
  • Verify no regressions in production build output

🤖 Generated with Claude Code

This comprehensive upgrade addresses two GitHub issues:
- Issue #820: Vite 4.5.5 EOL and security update needs
- Issue #819: ESLint 9 support for Node 24.x

Changes:
- Upgraded Vite 4.5.5 → 7.3.0 with performance optimizations
- Upgraded ESLint 8.x → 9.x with flat config migration
- Fixed existing Vitest 4.0.16 compatibility (requires Vite 6+)
- Migrated from .eslintrc.js to eslint.config.mjs (flat config)
- Added legacy-peer-deps for @vitejs/plugin-vue2 compatibility
- Updated all Vite-related tooling and dependencies
- Removed deprecated ESLint plugins (airbnb-base, import)
- Enhanced build configuration with explicit minification
- Updated vitest.config.js for Vitest 4 compatibility

All tests passing (34 tests), build successful, linting clean.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@github-actions github-actions bot added client Pull requests changing front end code xlarge-diff labels Jan 7, 2026
@github-actions
Copy link

github-actions bot commented Jan 7, 2026

Client Test Results

34 tests   34 ✅  0s ⏱️
 1 suites   0 💤
 1 files     0 ❌

Results for commit 1d50533.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jan 7, 2026

Python Test Results

  1 files    1 suites   19s ⏱️
253 tests 253 ✅ 0 💤 0 ❌
258 runs  258 ✅ 0 💤 0 ❌

Results for commit 1d50533.

♻️ This comment has been updated with latest results.

The .npmrc file contains legacy-peer-deps=true which is required
for installing dependencies with Vite 7 and @vitejs/plugin-vue2.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@Tim020 Tim020 merged commit 24c6950 into dev Jan 7, 2026
18 checks passed
@Tim020 Tim020 deleted the upgrade-vite-7-eslint-9 branch January 7, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client Pull requests changing front end code xlarge-diff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade Vite from v4 to v7 (v4 is EOL) Upgrade ESLint from v8 to v9/10 for official Node 24 support

2 participants