React Web Starter
Starter Project for React using TypeScript with all boring stuff already set.
npm init react-ts-web-starter
This project is also intended to serve as a learning experience for React and its ecosystem and to explore modern frontend tools and practices.
www.npmjs.com/package/create-react-ts-web-starter
Quick Overview
A new React project can be bootstrapped using this repository as a template using the following command:
npm init react-ts-web-starter
Without parameters, the project will be created on a folder my-app in the same directory where you executed the command.
All parameters available:
--destination=<FOLDER_DESTINATION> Defaults to the current directory
--app=<APP_NAME> Defaults to my-app
The final folder will the parameter destination
concatenated with parameter app
.
Getting Started
Dependencies
Yarn 2 is the project package manager.
Run the following command to install dependencies and prepare the environment with Git hooks:
yarn
Running the Dev Server
yarn start
Running With Docker Compose
make up
Building
yarn build
Serving Dist Content with Nginx
make dist
Configurations
WebPack is the module bundler used here.
Some build configurations can be changed using environment variables. These variable can also be set using DotEnv. Just place a .env on project and modify the values
you want.
Check this Joi schema to see all variables, and their respect default and allowed values.
Test
Jest and Playwright are the testing frameworks for this project.
Check the jest.config.ts and playwright.config.ts configuration files.
Linters and Code Style
Mix of tools used to ensure code and commit style and best practices:
- ESLint
- Prettier
- Stylelint
- Commitlint
- Lint Staged
- Husky
CI
- Github Actions for continuous integration
- Codecov for test coverage reports
- Codacy and CodeClimate for code analysis
Additional Tools
Check the Makefile for some useful commands.
Execute make
to show the help.