Dependencies
Complete list from package.json with purpose.
Production dependencies
| Package | Version | Purpose |
|---|---|---|
react | ^18.2.0 | UI library |
react-dom | ^18.2.0 | DOM rendering |
react-router-dom | ^6.20.1 | Client-side routing |
typescript | ^5.3.2 | Type safety (also used at build) |
@mui/material | ^5.14.20 | Material Design components |
@mui/icons-material | ^5.14.19 | Icon set |
@mui/x-data-grid | ^6.18.2 | Data tables (Assets, Locations, …) |
@emotion/react | ^11.11.1 | CSS-in-JS (MUI dependency) |
@emotion/styled | ^11.11.0 | Styled components |
firebase | ^10.14.1 | Auth, Firestore client SDK |
formik | ^2.4.5 | Form state management |
yup | ^1.3.3 | Schema validation |
date-fns | ^2.30.0 | Date formatting |
recharts | ^2.8.0 | Dashboard & report charts |
xlsx | ^0.18.5 | Excel import/export |
jspdf | ^3.0.2 | PDF generation |
pdf-lib | ^1.17.1 | PDF manipulation (agreements) |
qrcode.react | ^4.2.0 | QR code rendering |
otplib | ^13.4.1 | TOTP MFA |
@passwordless-id/webauthn | ^2.4.0 | Passkey authentication |
react-signature-canvas | ^1.1.0-alpha.2 | Signature capture |
Development dependencies
| Package | Version | Purpose |
|---|---|---|
vite | ^5.0.5 | Build tool & dev server |
@vitejs/plugin-react | ^4.2.0 | React support for Vite |
eslint | ^8.54.0 | Linting |
@typescript-eslint/eslint-plugin | ^6.13.1 | TS ESLint rules |
@typescript-eslint/parser | ^6.13.1 | TS parser for ESLint |
eslint-plugin-react-hooks | ^4.6.0 | Hooks lint rules |
eslint-plugin-react-refresh | ^0.4.4 | Fast refresh lint |
firebase-admin | ^14.1.0 | Admin scripts (dev tooling) |
NPM scripts
{
"dev": "vite",
"build": "tsc && vite build",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
}
Version policy
- Pin major versions in
package.jsonwith^for minor updates - Run
npm auditperiodically - Test
npm run buildafter dependency upgrades
Installing a specific version
npm install firebase@10.14.1
npm install @mui/material@5.14.20