|
1 |
| -# react-typescript-eslint-webpack |
2 |
| -Webpack template for a React app with TypeScript and ESLint |
| 1 | +# React-Typescript-Eslint-Webpack Template |
| 2 | + |
| 3 | +This is a template for a React application built with TypeScript and Webpack. |
| 4 | + |
| 5 | +## Features |
| 6 | + |
| 7 | +- **TypeScript**: The project is written in TypeScript, which provides static type checking and improved developer experience. |
| 8 | +- **Webpack**: The project uses Webpack as the bundler, allowing for easy configuration and optimization. |
| 9 | +- **Linting and Formatting**: The project uses ESLint and Prettier to enforce code style and quality. |
| 10 | +- **Husky and Lint-Staged**: Git hooks are set up to run linting and formatting on staged files before committing. |
| 11 | + |
| 12 | +## Getting Started |
| 13 | + |
| 14 | +1. Clone the repository: |
| 15 | + |
| 16 | + ```bash |
| 17 | + git clone https://github.com/your-username/my-app.git |
| 18 | + ``` |
| 19 | + |
| 20 | +2. Install dependencies: |
| 21 | + |
| 22 | + ```bash |
| 23 | + cd my-app |
| 24 | + npm install |
| 25 | + ``` |
| 26 | + |
| 27 | +3. Start the development server: |
| 28 | + |
| 29 | + ```bash |
| 30 | + npm start |
| 31 | + ``` |
| 32 | + |
| 33 | + This will start the Webpack development server and open the application in your default browser. |
| 34 | + |
| 35 | +## Scripts |
| 36 | + |
| 37 | +- `npm start`: Starts the Webpack development server. |
| 38 | +- `npm build`: Builds the production-ready bundle. |
| 39 | +- `npm lint`: Runs ESLint on the `src` directory. |
| 40 | +- `npm lint:fix`: Runs ESLint with the `--fix` option to automatically fix linting issues. |
| 41 | +- `npm prettify`: Runs Prettier to format the code in the `src` directory. |
| 42 | +- `npm check`: Runs the TypeScript compiler to check for type errors. |
| 43 | + |
| 44 | +## Dependencies |
| 45 | + |
| 46 | +- `react`: ^17.0.1 |
| 47 | +- `react-dom`: ^17.0.1 |
| 48 | + |
| 49 | +## Development Dependencies |
| 50 | + |
| 51 | +- `@babel/core`: ^7.24.5 |
| 52 | +- `@babel/plugin-transform-runtime`: ^7.24.3 |
| 53 | +- `@babel/preset-env`: ^7.24.5 |
| 54 | +- `@babel/preset-react`: ^7.24.1 |
| 55 | +- `@babel/preset-typescript`: ^7.24.1 |
| 56 | +- `@babel/runtime`: ^7.24.5 |
| 57 | +- `@types/node`: ^20.12.12 |
| 58 | +- `@types/react`: ^18.3.2 |
| 59 | +- `@types/react-dom`: ^18.3.0 |
| 60 | +- `@types/webpack`: ^5.28.5 |
| 61 | +- `@typescript-eslint/eslint-plugin`: ^7.9.0 |
| 62 | +- `@typescript-eslint/parser`: ^7.9.0 |
| 63 | +- `babel-loader`: ^9.1.3 |
| 64 | +- `clean-webpack-plugin`: ^4.0.0 |
| 65 | +- `css-loader`: ^7.1.1 |
| 66 | +- `eslint`: 8.57.0 |
| 67 | +- `eslint-config-prettier`: ^9.1.0 |
| 68 | +- `eslint-plugin-prettier`: ^5.1.3 |
| 69 | +- `eslint-plugin-react`: ^7.34.1 |
| 70 | +- `eslint-plugin-react-hooks`: ^4.6.2 |
| 71 | +- `eslint-plugin-sonarjs`: ^1.0.3 |
| 72 | +- `eslint-webpack-plugin`: ^4.1.0 |
| 73 | +- `fork-ts-checker-webpack-plugin`: ^9.0.2 |
| 74 | +- `html-webpack-plugin`: ^5.6.0 |
| 75 | +- `husky`: ^9.0.11 |
| 76 | +- `lint-staged`: ^15.2.2 |
| 77 | +- `prettier`: ^3.2.5 |
| 78 | +- `style-loader`: ^4.0.0 |
| 79 | +- `ts-node`: ^10.9.2 |
| 80 | +- `typescript`: ^5.4.5 |
| 81 | +- `webpack`: ^5.91.0 |
| 82 | +- `webpack-cli`: ^5.1.4 |
| 83 | +- `webpack-dev-server`: ^5.0.4 |
| 84 | + |
| 85 | +## License |
| 86 | + |
| 87 | +This project is licensed under the [MIT License](LICENSE). |
0 commit comments