{ "private": true, "type": "module", "scripts": { "dev": "vite", "build": "vite build", "start-release": "npm run build && serve dist", "lint": "eslint \"{src,test}/**/*.{ts,tsx}\"", "typecheck": "tsc --noEmit", "test": "tap run", "prebuild": "npm run lint && npm run typecheck && npm run test", "preview": "vite preview" }, "dependencies": { "@dwayneparton/geojson-to-gpx": "^0.0.30", "file-saver": "^2.0.5", "haversine-distance": "^1.2.1", "leaflet": "^1.9.4", "nanoid": "^5.0.3", "preact": "^10.13.1", "sortablejs": "^1.15.0" }, "devDependencies": { "@babel/core": "^7.23.3", "@babel/eslint-parser": "^7.23.3", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-decorators": "^7.23.3", "@babel/plugin-syntax-jsx": "^7.23.3", "@preact/preset-vite": "^2.5.0", "@tsconfig/strictest": "^2.0.2", "@types/file-saver": "^2.0.7", "@types/leaflet": "^1.9.8", "@types/sortablejs": "^1.15.5", "@typescript-eslint/eslint-plugin": "^6.11.0", "@typescript-eslint/parser": "^6.11.0", "eslint": "^8.53.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-compat": "^4.2.0", "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "serve": "^14.2.1", "tap": "^18.6.1", "typescript": "^5.2.2", "vite": "^4.3.2" } }