{ "name": "beacon", "private": true, "version": "0.0.1-alpha.7", "type": "module", "scripts": { "dev": "vite --host 0.0.0.0", "build": "tsc && vite build", "preview": "vite preview", "clean": "rm -rf dist", "analyze": "vite-bundle-visualizer --open", "lint": "eslint .", "lint:fix": "eslint . --fix", "test": "vitest --run", "test:preview": "vite preview --outDir test/vitest", "test:watch": "vitest", "supabase:reset": "tsx scripts/reset.ts", "supabase:start": "tsx scripts/start.ts", "supabase:stop": "supabase stop", "supabase:status": "supabase status", "supabase:schema": "tsx scripts/schema.ts" }, "dependencies": { "@hcaptcha/react-hcaptcha": "^1.10.1", "@hookform/resolvers": "^3.9.0", "@ionic/react": "^8.2.4", "@ionic/react-router": "^8.2.2", "@ionic/storage": "^4.0.0", "@sentry/browser": "^8.9.2", "@supabase/sentry-js-integration": "^0.2.0", "@supabase/supabase-js": "^2.45.0", "@types/humanize-duration": "^3.27.4", "@types/leaflet": "^1.9.12", "@types/lodash-es": "^4.17.12", "@types/luxon": "^3.4.2", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@types/react-router-dom": "^5.3.3", "@unocss/preset-wind": "^0.61.0", "@unocss/transformer-directives": "^0.61.0", "@vitejs/plugin-legacy": "^5.4.1", "@vitejs/plugin-react": "^4.3.1", "blurhash": "^2.0.5", "colord": "^2.9.3", "dotenv": "^16.4.5", "execa": "^9.3.0", "hast-util-sanitize": "^5.0.1", "humanize-duration": "^3.32.1", "ionicons": "^7.4.0", "leaflet": "^1.9.4", "lodash-es": "^4.17.21", "luxon": "^3.4.4", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hook-form": "^7.52.0", "react-leaflet": "^4.2.1", "react-markdown": "^9.0.1", "react-router-dom": "^5.3.4", "react-use": "^17.5.0", "rehype-raw": "^7.0.0", "rehype-sanitize": "^6.0.0", "remark-gfm": "^4.0.0", "tsx": "^4.15.5", "typescript": "^5.4.5", "unocss": "^0.61.0", "virtua": "^0.33.2", "vite": "^5.3.3", "vite-plugin-ejs": "^1.7.0", "vite-plugin-pwa": "^0.20.0", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^4.3.2", "zod": "^3.23.8", "zustand": "^4.5.2" }, "devDependencies": { "@limegrass/eslint-plugin-import-alias": "^1.4.1", "@typescript-eslint/eslint-plugin": "^7.13.0", "@typescript-eslint/parser": "^7.18.0", "@vitest/coverage-v8": "^1.6.0", "@vitest/ui": "^1.6.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsdoc": "^48.2.12", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-react": "^7.34.2", "eslint-plugin-simple-import-sort": "^12.1.0", "eslint-plugin-unicorn": "^55.0.0", "prettier": "^3.3.2", "prettier-plugin-multiline-arrays": "^3.0.6", "supabase": "^1.178.2", "vite-bundle-visualizer": "^1.2.1", "vitest": "^1.6.0" } }