Skip to content

5.3.0

Latest

Choose a tag to compare

@bstaruk bstaruk released this 25 Apr 13:21
16c4d8d

Summary

Major toolchain modernization: the template now ships on Vite 8, TypeScript 6, and ESLint 10, with companion bumps across React, TanStack, and Tailwind. ESLint config moves to eslint-plugin-import-x (a maintained fork of eslint-plugin-import with ESLint 10 support), and the Fast Refresh rule is relaxed inside src/routes/** so TanStack Router's co-located Route exports stop tripping react-refresh/only-export-components.

Changelog

Features

  • template: upgrade to Vite 8 (vite@^8.0.10, @vitejs/plugin-react@^6.0.1)
  • template: upgrade to TypeScript 6 (typescript@~6.0.2, typescript-eslint@^8.58.2)
  • template: upgrade to ESLint 10 (eslint@^10.2.1, @eslint/js@^10.0.1, globals@^17.5.0)
  • template: bump TanStack — react-query@^5.100.3, react-router@^1.168.24, router-plugin@^1.167.26, eslint-plugin-query@^5.100.3
  • template: bump React to 19.2.5 and Tailwind to 4.2.4
  • template: bump React ESLint plugins — eslint-plugin-react-x@^4.2.3, eslint-plugin-react-dom@^4.2.3, eslint-plugin-react-hooks@^7.1.1, eslint-plugin-react-refresh@^0.5.2

Fixes

  • template: disable react-refresh/only-export-components for src/routes/**/*.tsx so TanStack Router's file-based routes don't fight Fast Refresh

Refactors

  • template: replace eslint-plugin-import with eslint-plugin-import-x for ESLint 10 compatibility (import/orderimport-x/order, import/no-duplicatesimport-x/no-duplicates)
  • template: drop eslint-plugin-jsx-a11y (no ESLint 10 support upstream)
  • template: modernize vite.config.ts to use import.meta.dirname instead of __dirname
  • template: simplify tsconfig.app.json and tsconfig.node.json — drop strict, useDefineForClassFields, baseUrl, and noUncheckedSideEffectImports now that they're TS 6 defaults; bump target/lib to ES2023; rewrite paths as relative

Docs

  • commands: add Step 4 "Fork revert checks" to update-deps, tracking eslint-plugin-import-x so it can be reverted to upstream once eslint-plugin-import ships ESLint 10 support