{ "name": "@trek/client", "version": "4.3.3", "private": true, "type": "module", "scripts": { "dev": "vite", "prebuild": "node scripts/patch-maplibre.mjs && node scripts/generate-icons.mjs", "build": "vite build", "build:analyze": "vite build --mode analyze", "preview": "vite preview", "typecheck": "tsc --noEmit", "test": "vitest run", "test:unit": "vitest run tests/unit", "test:integration": "vitest run tests/integration src/**/*.test.{ts,tsx}", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "lint": "eslint .", "lint:check": "eslint .", "lint:pages": "node scripts/check-page-pattern.mjs", "lint:rtl": "node scripts/rtl-lint.mjs", "check:gl-split": "node scripts/check-gl-split.mjs", "theme:lint": "node scripts/theme-lint.mjs", "theme:lint:strict": "node scripts/theme-lint.mjs --strict", "e2e": "playwright test", "shots": "playwright test --project=screenshots", "help:media": "node e2e/help/run.mjs", "help:media:promote": "node e2e/help/promote.mjs", "shots:promote": "node e2e/screenshots/promote.mjs", "e2e:report": "playwright show-report", "format": "prettier --write \"src/**/*.tsx\" \"src/**/*.css\"", "format:check": "prettier --check \"src/**/*.tsx\" \"src/**/*.css\"", "postinstall": "node scripts/patch-maplibre.mjs", "predev": "node scripts/patch-maplibre.mjs" }, "dependencies": { "@fontsource/bebas-neue": "^5.3.0", "@fontsource/eb-garamond": "^5.3.0", "@fontsource/geist-sans": "^5.3.0", "@fontsource/inter": "^5.3.0", "@fontsource/lora": "^5.3.0", "@fontsource/museomoderno": "^5.3.0", "@fontsource/playfair-display": "^5.3.0", "@fontsource/poppins": "^5.3.0", "@mapbox/mapbox-gl-rtl-text": "^0.4.0", "@maplibre/maplibre-gl-leaflet": "0.1.4", "@simplewebauthn/browser": "^13.3.0", "@trek/shared": "*", "axios": "^1.20.0", "dexie": "^4.4.6", "drag-drop-touch": "^1.3.1", "heic-to": "^1.5.2", "iso-3166-2": "^1.0.0", "leaflet": "^1.9.4", "lucide-react": "^0.577.0", "mapbox-gl": "^3.31.0", "maplibre-gl": "5.24.0", "marked": "^18.0.13", "plyr": "^3.8.4", "react": "^19.3.0", "react-dom": "^19.3.0", "react-dropzone": "^14.4.1", "react-leaflet": "^5.0.0", "react-leaflet-cluster": "^4.1.3", "react-markdown": "^10.1.0", "react-router": "^7.18.4", "rehype-sanitize": "^6.0.0", "remark-breaks": "^4.0.0", "remark-gfm": "^4.0.1", "topojson-client": "^3.1.0", "tz-lookup": "^6.1.25", "zod": "^4.6.5", "zustand": "^5.0.15" }, "devDependencies": { "@eslint/js": "^10.0.1", "@playwright/test": "^1.63.0", "@testing-library/jest-dom": "^6.10.0", "@testing-library/react": "^16.3.3", "@testing-library/user-event": "^14.6.7", "@trivago/prettier-plugin-sort-imports": "^6.0.2", "@types/leaflet": "^1.9.22", "@types/node": "^25.9.8", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^6.1.1", "@vitest/coverage-v8": "^4.1.11", "autoprefixer": "^10.6.1", "eslint": "^10.11.0", "eslint-config-flat-gitignore": "^2.4.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.7", "fake-indexeddb": "^6.2.5", "jsdom": "^29.1.1", "msw": "^2.15.0", "postcss": "^8.5.28", "prettier": "^3.9.8", "prettier-plugin-organize-imports": "^4.3.0", "prettier-plugin-tailwindcss": "^0.8.1", "rollup-plugin-visualizer": "^7.1.1", "sharp": "^0.35.4", "tailwindcss": "^3.4.19", "typescript": "^6.0.3", "typescript-eslint": "^8.70.0", "vite": "8.3.0", "vite-plugin-pwa": "^1.3.0", "vitest": "^4.1.11" } }