1.0.0 • Published 1 year ago

react-ts-vite-template v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

React + TypeScript + Vite Boilerplate

A frontend boilerplate for single-page applications.

Requirements

Installed packages

  • Vite 5
  • React 18
  • TypeScript
  • React Router 6
  • Linting, Formatting & Git hook
    • ESLint
    • Prettier
    • Husky
    • Lint-Staged
  • UI
    • styled-components
  • Translation: i18next, react-i18next, i18next-browser-languagedetector
  • Testing
    • Vitest
    • React Testing Library: @testing-library/react, @testing-library/jest-dom, @testing-library/user-event

Feel free to install or remove packages as you prefer. Make sure to update packages to the latest version manually when needed.

How to use

Initialize

Remove the .git folder

rm -rf .git

Init a new git repository

git init

Install dependencies

nvm use
npm install

Remove bin in root directory.

Cleanup package.json with new configurations

{
  "name": "your-app-name",
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    ...
  },
  "dependencies": {
    ...
  },
  "devDependencies": {
    ...
  },
  "lint-staged": {
    ...
  },
}

Start dev server

npm run dev

Dev server will start automatically at http://localhost:8080.

Preview production build

npm run build
npm run preview

Run testing

npm run test

File Structure

Folders/Files

PathDescription
dist/Built files
public/Static files that will be copied as-is to /dist after build process
src/Sources
src/assets/Static assets
src/assets/translation/{lang}.jsonTranslation json files
src/examples/Test examples
src/App.tsxApp component with Providers
src/i18n.tsi18next init file
src/index.cssRoot css
src/main.tsxRoot component
src/test-setup.tsTesting set up file
src/vite-env.d.tsTypeScript global type definitions

Project Configuration

File/Folder NameDescription
.huskyHusky configuration folder
.editorconfigText editor configuration file
.eslintrc.cjsESLint configuration file
.gitignoreGit ignored file list
.npmrcNPM configuration file
.nvmrcNVM configuration file
.prettierrc.cjsPrettier configuration file
tsconfig.jsonTypeScript configuration file
tsconfig.node.jsonTypeScript configuration file for vite.config.ts
vite.config.tsVite configuration file