/example__gcp-hosting

Primary LanguageTypeScriptMIT LicenseMIT

Drop-in Replacement for CRA but powered by Vite

Things in CRA, supported here:

  • Import SVG's directly as React Component via SVGR
  • Unit Testing via Jest & React Testing Library
  • ESLint Rules & Prettier
  • Tailwind
  • Absolute imports within src directory

Extra Additions

  • Conventional Commits using Commitlint
  • Run Lint Checks, TS Checks, Formatting & Unit Tests in Pre-commit via lintstaged & husky

Usage (with degit)

degit uchihamalolan/vite-react-ts your-app-name

Tech Stack - Overview

  • Vite
  • React - Typscript
    • react-error-boundary
  • pnpm

Editor Config

  • vscode settings & extension recommendations
  • .editorconfig file

Lint and Formatting

  • Eslint & Prettier Configured
  • Lints
    • react
    • react hooks
    • typescript
    • jsx-a11y

Testing

  • Jest + React Testing Library (plus some plugins)

Styling

  • TailwindCSS v3

Other Recommended Libraries:

Forms

  • React Hook Form
  • Zod (for validations)

CSS-in-js

  • Emotion
  • Complie Time Atomic CSS-in-Js
    • Stylex (Facebook, not Open Source yet)
    • Linaria
    • Compiled (still in beta)

Routing

  • React-Router-Dom
  • React Location

Date Manipulation

  • Dayjs
  • date-fns
  • Luxon

HTTP Client

  • Ky
  • Axios

Global Store (full-blown / lite-version)

  • Redux Toolkit / Zustand
  • Recoil / Jotai
  • Mobx / Valtio
  • xstate / robot

Server State

  • React Query
  • SWR
  • RTKQuery