Files
miracles_in_motion/package.json
T
defiQUGandCursor 5c465d176e Institutional A-grade nav logo: SVG lockups, WCAG audit, and deploy hygiene.
Add transparent nav SVG assets with raster fallbacks, header contrast and focus fixes, automated a11y audit scripts, and evidence reports for institutional review.

Co-authored-by: Cursor <[email protected]>
2026-06-15 19:06:00 -07:00

102 lines
3.5 KiB
JSON

{
"name": "miracles-in-motion-web",
"private": true,
"version": "1.0.0",
"type": "module",
"description": "Public website for Miracles In Motion 501(c)3 non-profit organization",
"scripts": {
"dev": "vite",
"brand:export": "bash scripts/brand/export-brand-assets.sh",
"prebuild": "npm run brand:export",
"build": "tsc && vite build",
"test": "vitest run",
"test:watch": "vitest",
"a11y:header-audit": "node scripts/a11y/audit-header-wcag.mjs",
"a11y:header-audit:live": "node scripts/a11y/audit-header-wcag.mjs --lighthouse",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"prepreview": "npm run build",
"preview": "vite preview",
"deploy": "npm run build && gh-pages -d dist",
"diagram:png": "node scripts/export-architecture.mjs --format=png",
"diagram:svg": "node scripts/export-architecture.mjs --format=svg",
"docs:index": "node scripts/generate-doc-index.mjs",
"docs:refresh": "npm run docs:index && npm run diagram:png",
"lighthouse": "npx lighthouse https://mim4u.org --output=html --output-path=./lighthouse-report.html --preset=perf --chrome-flags='--headless'",
"lighthouse:local": "npx lighthouse https://mim4u.org --output=html --output-path=./lighthouse-report.html --preset=perf"
},
"keywords": [
"non-profit",
"charity",
"501c3",
"miracles-in-motion",
"community",
"donations",
"volunteers",
"react",
"vite",
"tailwind"
],
"author": "Miracles In Motion",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/Miracles-In-Motion/public-web.git"
},
"homepage": "https://mim4u.org",
"dependencies": {
"@fontsource/inter": "^5.2.8",
"@fontsource/playfair-display": "^5.2.8",
"@react-three/fiber": "^8.16.8",
"@stripe/react-stripe-js": "^2.8.1",
"@stripe/stripe-js": "^4.7.0",
"@tanstack/react-query": "^5.59.20",
"@tensorflow/tfjs": "^4.22.0",
"@testing-library/dom": "^10.4.1",
"@types/node": "^24.6.2",
"date-fns": "^4.1.0",
"framer-motion": "^11.11.17",
"framer-motion-3d": "^11.5.6",
"i18next": "^25.5.3",
"i18next-browser-languagedetector": "^8.2.0",
"i18next-http-backend": "^3.0.2",
"lucide-react": "^0.446.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^16.0.0",
"react-query": "^3.39.3",
"recharts": "^3.2.1",
"socket.io-client": "^4.8.1",
"three": "^0.180.0",
"zustand": "^5.0.8"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.10",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/jest": "^30.0.0",
"@types/react": "^18.3.25",
"@types/react-dom": "^18.3.7",
"@types/react-helmet-async": "^1.0.1",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"@vitejs/plugin-react": "^4.7.0",
"@vitest/ui": "^3.2.4",
"autoprefixer": "^10.4.16",
"eslint": "^8.57.1",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-refresh": "^0.4.4",
"gh-pages": "^6.0.0",
"jsdom": "^27.0.0",
"postcss": "^8.4.31",
"react-helmet-async": "^2.0.5",
"tailwindcss": "^3.4.18",
"terser": "^5.44.0",
"typescript": "^5.6.3",
"vite": "^7.1.9",
"vite-bundle-analyzer": "^1.2.3",
"vite-plugin-pwa": "^1.0.3",
"vitest": "^3.2.4"
}
}