{
  "name": "meshtastic-web",
  "version": "2.6.6-0",
  "type": "module",
  "description": "Meshtastic web client",
  "license": "GPL-3.0-only",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/meshtastic/web.git"
  },
  "bugs": {
    "url": "https://github.com/meshtastic/web/issues"
  },
  "homepage": "https://meshtastic.org",
  "scripts": {
    "preinstall": "npx only-allow pnpm",
    "setup:certs": "mkcert localhost 127.0.0.1 ::1",
    "build": "vite build",
    "build:analyze": "BUNDLE_ANALYZE=true pnpm run build",
    "lint": "oxlint",
    "lint:fix": "oxlint --fix",
    "format": "oxfmt --check .",
    "format:fix": "oxfmt .",
    "check": "pnpm lint && pnpm format",
    "check:fix": "pnpm lint:fix && pnpm format:fix",
    "dev": "vite",
    "dev:https": "USE_HTTPS=true vite",
    "test": "vitest",
    "typecheck": "pnpm run tsc --noEmit",
    "preview": "vite preview",
    "docker:build": "docker build -t meshtastic-web:latest -f ./infra/Containerfile .",
    "package": "gzipper c -i html,js,css,png,ico,svg,json,webmanifest,txt dist dist/output && tar -cvf dist/build.tar -C ./dist/output/ ."
  },
  "dependencies": {
    "@hookform/resolvers": "^5.2.2",
    "@meshtastic/core": "workspace:*",
    "@meshtastic/transport-http": "workspace:*",
    "@meshtastic/transport-web-bluetooth": "workspace:*",
    "@meshtastic/transport-web-serial": "workspace:*",
    "@noble/curves": "^1.9.2",
    "@preact/signals-core": "^1.8.0",
    "better-result": "^1.0.0",
    "@radix-ui/react-accordion": "^1.2.13",
    "@radix-ui/react-alert-dialog": "^1.1.15",
    "@radix-ui/react-checkbox": "^1.3.3",
    "@radix-ui/react-dialog": "^1.1.15",
    "@radix-ui/react-dropdown-menu": "^2.1.16",
    "@radix-ui/react-label": "^2.1.7",
    "@radix-ui/react-menubar": "^1.1.17",
    "@radix-ui/react-popover": "^1.1.15",
    "@radix-ui/react-scroll-area": "^1.2.10",
    "@radix-ui/react-select": "^2.2.6",
    "@radix-ui/react-separator": "^1.1.7",
    "@radix-ui/react-slider": "^1.3.6",
    "@radix-ui/react-switch": "^1.2.6",
    "@radix-ui/react-tabs": "^1.1.13",
    "@radix-ui/react-toast": "^1.2.15",
    "@radix-ui/react-toggle-group": "^1.1.11",
    "@radix-ui/react-tooltip": "^1.2.8",
    "@radix-ui/react-visually-hidden": "^1.2.3",
    "@tailwindcss/vite": "^4.1.14",
    "@tanstack/react-router": "^1.170.15",
    "@tanstack/react-router-devtools": "^1.167.0",
    "@tanstack/router-cli": "^1.167.17",
    "@tanstack/router-devtools": "^1.167.0",
    "@turf/turf": "^7.2.0",
    "@types/node": "^24.7.0",
    "@types/web-bluetooth": "^0.0.21",
    "base64-js": "^1.5.1",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "cmdk": "^1.1.1",
    "crypto-random-string": "^5.0.0",
    "i18next": "^26.3.1",
    "i18next-browser-languagedetector": "^8.2.0",
    "i18next-http-backend": "^4.0.0",
    "idb-keyval": "^6.2.2",
    "immer": "^11.1.8",
    "js-cookie": "^3.0.7",
    "lucide-react": "^1.17.0",
    "maplibre-gl": "5.8.0",
    "react": "^19.2.0",
    "react-dom": "^19.2.0",
    "react-error-boundary": "^6.0.0",
    "react-hook-form": "^7.78.0",
    "react-i18next": "^17.0.8",
    "react-map-gl": "8.1.0",
    "react-qrcode-logo": "^4.0.0",
    "rfc4648": "^1.5.4",
    "vite": "^7.3.5",
    "vite-plugin-html": "^3.2.2",
    "vite-plugin-pwa": "^1.3.0",
    "zod": "^4.1.12",
    "zustand": "5.0.8"
  },
  "devDependencies": {
    "@tanstack/router-plugin": "^1.168.18",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.0",
    "@testing-library/user-event": "^14.6.1",
    "@types/chrome": "^0.1.22",
    "@types/geojson": "^7946.0.16",
    "@types/js-cookie": "^3.0.6",
    "@types/react": "^19.2.1",
    "@types/react-dom": "^19.2.0",
    "@types/serviceworker": "^0.0.158",
    "@types/w3c-web-serial": "^1.0.8",
    "@vitejs/plugin-basic-ssl": "^2.1.0",
    "@vitejs/plugin-react": "^5.0.4",
    "autoprefixer": "^10.4.21",
    "gzipper": "^8.2.1",
    "happy-dom": "^20.8.9",
    "oxfmt": "^0.16.0",
    "oxlint": "^1.41.0",
    "tailwind-merge": "^3.3.1",
    "tailwindcss": "^4.1.14",
    "tailwindcss-animate": "^1.0.7",
    "tar": "^7.5.16",
    "testing-library": "^0.0.2",
    "typescript": "^5.9.3",
    "vitest": "^4.1.8"
  }
}
