{ "name": "meshtastic-web", "version": "1.0.0", "description": "Meshtastic web client", "license": "GPL-3.0-only", "scripts": { "dev": "vite --host", "build": "tsc && vite build", "preview": "vite preview", "package": "gzipper c -i html,js,css,png,ico,svg,webmanifest,txt dist dist/output && tar -cvf dist/build.tar -C ./dist/output/ $(ls ./dist/output/)", "format": "prettier --write 'src/**/*.{ts,tsx}' && eslint src/*.{ts,tsx}" }, "repository": { "type": "git", "url": "git+https://github.com/meshtastic/meshtastic-web.git" }, "bugs": { "url": "https://github.com/meshtastic/meshtastic-web/issues" }, "homepage": "https://meshtastic.org", "dependencies": { "@emeraldpay/hashicon-react": "^0.5.2", "@headlessui/react": "^1.7.2", "@heroicons/react": "^2.0.11", "@hookform/resolvers": "^2.9.8", "@meshtastic/eslint-config": "^1.0.8", "@meshtastic/meshtasticjs": "^0.6.101", "@tailwindcss/line-clamp": "^0.4.2", "@tailwindcss/typography": "^0.5.7", "base64-js": "^1.5.1", "class-transformer": "^0.5.1", "class-validator": "^0.13.2", "geodesy": "^2.4.0", "immer": "^9.0.15", "mapbox-gl": "npm:empty-npm-package@^1.0.0", "maplibre-gl": "^2.4.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-hook-form": "^7.36.0", "react-icons": "^4.4.0", "react-json-pretty": "^2.2.0", "react-map-gl": "^7.0.19", "react-qrcode-logo": "^2.8.0", "rfc4648": "^1.5.2", "zustand": "4.1.1" }, "devDependencies": { "@types/chrome": "^0.0.197", "@types/geodesy": "^2.2.3", "@types/node": "^18.7.18", "@types/react": "^18.0.20", "@types/react-dom": "^18.0.6", "@types/w3c-web-serial": "^1.0.2", "@types/web-bluetooth": "^0.0.15", "@vitejs/plugin-react": "^2.1.0", "autoprefixer": "^10.4.12", "gzipper": "^7.1.0", "postcss": "^8.4.16", "prettier": "^2.7.1", "prettier-plugin-tailwindcss": "^0.1.13", "rollup-plugin-visualizer": "^5.8.1", "tailwindcss": "^3.1.8", "tar": "^6.1.11", "tslib": "^2.4.0", "typescript": "^4.8.3", "vite": "^3.1.3", "vite-plugin-environment": "^1.1.2" } }