{ "name": "mechanica", "version": "1.0.0", "private": true, "type": "module", "description": "Mechanical Systems Explorer: a premium interactive 3D learning platform for engines, drives, pumps, mechanisms, and structural systems.", "engines": { "node": ">=20.0.0", "npm": ">=9.0.0" }, "scripts": { "dev": "vite", "build": "tsc -b && vite build", "preview": "vite preview --host 0.0.0.0", "preview:local": "vite preview --host 127.0.0.1", "typecheck": "tsc --noEmit", "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "prettier --write .", "format:check": "prettier --check .", "test": "vitest run --passWithNoTests", "test:watch": "vitest --passWithNoTests", "test:coverage": "vitest run --coverage --passWithNoTests", "test:e2e": "playwright test --pass-with-no-tests", "test:e2e:headed": "playwright test --headed --pass-with-no-tests", "analyze": "vite build --mode analyze", "qa": "npm run typecheck && npm run lint && npm run test:coverage && npm run build" }, "dependencies": { "@react-spring/three": "^9.7.3", "@react-spring/web": "^9.7.3", "@react-three/drei": "^9.109.2", "@react-three/fiber": "^8.16.8", "clsx": "^2.1.1", "framer-motion": "^11.2.12", "gsap": "^3.12.5", "lucide-react": "^0.468.0", "react": "^18.3.1", "react-dom": "^18.3.1", "three": "^0.166.1", "zustand": "^4.5.4" }, "devDependencies": { "@playwright/test": "^1.45.0", "@testing-library/jest-dom": "^6.4.6", "@testing-library/react": "^15.0.7", "@testing-library/user-event": "^14.5.2", "@types/node": "^20.14.9", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^7.15.0", "@typescript-eslint/parser": "^7.15.0", "@vitejs/plugin-react": "^4.3.1", "@vitest/coverage-v8": "^1.6.0", "autoprefixer": "^10.4.19", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.9.0", "eslint-plugin-react": "^7.34.3", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", "jsdom": "^24.1.0", "postcss": "^8.4.39", "prettier": "^3.3.2", "rollup-plugin-visualizer": "^5.12.0", "tailwindcss": "^3.4.4", "typescript": "^5.5.2", "vite": "^5.4.0", "vitest": "^1.6.0" } }