Minimal app: fetch data, list and filter with Ant Design Table. Stack: React 18, TypeScript, Vite, Redux + Redux-Saga, Reselect, Ant Design. Git hooks (Lefthook): pre-commit and pre-push run lint + tests.
Node ≥18, npm ≥9.
git clone https://github.com/espinacs/ant-design-boilerplate
cd ant-design-boilerplate
npm install
npm startOpen http://localhost:8080.
| Command | Description |
|---|---|
npm start |
Dev server (Vite) |
npm run build |
Production build → dist/ |
npm run preview |
Preview production build |
npm run clean |
Remove dist/ |
npm run lint |
ESLint (.ts, .tsx) |
npm test |
Vitest (single run) |
npm run test:watch |
Vitest watch |
npm run coverage |
Coverage report → coverage/ |
- React — UI; Main container + SearchBar + Ant Design Table.
- Redux — Global state.
- Redux-Saga — Async data fetch, dispatches success/error.
- Reselect — Selectors from Redux state (components stay decoupled).
- Ant Design — Components and styling.
Coverage: Vitest + v8; config in vite.config.ts. Report: npm run coverage → open coverage/index.html.
MIT.