-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
39 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,48 @@ | ||
# React + TypeScript + Vite | ||
# softe.club | ||
|
||
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. | ||
 | ||
|
||
Currently, two official plugins are available: | ||
This is the repo for the Software Engineering Club's website. | ||
|
||
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh | ||
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh | ||
Documentation can be found in `src/articles/docs`, or at https://softe.club/dev/docs. | ||
|
||
## Expanding the ESLint configuration | ||
## Setup | ||
|
||
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: | ||
Download and install node.js version 20. You should do this with [nvm](https://github.com/nvm-sh/nvm#installing-and-updating), in which case you run: | ||
``` | ||
nvm install 20 | ||
nvm use 20 | ||
``` | ||
|
||
Once node is installed, run: | ||
``` | ||
corepack enable | ||
yarn install | ||
``` | ||
|
||
- Configure the top-level `parserOptions` property like this: | ||
to install all dependencies. | ||
|
||
## Run | ||
|
||
To run the project, run: | ||
|
||
```js | ||
export default { | ||
// other rules... | ||
parserOptions: { | ||
ecmaVersion: 'latest', | ||
sourceType: 'module', | ||
project: ['./tsconfig.json', './tsconfig.node.json'], | ||
tsconfigRootDir: __dirname, | ||
}, | ||
} | ||
``` | ||
yarn run dev | ||
``` | ||
|
||
Open the link it shows in your console to view it in the browser. | ||
|
||
- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` | ||
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` | ||
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list | ||
The page will reload if you make edits.<br /> | ||
You will also see any lint errors in the console. | ||
|
||
To test that changes do not break existing components, run: | ||
|
||
``` | ||
yarn test | ||
``` | ||
|
||
To build the production app to be served, run: | ||
|
||
``` | ||
yarn build | ||
``` |