You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
5.3 KiB
132 lines
5.3 KiB
{
|
|
"version": "2.3.3-0",
|
|
"description": "Meshtastic web client",
|
|
"license": "GPL-3.0-only",
|
|
"homepage": "https://meshtastic.org",
|
|
"repository": "https://github.com/meshtastic/web",
|
|
"compilerOptions": {
|
|
"lib": [
|
|
"DOM",
|
|
"DOM.Iterable",
|
|
"ESNext",
|
|
"deno.window",
|
|
"deno.ns"
|
|
],
|
|
"jsx": "react-jsx",
|
|
"strict": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"strictNullChecks": true,
|
|
"strictPropertyInitialization": false,
|
|
"types": [
|
|
"vite/client",
|
|
"@types/node",
|
|
"@types/web-bluetooth",
|
|
"@types/w3c-web-serial"
|
|
]
|
|
},
|
|
"imports": {
|
|
"@app/": "./src/",
|
|
"@pages/": "./src/pages/",
|
|
"@components/": "./src/components/",
|
|
"@core/": "./src/core/",
|
|
"@layouts/": "./src/layouts/",
|
|
|
|
// --- NPM dependencies ---
|
|
"@bufbuild/protobuf": "npm:@bufbuild/protobuf@^2.2.3",
|
|
"@meshtastic/core": "npm:@jsr/[email protected]",
|
|
"@meshtastic/js": "npm:@jsr/[email protected]",
|
|
"@meshtastic/transport-http": "npm:@jsr/meshtastic__transport-http",
|
|
"@meshtastic/transport-web-serial": "npm:@jsr/meshtastic__transport-web-serial",
|
|
"@noble/curves": "npm:@noble/curves@^1.8.1",
|
|
"@radix-ui/react-accordion": "npm:@radix-ui/react-accordion@^1.2.3",
|
|
"@radix-ui/react-checkbox": "npm:@radix-ui/react-checkbox@^1.1.4",
|
|
"@radix-ui/react-dialog": "npm:@radix-ui/react-dialog@^1.1.6",
|
|
"@radix-ui/react-dropdown-menu": "npm:@radix-ui/react-dropdown-menu@^2.1.6",
|
|
"@radix-ui/react-label": "npm:@radix-ui/react-label@^2.1.2",
|
|
"@radix-ui/react-menubar": "npm:@radix-ui/react-menubar@^1.1.6",
|
|
"@radix-ui/react-popover": "npm:@radix-ui/react-popover@^1.1.6",
|
|
"@radix-ui/react-scroll-area": "npm:@radix-ui/react-scroll-area@^1.2.3",
|
|
"@radix-ui/react-select": "npm:@radix-ui/react-select@^2.1.6",
|
|
"@radix-ui/react-separator": "npm:@radix-ui/react-separator@^1.1.2",
|
|
"@radix-ui/react-switch": "npm:@radix-ui/react-switch@^1.1.3",
|
|
"@radix-ui/react-tabs": "npm:@radix-ui/react-tabs@^1.1.3",
|
|
"@radix-ui/react-toast": "npm:@radix-ui/react-toast@^1.2.6",
|
|
"@radix-ui/react-tooltip": "npm:@radix-ui/react-tooltip@^1.1.8",
|
|
"@turf/turf": "npm:@turf/turf@^7.2.0",
|
|
"base64-js": "npm:base64-js@^1.5.1",
|
|
"class-validator": "npm:class-validator@^0.14.1",
|
|
"class-variance-authority": "npm:class-variance-authority@^0.7.1",
|
|
"clsx": "npm:clsx@^2.1.1",
|
|
"cmdk": "npm:cmdk@^1.0.4",
|
|
"crypto-random-string": "npm:crypto-random-string@^5.0.0",
|
|
"immer": "npm:immer@^10.1.1",
|
|
"js-cookie": "npm:js-cookie@^3.0.5",
|
|
"lucide-react": "npm:lucide-react@^0.477.0",
|
|
"maplibre-gl": "npm:[email protected]",
|
|
"react": "npm:react@^19.0.0",
|
|
"react-dom": "npm:react-dom@^19.0.0",
|
|
"react-error-boundary": "npm:react-error-boundary@^5.0.0",
|
|
"react-hook-form": "npm:react-hook-form@^7.54.2",
|
|
"react-map-gl": "npm:[email protected]",
|
|
"react-qrcode-logo": "npm:react-qrcode-logo@^3.0.0",
|
|
"react-scan": "npm:react-scan@^0.2.8",
|
|
"rfc4648": "npm:rfc4648@^1.5.4",
|
|
"vite-plugin-node-polyfills": "npm:vite-plugin-node-polyfills@^0.23.0",
|
|
"zustand": "npm:[email protected]",
|
|
|
|
// --- NPM devDependencies ---
|
|
"@tailwindcss/postcss": "npm:@tailwindcss/postcss@^4.0.9",
|
|
"@testing-library/jest-dom": "npm:@testing-library/jest-dom@^6.6.3",
|
|
"@testing-library/react": "npm:@testing-library/react@^16.2.0",
|
|
"@testing-library/user-event": "npm:@testing-library/user-event@^14.6.1",
|
|
"@types/chrome": "npm:@types/chrome@^0.0.307",
|
|
"@types/js-cookie": "npm:@types/js-cookie@^3.0.6",
|
|
"@types/node": "npm:@types/node@^22.13.7",
|
|
"@types/react": "npm:@types/react@^19.0.10",
|
|
"@types/react-dom": "npm:@types/react-dom@^19.0.4",
|
|
"@types/serviceworker": "npm:@types/serviceworker@^0.0.123",
|
|
"@types/w3c-web-serial": "npm:@types/w3c-web-serial@^1.0.8",
|
|
"@types/web-bluetooth": "npm:@types/web-bluetooth@^0.0.21",
|
|
"@vitejs/plugin-react": "npm:@vitejs/plugin-react@^4.3.4",
|
|
"autoprefixer": "npm:autoprefixer@^10.4.20",
|
|
"gzipper": "npm:gzipper@^8.2.0",
|
|
"happy-dom": "npm:happy-dom@^17.2.2",
|
|
"postcss": "npm:postcss@^8.5.3",
|
|
"simple-git-hooks": "npm:simple-git-hooks@^2.11.1",
|
|
"tailwind-merge": "npm:tailwind-merge@^3.0.2",
|
|
"tailwindcss": "npm:tailwindcss@^4.0.9",
|
|
"tailwindcss-animate": "npm:tailwindcss-animate@^1.0.7",
|
|
"tar": "npm:tar@^7.4.3",
|
|
"testing-library": "npm:testing-library@^0.0.2",
|
|
"typescript": "npm:typescript@^5.8.2",
|
|
"vite": "npm:vite@^6.2.0",
|
|
"vitest": "npm:vitest@^3.0.7",
|
|
"vite-plugin-pwa": "npm:vite-plugin-pwa@^0.21.1"
|
|
},
|
|
"tasks": {
|
|
"install:hooks": "deno run -A npm:simple-git-hooks",
|
|
"build": "vite build",
|
|
"build:analyze": "BUNDLE_ANALYZE=true deno task build",
|
|
"lint": "deno lint src/",
|
|
"lint:fix": "deno lint --fix src/",
|
|
"format": "deno fmt src/",
|
|
"dev": "deno task dev:ui",
|
|
"dev:ui": "deno run -A npm:vite dev",
|
|
"dev:scan": "VITE_DEBUG_SCAN=true deno task dev:ui",
|
|
"test": "deno run -A npm:vitest",
|
|
"preview": "deno run -A npm: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/ ."
|
|
},
|
|
"lint": {
|
|
"files": {
|
|
"include": ["src/"]
|
|
}
|
|
},
|
|
"fmt": {
|
|
"files": {
|
|
"include": ["src/"]
|
|
}
|
|
}
|
|
}
|
|
|