{
    "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"
    }
}
