{ "name": "habittrove", "version": "0.1.4", "private": true, "scripts": { "dev": "next dev --turbopack", "build": "next build", "start": "next start", "lint": "next lint", "docker-build": "docker build -t habittrove .", "docker-run": "docker run -p 3000:3000 -v $(pwd)/data:/app/data habittrove" }, "dependencies": { "@next/font": "^14.2.15", "@radix-ui/react-dialog": "^1.1.4", "@radix-ui/react-label": "^2.1.1", "@radix-ui/react-progress": "^1.1.1", "@radix-ui/react-select": "^2.1.4", "@radix-ui/react-slot": "^1.1.1", "@radix-ui/react-switch": "^1.1.2", "@radix-ui/react-toast": "^1.2.4", "@types/bun": "^1.1.14", "@types/canvas-confetti": "^1.9.0", "@uiw/react-heat-map": "^2.3.2", "canvas-confetti": "^1.9.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "date-fns": "^3.6.0", "js-confetti": "^0.12.0", "lucide-react": "^0.469.0", "moment": "^2.30.1", "moment-timezone": "^0.5.46", "next": "15.1.3", "react": "^19.0.0", "react-confetti": "^6.2.2", "react-day-picker": "^8.10.1", "react-dom": "^19.0.0", "react-markdown": "^9.0.1", "recharts": "^2.15.0", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { "@eslint/eslintrc": "^3", "@tailwindcss/typography": "^0.5.15", "@types/node": "^20.17.10", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", "eslint-config-next": "15.1.3", "eslint-plugin-unused-imports": "^4.1.4", "postcss": "^8", "raw-loader": "^4.0.2", "tailwindcss": "^3.4.1", "typescript": "^5" } }