Skip to main content

Dependencies

Complete list from package.json with purpose.

Production dependencies

PackageVersionPurpose
react^18.2.0UI library
react-dom^18.2.0DOM rendering
react-router-dom^6.20.1Client-side routing
typescript^5.3.2Type safety (also used at build)
@mui/material^5.14.20Material Design components
@mui/icons-material^5.14.19Icon set
@mui/x-data-grid^6.18.2Data tables (Assets, Locations, …)
@emotion/react^11.11.1CSS-in-JS (MUI dependency)
@emotion/styled^11.11.0Styled components
firebase^10.14.1Auth, Firestore client SDK
formik^2.4.5Form state management
yup^1.3.3Schema validation
date-fns^2.30.0Date formatting
recharts^2.8.0Dashboard & report charts
xlsx^0.18.5Excel import/export
jspdf^3.0.2PDF generation
pdf-lib^1.17.1PDF manipulation (agreements)
qrcode.react^4.2.0QR code rendering
otplib^13.4.1TOTP MFA
@passwordless-id/webauthn^2.4.0Passkey authentication
react-signature-canvas^1.1.0-alpha.2Signature capture

Development dependencies

PackageVersionPurpose
vite^5.0.5Build tool & dev server
@vitejs/plugin-react^4.2.0React support for Vite
eslint^8.54.0Linting
@typescript-eslint/eslint-plugin^6.13.1TS ESLint rules
@typescript-eslint/parser^6.13.1TS parser for ESLint
eslint-plugin-react-hooks^4.6.0Hooks lint rules
eslint-plugin-react-refresh^0.4.4Fast refresh lint
firebase-admin^14.1.0Admin 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.json with ^ for minor updates
  • Run npm audit periodically
  • Test npm run build after dependency upgrades

Installing a specific version

npm install firebase@10.14.1
npm install @mui/material@5.14.20