File size: 2,498 Bytes
4a755c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs)
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/)

## React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

```js

export default defineConfig([

  globalIgnores(['dist']),

  {

    files: ['**/*.{ts,tsx}'],

    extends: [

      // Other configs...



      // Remove tseslint.configs.recommended and replace with this

      tseslint.configs.recommendedTypeChecked,

      // Alternatively, use this for stricter rules

      tseslint.configs.strictTypeChecked,

      // Optionally, add this for stylistic rules

      tseslint.configs.stylisticTypeChecked,



      // Other configs...

    ],

    languageOptions: {

      parserOptions: {

        project: ['./tsconfig.node.json', './tsconfig.app.json'],

        tsconfigRootDir: import.meta.dirname,

      },

      // other options...

    },

  },

])

```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js

// eslint.config.js

import reactX from 'eslint-plugin-react-x'

import reactDom from 'eslint-plugin-react-dom'



export default defineConfig([

  globalIgnores(['dist']),

  {

    files: ['**/*.{ts,tsx}'],

    extends: [

      // Other configs...

      // Enable lint rules for React

      reactX.configs['recommended-typescript'],

      // Enable lint rules for React DOM

      reactDom.configs.recommended,

    ],

    languageOptions: {

      parserOptions: {

        project: ['./tsconfig.node.json', './tsconfig.app.json'],

        tsconfigRootDir: import.meta.dirname,

      },

      // other options...

    },

  },

])

```