diff --git a/package.json b/package.json index ba0df67..a346c62 100644 --- a/package.json +++ b/package.json @@ -42,13 +42,13 @@ "@deck.gl/core": "^9.2.11", "@deck.gl/layers": "^9.2.11", "@deck.gl/mapbox": "^9.2.11", - "@developmentseed/deck.gl-geotiff": "^0.2.0", + "@developmentseed/deck.gl-geotiff": "^0.4.0", "@devseed-ui/collecticons-chakra": "^4.0.0", "@duckdb/duckdb-wasm": "^1.32.0", "@emotion/react": "^11.13.5", "@geoarrow/deck.gl-layers": "^0.3.0", "@geoarrow/geoarrow-js": "github:smohiudd/geoarrow-js#feature/wkb", - "@tanstack/react-query": "^5.90.21", + "@tanstack/react-query": "^5.95.2", "@turf/bbox": "^7.3.4", "@turf/bbox-polygon": "^7.3.4", "@turf/boolean-valid": "^7.3.4", @@ -56,8 +56,8 @@ "apache-arrow": "^21.1.0", "deck.gl": "^9.2.11", "duckdb-wasm-kit": "^0.1.38", - "geotiff-geokeys-to-proj4": "^2024.4.13", - "maplibre-gl": "^5.20.1", + "lerc": "^4.1.1", + "maplibre-gl": "^5.21.0", "next-themes": "^0.4.3", "react": "^19.2.4", "react-dom": "^19.2.4", diff --git a/src/components/map.tsx b/src/components/map.tsx index c389443..ea03439 100644 --- a/src/components/map.tsx +++ b/src/components/map.tsx @@ -7,7 +7,11 @@ import { collectionToFeature, isGlobalBbox } from "@/utils/stac"; import { type DeckProps, Layer } from "@deck.gl/core"; import { GeoJsonLayer } from "@deck.gl/layers"; import { MapboxOverlay } from "@deck.gl/mapbox"; -import { COGLayer, MosaicLayer, proj } from "@developmentseed/deck.gl-geotiff"; +import { + COGLayer, + epsgResolver, + MosaicLayer, +} from "@developmentseed/deck.gl-geotiff"; import { GeoArrowPathLayer, GeoArrowPolygonLayer, @@ -15,7 +19,6 @@ import { } from "@geoarrow/deck.gl-layers"; import bbox from "@turf/bbox"; import type { Feature, FeatureCollection } from "geojson"; -import { toProj4 } from "geotiff-geokeys-to-proj4"; import "maplibre-gl/dist/maplibre-gl.css"; import { type RefObject, useEffect, useMemo, useRef, useState } from "react"; import { @@ -225,7 +228,7 @@ export default function Map() { new COGLayer({ id: "cog-" + cogHref, geotiff: cogHref, - geoKeysParser, + epsgResolver, }) ); else if (visualizeItems && pagedCogSources && projection === "mercator") @@ -242,7 +245,7 @@ export default function Map() { return new COGLayer({ id: `cog-${source.id}`, geotiff: data, - geoKeysParser, + epsgResolver, signal, }); }, @@ -261,7 +264,7 @@ export default function Map() { return new COGLayer({ id: `cog-${source.id}`, geotiff: data, - geoKeysParser, + epsgResolver, signal, }); }, @@ -357,17 +360,3 @@ function toGeoJson(value: StacValue) { return value as FeatureCollection; } } - -async function geoKeysParser( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - geoKeys: Record -): Promise { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const projDefinition = toProj4(geoKeys as any); - - return { - def: projDefinition.proj4, - parsed: proj.parseCrs(projDefinition.proj4), - coordinatesUnits: projDefinition.coordinatesUnits as proj.SupportedCrsUnit, - }; -} diff --git a/vite.config.ts b/vite.config.ts index f1373f0..ac4be9b 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,18 +1,19 @@ import react from "@vitejs/plugin-react"; import { defineConfig } from "vite"; import { nodePolyfills } from "vite-plugin-node-polyfills"; -import topLevelAwait from "vite-plugin-top-level-await"; import wasm from "vite-plugin-wasm"; import tsconfigPaths from "vite-tsconfig-paths"; // https://vite.dev/config/ export default defineConfig({ base: process.env.VITE_BASE_PATH || "/stac-map/", + worker: { + format: "es", + }, plugins: [ react(), tsconfigPaths(), wasm(), - topLevelAwait(), nodePolyfills({ include: ["buffer"], }), diff --git a/yarn.lock b/yarn.lock index d02edcb..b45480e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -350,6 +350,37 @@ "@pandacss/is-valid-prop" "^1.4.2" csstype "^3.2.3" +"@chunkd/middleware@^11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@chunkd/middleware/-/middleware-11.2.0.tgz#e985fe9a4eff93ad098ec01bf0cec344c1f2b1a3" + integrity sha512-YYPiectjXehGwLbeKyKz0f8lV+lm2RBkroYICIQUxRRR1qDxOVlzxiUTTlkeCpYcBTRL0/lFvpjOWl3JtMQh7g== + dependencies: + "@chunkd/source" "^11.2.0" + +"@chunkd/source-http@^11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@chunkd/source-http/-/source-http-11.2.0.tgz#ef8ba2a40796d8a432d4081ee1e4b82020499f9a" + integrity sha512-LyufrRAx5g0JUxdTGeLx/Vz3XXJOPC3xnv/+VaxLBhbxCaHEE7mxyQsYWjlJwEiO6r1wsNQdtQKG/ZCFqGdSAg== + dependencies: + "@chunkd/source" "^11.2.0" + +"@chunkd/source-memory@^11.0.3": + version "11.0.3" + resolved "https://registry.yarnpkg.com/@chunkd/source-memory/-/source-memory-11.0.3.tgz#7929aab518126f6daee704df8a4bbe02273b7817" + integrity sha512-J8VX4hnWf1yZZOxc822zg0XJtsR+nxN3XdYEqM4AH5Fey/3Nvn1IfKTEFU6v8zz5L/sHaT6IajId4V3WgJrOfA== + dependencies: + "@chunkd/source" "^11.2.0" + +"@chunkd/source@^11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@chunkd/source/-/source-11.2.0.tgz#28f1d4312835ed25457e98b5cc67b0a573aa8298" + integrity sha512-GnxGHpGgvEeU2xuZFbwzJpvqDjEYRwdGKe6u1sQWW7qv6a+OlfM2WnRfeSlk41MNWMH9Xgy3V6/9vrqI3j+w/w== + +"@cogeotiff/core@^9.4.0": + version "9.4.0" + resolved "https://registry.yarnpkg.com/@cogeotiff/core/-/core-9.4.0.tgz#5b0887fdb5cb0bd1474bc1f997ceeef989ee7228" + integrity sha512-2aI7NHN2XMLTJx4LXghhYY2jMyJLJe4rnWTmnA6RuwaYjiZPhLc6PSmzNcaOebtraklucmJHXgfhTi3s+/XVaQ== + "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" @@ -519,31 +550,76 @@ dependencies: preact "^10.17.0" -"@developmentseed/deck.gl-geotiff@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@developmentseed/deck.gl-geotiff/-/deck.gl-geotiff-0.2.0.tgz#9ae42bdd2173b0115dab8fde776240c16994db51" - integrity sha512-X44JtDP7SjOhKGC/ynkTsdphURE87v4rKVcf81DzPxE7rnPZmEtidQFBYsyqYV+aVYFvfvQfX4CZgnDnZV54dw== - dependencies: - "@developmentseed/deck.gl-raster" "^0.2.0" - "@developmentseed/raster-reproject" "^0.2.0" +"@developmentseed/affine@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@developmentseed/affine/-/affine-0.4.0.tgz#186a3848dac67ec1882ffea3470dabd3e38d901d" + integrity sha512-KwsgHIH5vsWG3ehZqIcOKtgd8XbDOpD8hS5u8waLeHITWJmZX2kuwhZz3Won6pR0QXRC9dS4ucbxBLKX/XhLbw== + +"@developmentseed/deck.gl-geotiff@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@developmentseed/deck.gl-geotiff/-/deck.gl-geotiff-0.4.0.tgz#44bb39b9bc092c56d64951c2c582fd32a13b9023" + integrity sha512-bFE6LeNHqZTYrUe+V9DjG4WDlvrOmSaJN2YX2LCPYIgAhvc7JELdAmU1H1+g02+P1/4lPyADnKSFx8SU4tI4jw== + dependencies: + "@cogeotiff/core" "^9.4.0" + "@developmentseed/affine" "^0.4.0" + "@developmentseed/deck.gl-raster" "^0.4.0" + "@developmentseed/geotiff" "^0.4.0" + "@developmentseed/morecantile" "^0.4.0" + "@developmentseed/raster-reproject" "^0.4.0" flatbush "^4.5.0" - geotiff "2.1.3" - proj4 "^2.20.2" + proj4 "^2.20.4" + wkt-parser "^1.5.3" -"@developmentseed/deck.gl-raster@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@developmentseed/deck.gl-raster/-/deck.gl-raster-0.2.0.tgz#69b7b933fa7cb9597dbd8696edea08ad03748cf7" - integrity sha512-+D2me1CR5BDyYPjXL6cZsG5r8BAa+KgDftErRZikY1hBqiFOdWi4iwm2oJNxdVc+YpaPOLc54o9CXTvSD48VaA== +"@developmentseed/deck.gl-raster@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@developmentseed/deck.gl-raster/-/deck.gl-raster-0.4.0.tgz#a13f655fb76238b1b40e4a1e93f5085a3c02d7e1" + integrity sha512-0iUFGjnY3hw6Egz+bWEKrum+OC0dKnt7riNfAd7m6YvnU1AnRaVngGYbq4k91iwIUWaUgE4VXEmHZPdhkUrLfg== dependencies: - "@developmentseed/raster-reproject" "^0.2.0" + "@developmentseed/affine" "^0.4.0" + "@developmentseed/morecantile" "^0.4.0" + "@developmentseed/proj" "^0.4.0" + "@developmentseed/raster-reproject" "^0.4.0" "@math.gl/core" "^4.1.0" "@math.gl/culling" "^4.1.0" "@math.gl/web-mercator" "^4.1.0" -"@developmentseed/raster-reproject@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@developmentseed/raster-reproject/-/raster-reproject-0.2.0.tgz#1f6171980f1283641462214e339fcf121a381c23" - integrity sha512-jr8UeDLFqTsqxMcJwe+iOabBi5LpPL9ZKCXVwXdLDk2gvTs8T8WY0PtR8gMfeUFFECzFSuKFlslh1nbuK5eAzA== +"@developmentseed/geotiff@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@developmentseed/geotiff/-/geotiff-0.4.0.tgz#922a7e9bc1b01d93d28ea5bcc1076e53e3e8ef3e" + integrity sha512-UddNtUbQSWnGQR7WmaHnCbK8t4I3zyzYroAV+/GNJ3EL6B9B0QRJ4ZS0ypKMEJJp+0xoxmEu3+soRtUV93HUMA== + dependencies: + "@chunkd/middleware" "^11.2.0" + "@chunkd/source" "^11.2.0" + "@chunkd/source-http" "^11.2.0" + "@chunkd/source-memory" "^11.0.3" + "@cogeotiff/core" "^9.4.0" + "@developmentseed/affine" "^0.4.0" + "@developmentseed/lzw-tiff-decoder" "^0.2.2" + "@developmentseed/morecantile" "^0.4.0" + fzstd "^0.1.1" + uuid "^13.0.0" + +"@developmentseed/lzw-tiff-decoder@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@developmentseed/lzw-tiff-decoder/-/lzw-tiff-decoder-0.2.2.tgz#398fda6f03a82bd4132f63fafce141651006b136" + integrity sha512-bsBIdV1LyqcrtnYtIYu3C/297X2wxeYkmmhHzR02OOX823sGxT8GLGdenTmwoXvNWkozk3b+ptXtJeSUmNPaTA== + +"@developmentseed/morecantile@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@developmentseed/morecantile/-/morecantile-0.4.0.tgz#4a4aa0a9d0f00fd44bedc7935ea9a66956d470ab" + integrity sha512-djGBiIetYcwMgOctX1SmQkTULMc2udeb2Llp4cVT36TpypODciILh9xquZkFQWGOqjImy3Nt+nqvG7hvxiHIew== + dependencies: + "@developmentseed/affine" "^0.4.0" + +"@developmentseed/proj@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@developmentseed/proj/-/proj-0.4.0.tgz#a302d3339025565e30278d32f6f87f5bda3a6ea2" + integrity sha512-KWGkVCBcmp/s0gTI3H3ag4EXb3KRzAxu3u/N39in4qCbxyp9QiW+PKjk/lFiB71Zx8eiUsOden3/LEz9Gp1dUQ== + +"@developmentseed/raster-reproject@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@developmentseed/raster-reproject/-/raster-reproject-0.4.0.tgz#d0f8bf2543fd70210dd7b0d2245ac5641c4d1772" + integrity sha512-UiPM0jC4J0cMbi7IPRDinnYWNyvUbDuNKhhOQ5rEytiGmx6w997lJ6Anu/RU8QoTe0pKYOXk7xfO94b0XOXJ+w== "@devseed-ui/collecticons-chakra@^4.0.0": version "4.0.0" @@ -1345,10 +1421,10 @@ resolved "https://registry.yarnpkg.com/@maplibre/geojson-vt/-/geojson-vt-5.0.4.tgz#c5f301a5d227cecf0bf4d1ab9239b8b0b13e78fe" integrity sha512-KGg9sma45S+stfH9vPCJk1J0lSDLWZgCT9Y8u8qWZJyjFlP8MNP1WGTxIMYJZjDvVT3PDn05kN1C95Sut1HpgQ== -"@maplibre/geojson-vt@^6.0.2": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@maplibre/geojson-vt/-/geojson-vt-6.0.3.tgz#1167caa068468b39989e8be272e3200831de7bab" - integrity sha512-tJ8df2SAIacER7pWTiSlDjIULBBAfZnzAURvWb1d8kVzx/pmSJcG0L2p0DTAB6nEu8Lmsx5zAc8JFDcs2DTwaw== +"@maplibre/geojson-vt@^6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@maplibre/geojson-vt/-/geojson-vt-6.0.4.tgz#f028fa633594c067b4c24030c1c282c0dd6cc835" + integrity sha512-HYv3POhMRCdhP3UPPATM/hfcy6/WuVIf5FKboH8u/ZuFMTnAIcSVlq5nfOqroLokd925w2QtE7YwquFOIacwVQ== dependencies: kdbush "^4.0.2" @@ -1377,10 +1453,10 @@ rw "^1.3.3" tinyqueue "^3.0.0" -"@maplibre/mlt@^1.1.7": - version "1.1.7" - resolved "https://registry.yarnpkg.com/@maplibre/mlt/-/mlt-1.1.7.tgz#cb8d6ede486f5e48a33dd1f373fa5d908ce8062f" - integrity sha512-HZSsXrgn2V6T3o0qklMwKERfKaAxjO8shmiFnVygCtXTg4SPKWVX+U99RkvxUfCsjYBEcT4ltor8lSlBSCca7Q== +"@maplibre/mlt@^1.1.8": + version "1.1.8" + resolved "https://registry.yarnpkg.com/@maplibre/mlt/-/mlt-1.1.8.tgz#ad1f7169197e5c64eace4f61c168dcd202076e03" + integrity sha512-8vtfYGidr1rNkv5IwIoU2lfe3Oy+Wa8HluzQYcQi9cveU9K3pweAal/poQj4GJ0K/EW4bTQp2wVAs09g2yDRZg== dependencies: "@mapbox/point-geometry" "^1.1.0" @@ -1725,11 +1801,6 @@ resolved "https://registry.yarnpkg.com/@pandacss/is-valid-prop/-/is-valid-prop-1.8.1.tgz#8d23dd897a006c21f5ce0bcb66759b1b625d3b9a" integrity sha512-gf2HTBCOboc65Jlb9swAjbffXSIv+A4vzSQ9iHyTCDLMcXTHYjPOQNliI36WkuQgR0pNXggBbQXGNaT9wKcrAw== -"@petamoriken/float16@^3.4.7": - version "3.9.3" - resolved "https://registry.yarnpkg.com/@petamoriken/float16/-/float16-3.9.3.tgz#84acef4816db7e4c2fe1c4e8cf902bcbc0440ac3" - integrity sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g== - "@pnpm/config.env-replace@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" @@ -2310,17 +2381,17 @@ resolved "https://registry.yarnpkg.com/@swc/wasm/-/wasm-1.15.10.tgz#de764402754e1fe382b7b34792fa2849735649b9" integrity sha512-kVTb346oP16MOwDibhLr/nv+swrw/M8dcim6VjsWKZR5ZVOCZU9RrzrT5gMh72v4Y37Agilb8SCzEZ4wTvQGpQ== -"@tanstack/query-core@5.90.20": - version "5.90.20" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.90.20.tgz#e12128e39210715d4ce4fb299c33498ac297771e" - integrity sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg== +"@tanstack/query-core@5.95.2": + version "5.95.2" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.95.2.tgz#9e3299d0c1c8785dd9e3d0cac1993e45f35113f2" + integrity sha512-o4T8vZHZET4Bib3jZ/tCW9/7080urD4c+0/AUaYVpIqOsr7y0reBc1oX3ttNaSW5mYyvZHctiQ/UOP2PfdmFEQ== -"@tanstack/react-query@^5.90.21": - version "5.90.21" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.90.21.tgz#e0eb40831a76510be438109435b8807ef63ab1b9" - integrity sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg== +"@tanstack/react-query@^5.95.2": + version "5.95.2" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.95.2.tgz#7daf77342a4e374c22fad88bb98ea13fc19ae086" + integrity sha512-/wGkvLj/st5Ud1Q76KF1uFxScV7WeqN1slQx5280ycwAyYkIPGaRZAEgHxe3bjirSd5Zpwkj6zNcR4cqYni/ZA== dependencies: - "@tanstack/query-core" "5.90.20" + "@tanstack/query-core" "5.95.2" "@tufjs/canonical-json@2.0.0": version "2.0.0" @@ -5511,6 +5582,11 @@ function-timeout@^1.0.1: resolved "https://registry.yarnpkg.com/function-timeout/-/function-timeout-1.0.2.tgz#e5a7b6ffa523756ff20e1231bbe37b5f373aadd5" integrity sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA== +fzstd@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/fzstd/-/fzstd-0.1.1.tgz#a3da29f2fff45070ca90073f866d97e0c56a4a52" + integrity sha512-dkuVSOKKwh3eas5VkJy1AW1vFpet8TA/fGmVA5krThl8YcOVE/8ZIoEA1+U1vEn5ckxxhLirSdY837azmbaNHA== + generator-function@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/generator-function/-/generator-function-2.0.1.tgz#0e75dd410d1243687a0ba2e951b94eedb8f737a2" @@ -5535,25 +5611,6 @@ geojson-polygon-self-intersections@^1.2.1: dependencies: rbush "^2.0.1" -geotiff-geokeys-to-proj4@^2024.4.13: - version "2024.4.13" - resolved "https://registry.yarnpkg.com/geotiff-geokeys-to-proj4/-/geotiff-geokeys-to-proj4-2024.4.13.tgz#c2ac5bff653e79b1b29e302791307b7a875b2d76" - integrity sha512-Jgtm/lcPkgB44wCqQHaVQx5/fyhmiVDRUKQcI/vMolsED8/GRWBnn5qkQo/CgutQg9xkGzig21DY9Px9mFRdvg== - -geotiff@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-2.1.3.tgz#993f40f2aa6aa65fb1e0451d86dd22ca8e66910c" - integrity sha512-PT6uoF5a1+kbC3tHmZSUsLHBp2QJlHasxxxxPW47QIY1VBKpFB+FcDvX+MxER6UzgLQZ0xDzJ9s48B9JbOCTqA== - dependencies: - "@petamoriken/float16" "^3.4.7" - lerc "^3.0.0" - pako "^2.0.4" - parse-headers "^2.0.2" - quick-lru "^6.1.1" - web-worker "^1.2.0" - xml-utils "^1.0.2" - zstddec "^0.1.0" - get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -6390,10 +6447,10 @@ ktx-parse@^0.7.0: resolved "https://registry.yarnpkg.com/ktx-parse/-/ktx-parse-0.7.1.tgz#d41514256d7d63acb8ef6ae62dc66f16efc1c39c" integrity sha512-FeA3g56ksdFNwjXJJsc1CCc7co+AJYDp6ipIp878zZ2bU8kWROatLYf39TQEd4/XRSUvBXovQ8gaVKWPXsCLEQ== -lerc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb" - integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww== +lerc@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lerc/-/lerc-4.1.1.tgz#86935463782808e8731aca42fbfe1c552707a0af" + integrity sha512-rgMqdHK4+gIUnF80OkWyfRae2u1B96BT8ZAjbLB4xfxIdfCHQ9GOf17haZVCag+5X9WC+40hLNZPbwctFs2FPQ== levn@^0.4.1: version "0.4.1" @@ -6734,10 +6791,10 @@ make-fetch-happen@^15.0.0, make-fetch-happen@^15.0.1, make-fetch-happen@^15.0.3: promise-retry "^2.0.1" ssri "^13.0.0" -maplibre-gl@^5.20.1: - version "5.20.1" - resolved "https://registry.yarnpkg.com/maplibre-gl/-/maplibre-gl-5.20.1.tgz#6903c4085fd383bf2167edcb2b7fcc5f6dfbf4b1" - integrity sha512-57YIgfRct+rrk78ldoWRuLWRnXV/1vM2Rk0QYfEDQmsXdpgbACwvGoREIOZtyDIaq/GJK/ORYEriaAdVZuNfvw== +maplibre-gl@^5.21.0: + version "5.21.0" + resolved "https://registry.yarnpkg.com/maplibre-gl/-/maplibre-gl-5.21.0.tgz#2d2bc81196d4b922a00c4cc7f90175f53eb7a2d3" + integrity sha512-n0v4J/Ge0EG8ix/z3TY3ragtJYMqzbtSnj1riOC0OwQbzwp0lUF2maS1ve1z8HhitQCKtZZiZJhb8to36aMMfQ== dependencies: "@mapbox/jsonlint-lines-primitives" "^2.0.2" "@mapbox/point-geometry" "^1.1.0" @@ -6745,9 +6802,9 @@ maplibre-gl@^5.20.1: "@mapbox/unitbezier" "^0.0.1" "@mapbox/vector-tile" "^2.0.4" "@mapbox/whoots-js" "^3.1.0" - "@maplibre/geojson-vt" "^6.0.2" + "@maplibre/geojson-vt" "^6.0.4" "@maplibre/maplibre-gl-style-spec" "^24.7.0" - "@maplibre/mlt" "^1.1.7" + "@maplibre/mlt" "^1.1.8" "@maplibre/vt-pbf" "^4.3.0" "@types/geojson" "^7946.0.16" earcut "^3.0.2" @@ -7753,11 +7810,6 @@ pako@1.0.11, pako@~1.0.2, pako@~1.0.5: resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -pako@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" - integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -7798,11 +7850,6 @@ parse-entities@^4.0.0: is-decimal "^2.0.0" is-hexadecimal "^2.0.0" -parse-headers@^2.0.2: - version "2.0.6" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.6.tgz#7940f0abe5fe65df2dd25d4ce8800cb35b49d01c" - integrity sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A== - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -8076,13 +8123,13 @@ proggy@^4.0.0: resolved "https://registry.yarnpkg.com/proggy/-/proggy-4.0.0.tgz#85fa89d7c81bc3fb77992a80f47bb1e17c610fa3" integrity sha512-MbA4R+WQT76ZBm/5JUpV9yqcJt92175+Y0Bodg3HgiXzrmKu7Ggq+bpn6y6wHH+gN9NcyKn3yg1+d47VaKwNAQ== -proj4@^2.20.2, proj4@^2.9.2: - version "2.20.2" - resolved "https://registry.yarnpkg.com/proj4/-/proj4-2.20.2.tgz#33d3202865f65cad2dd4cfd1d8d3cdb814580a1c" - integrity sha512-ipfBRfQly0HhHTO7hnC1GfaX8bvroO7VV4KH889ehmADSE8C/qzp2j+Jj6783S9Tj6c2qX/hhYm7oH0kgXzBAA== +proj4@^2.20.4, proj4@^2.9.2: + version "2.20.4" + resolved "https://registry.yarnpkg.com/proj4/-/proj4-2.20.4.tgz#b8bce000b82e07abdb031894d9362184078fc4be" + integrity sha512-/EEBoXjBw+zW1Lofinw0YFQ4OFOqC6XThnwRAgjEHw8WBN+wSy/6aeqRRdjy4b2igy3X0k3RNDuwcYqcQq7nDw== dependencies: mgrs "1.0.0" - wkt-parser "^1.5.1" + wkt-parser "^1.5.3" promise-all-reject-late@^1.0.0: version "1.0.1" @@ -8182,11 +8229,6 @@ querystring-es3@^0.2.1: resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== -quick-lru@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.2.tgz#e9a90524108629be35287d0b864e7ad6ceb3659e" - integrity sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ== - quickselect@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.1.1.tgz#852e412ce418f237ad5b660d70cffac647ae94c2" @@ -9594,6 +9636,11 @@ uuid@10.0.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294" integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ== +uuid@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-13.0.0.tgz#263dc341b19b4d755eb8fe36b78d95a6b65707e8" + integrity sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w== + validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -9729,11 +9776,6 @@ web-worker@1.2.0: resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== -web-worker@^1.2.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.5.0.tgz#71b2b0fbcc4293e8f0aa4f6b8a3ffebff733dcc5" - integrity sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw== - wgsl_reflect@^1.2.0: version "1.2.3" resolved "https://registry.yarnpkg.com/wgsl_reflect/-/wgsl_reflect-1.2.3.tgz#41985a661efdd00047e771ad7aa06ab131926a55" @@ -9774,10 +9816,10 @@ why-is-node-running@^2.3.0: siginfo "^2.0.0" stackback "0.0.2" -wkt-parser@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/wkt-parser/-/wkt-parser-1.5.2.tgz#a8eaf86ac2cc1d0a2e6a8082a930f5c7ebdb5771" - integrity sha512-1ZUiV1FTwSiSrgWzV9KXJuOF2BVW91KY/mau04BhnmgOdroRQea7Q0s5TVqwGLm0D2tZwObd/tBYXW49sSxp3Q== +wkt-parser@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/wkt-parser/-/wkt-parser-1.5.4.tgz#e44b0580cd832f34a3f2288d19423c60780e608d" + integrity sha512-heRp3QBynj8SAGepAkE8h2k4KhUGRqzgwlSRgqNhxjmSIeSvE5ZrV8n1uy5jk+iJO2jmfffIwjdAaTirBOOx0A== word-wrap@^1.2.5: version "1.2.5" @@ -9825,11 +9867,6 @@ ws@^8.19.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.19.0.tgz#ddc2bdfa5b9ad860204f5a72a4863a8895fd8c8b" integrity sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== -xml-utils@^1.0.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.10.2.tgz#436b39ccc25a663ce367ea21abb717afdea5d6b1" - integrity sha512-RqM+2o1RYs6T8+3DzDSoTRAUfrvaejbVHcp3+thnAtDKo8LskR+HomLajEy5UjTz24rpka7AxVBRR3g2wTUkJA== - xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -9920,11 +9957,6 @@ zstd-codec@^0.1: resolved "https://registry.yarnpkg.com/zstd-codec/-/zstd-codec-0.1.5.tgz#c180193e4603ef74ddf704bcc835397d30a60e42" integrity sha512-v3fyjpK8S/dpY/X5WxqTK3IoCnp/ZOLxn144GZVlNUjtwAchzrVo03h+oMATFhCIiJ5KTr4V3vDQQYz4RU684g== -zstddec@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.1.0.tgz#7050f3f0e0c3978562d0c566b3e5a427d2bad7ec" - integrity sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg== - zustand@^5.0.12: version "5.0.12" resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.12.tgz#ed36f647aa89965c4019b671dfc23ef6c6e3af8c"