Skip to content

Conversation

@clord
Copy link
Member

@clord clord commented Oct 21, 2025

This commit upgrades all major dependencies to their latest versions, including several breaking changes that required code modifications:

Major Updates:

React 18 → 19

  • Updated react and react-dom to v19.2.0
  • Updated @types/react and @types/react-dom to v19.2.2
  • Fixed JSX namespace references (JSX.Element → React.JSX.Element)
  • All tests passing with React 19

Tailwind CSS 3 → 4

  • Updated tailwindcss to v4.1.15
  • Migrated from @tailwind directives to @import 'tailwindcss'
  • Switched to @tailwindcss/postcss plugin for PostCSS integration
  • Updated build scripts to use PostCSS CLI instead of Tailwind CLI
  • Added postcss-cli as dev dependency

Headless UI 1 → 2

  • Updated @headlessui/react to v2.2.9
  • Migrated RadioGroup component API:
    • RadioGroup.Label → RadioGroupLabel
    • RadioGroup.Option → Radio
    • RadioGroup.Description → RadioGroupDescription
  • Removed 'active' property from Radio render props (removed in v2)

Vitest 2 → 3

  • Updated vitest, @vitest/ui, and @vitest/coverage-v8 to v3.2.4
  • All 160 tests passing with new version

Biome 1 → 2

  • Updated @biomejs/biome to v2.2.6
  • Fixed configuration: 'include' → 'includes'
  • Applied linter auto-fixes for import types and unused variables

Other Updates:

  • concurrently: 7.x → 9.2.1
  • jsdom: 25.x → 27.0.1
  • @testing-library/react: 14.x → 16.3.0
  • postcss-import: 14.x → 16.1.1
  • postcss-nested: 5.x → 7.0.2
  • postcss-preset-env: 7.x → 10.4.0
  • publint: 0.2.x → 0.3.15
  • @arethetypeswrong/cli: 0.15.x → 0.18.2

Testing:

✅ All 160 tests passing
✅ TypeScript type checking passing
✅ Biome linting passing (0 errors, 0 warnings)
✅ Build successful

🤖 Generated with Claude Code

This commit upgrades all major dependencies to their latest versions,
including several breaking changes that required code modifications:

## Major Updates:

### React 18 → 19
- Updated react and react-dom to v19.2.0
- Updated @types/react and @types/react-dom to v19.2.2
- Fixed JSX namespace references (JSX.Element → React.JSX.Element)
- All tests passing with React 19

### Tailwind CSS 3 → 4
- Updated tailwindcss to v4.1.15
- Migrated from @tailwind directives to @import 'tailwindcss'
- Switched to @tailwindcss/postcss plugin for PostCSS integration
- Updated build scripts to use PostCSS CLI instead of Tailwind CLI
- Added postcss-cli as dev dependency

### Headless UI 1 → 2
- Updated @headlessui/react to v2.2.9
- Migrated RadioGroup component API:
  - RadioGroup.Label → RadioGroupLabel
  - RadioGroup.Option → Radio
  - RadioGroup.Description → RadioGroupDescription
- Removed 'active' property from Radio render props (removed in v2)

### Vitest 2 → 3
- Updated vitest, @vitest/ui, and @vitest/coverage-v8 to v3.2.4
- All 160 tests passing with new version

### Biome 1 → 2
- Updated @biomejs/biome to v2.2.6
- Fixed configuration: 'include' → 'includes'
- Applied linter auto-fixes for import types and unused variables

### Other Updates:
- concurrently: 7.x → 9.2.1
- jsdom: 25.x → 27.0.1
- @testing-library/react: 14.x → 16.3.0
- postcss-import: 14.x → 16.1.1
- postcss-nested: 5.x → 7.0.2
- postcss-preset-env: 7.x → 10.4.0
- publint: 0.2.x → 0.3.15
- @arethetypeswrong/cli: 0.15.x → 0.18.2

## Testing:
✅ All 160 tests passing
✅ TypeScript type checking passing
✅ Biome linting passing (0 errors, 0 warnings)
✅ Build successful

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

Co-Authored-By: Claude <noreply@anthropic.com>
Downgrade jsdom from v27.0.1 to v26.1.0 to resolve webidl-conversions
compatibility issue that was causing test failures in CI.

The error was:
TypeError: Cannot read properties of undefined (reading 'get')
at Object.<anonymous> node_modules/webidl-conversions/lib/index.js:325:94

This is a known compatibility issue with jsdom v27 and certain test
environments. jsdom v26.1.0 is stable and fully compatible with Vitest 3.

Testing:
✅ All 160 tests passing
✅ Coverage report generating successfully
✅ No unhandled errors

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

Co-Authored-By: Claude <noreply@anthropic.com>
@clord clord merged commit 8fabff2 into master Oct 21, 2025
7 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.

3 participants