This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
It uses @vitejs/plugin-react-swc (uses SWC) for Fast Refresh. An alternative is @vitejs/plugin-react uses Babel for Fast Refresh.
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level
parserOptions
property like this:
export default {
// other rules...
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
project: ["./tsconfig.json", "./tsconfig.node.json"],
tsconfigRootDir: __dirname,
},
};
- Replace
plugin:@typescript-eslint/recommended
toplugin:@typescript-eslint/recommended-type-checked
orplugin:@typescript-eslint/strict-type-checked
- Optionally add
plugin:@typescript-eslint/stylistic-type-checked
- Install eslint-plugin-react and add
plugin:react/recommended
&plugin:react/jsx-runtime
to theextends
list
TypeScript is complaining in the jsx part of .tsx files
Solution:
- Use project's typescript version
- Restart language service
- explicitly re-compile project