| 1 |
# React + TypeScript + Vite |
| 2 |
|
| 3 |
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. |
| 4 |
|
| 5 |
Currently, two official plugins are available: |
| 6 |
|
| 7 |
- [](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [](https://babeljs.io/Babel](https://babeljs.io/](https://babeljs.io/) for Fast Refresh |
| 8 |
- [](https://github.com/vitejs/vite-plugin-react-swc@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [](https://swc.rs/SWC](https://swc.rs/](https://swc.rs/) for Fast Refresh |
| 9 |
|
| 10 |
## Expanding the ESLint configuration |
| 11 |
|
| 12 |
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: |
| 13 |
|
| 14 |
- Configure the top-level `parserOptions` property like this: |
| 15 |
|
| 16 |
```js |
| 17 |
export default { |
| 18 |
// other rules... |
| 19 |
parserOptions: { |
| 20 |
ecmaVersion: 'latest', |
| 21 |
sourceType: 'module', |
| 22 |
project: ['./tsconfig.json', './tsconfig.node.json'], |
| 23 |
tsconfigRootDir: __dirname, |
| 24 |
}, |
| 25 |
} |
| 26 |
``` |
| 27 |
|
| 28 |
- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` |
| 29 |
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` |
| 30 |
- Install [](https://github.com/jsx-eslint/eslint-plugin-reacteslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list |
| 31 |
|