{ "name": "app", "private": true, "sideEffects": false, "type": "module", "scripts": { "build": "remix vite:build", "dev": "remix vite:dev", "lint": "eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .", "start": "remix-serve ./build/server/index.js", "typecheck": "tsc" }, "dependencies": { "@prisma/client": "^6.8.2", "@remix-run/node": "^2.16.7", "@remix-run/react": "^2.16.7", "@remix-run/serve": "^2.16.7", "@uidotdev/usehooks": "^2.4.1", "@zenstackhq/runtime": "2.15.0", "bootstrap": "^5.3.6", "isbot": "^5.1.28", "jspdf": "^3.0.1", "jspdf-autotable": "^5.0.2", "lodash": "^4.17.21", "react": "^18.2.0", "react-bootstrap": "^2.10.10", "react-chartjs-2": "^5.3.0", "react-dom": "^18.2.0", "react-slider": "^2.0.6", "remix-utils": "^7.7.0", "tsx": "^4.19.4" }, "devDependencies": { "@remix-run/dev": "^2.16.7", "@tailwindcss/forms": "^0.5.10", "@types/lodash": "^4.17.17", "@types/react": "^18.2.20", "@types/react-dom": "^18.2.7", "@types/react-slider": "^1.3.6", "@typescript-eslint/eslint-plugin": "^8.32.1", "@typescript-eslint/parser": "^8.32.1", "eslint": "^9.27.0", "eslint-import-resolver-typescript": "^4.4.1", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "prisma": "^6.8.2", "typescript": "^5.8.3", "vite": "^6.3.5", "vite-tsconfig-paths": "^5.1.4", "zenstack": "^2.15.0" }, "engines": { "node": ">=18.0.0" }, "prisma": { "seed": "tsx prisma/seed.ts" } }