{ "name": "thingport-frontend", "private": true, "version": "1.1.0", "license": "AGPL-3.0-only", "type": "module", "scripts": { "dev": "vite --host", "build": "vite build", "preview": "vite preview", "typecheck": "tsc --noEmit", "test": "vitest", "test:run": "vitest run --passWithNoTests", "lint": "oxlint .", "i18n:check": "node scripts/i18n-check.mjs", "verify": "npm run typecheck && npm run lint && npm run test:run && npm run build" }, "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", "@mui/icons-material": "^6.5.0", "@mui/material": "^6.5.0", "@tanstack/react-virtual": "3.14.21", "fflate": "0.8.3", "i18next": "^23.16.8", "i18next-browser-languagedetector": "^8.2.1", "occt-import-js": "0.0.23", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^15.7.4", "react-markdown": "^10.1.0", "react-router-dom": "^6.30.6", "remark-breaks": "^4.0.0", "remark-gfm": "^4.0.1", "three": "^0.186.1" }, "devDependencies": { "@types/react": "^18.3.31", "@types/react-dom": "^18.3.7", "@types/three": "^0.186.0", "oxlint": "^1.88.0", "typescript": "5.9.3", "vite": "^6.4.4", "vitest": "4.1.12" }, "allowScripts": { "esbuild": true, "fsevents": false } }