From 3bc8484d6be0ec2411dfc9435906ff1712b3ad84 Mon Sep 17 00:00:00 2001 From: charlieforward9 Date: Tue, 17 Feb 2026 19:46:53 -0500 Subject: [PATCH 1/3] chore: bump @loaders.gl to v4.4.0-alpha.12 Bump all @loaders.gl/* dependencies from ^4.3.4 to ^4.4.0-alpha.12 across all modules, examples, website, and test apps. This tests loaders.gl v4.4 prerelease compatibility with deck.gl ahead of the official 4.4 release. Co-Authored-By: Claude Opus 4.6 --- examples/layer-browser/package.json | 6 +++--- examples/playground/package.json | 10 +++++----- examples/website/3d-heatmap/package.json | 2 +- examples/website/3d-tiles/package.json | 2 +- examples/website/data-filter/package.json | 2 +- examples/website/global-grids/package.json | 2 +- examples/website/globe/package.json | 2 +- examples/website/highway/package.json | 2 +- examples/website/i3s/package.json | 2 +- examples/website/mapbox/package.json | 2 +- examples/website/maplibre/package.json | 2 +- examples/website/mask-extension/package.json | 2 +- examples/website/mesh/package.json | 2 +- examples/website/point-cloud/package.json | 2 +- examples/website/radio/package.json | 2 +- examples/website/text/package.json | 2 +- modules/carto/package.json | 14 +++++++------- modules/core/package.json | 4 ++-- modules/geo-layers/package.json | 18 +++++++++--------- modules/jupyter-widget/package.json | 6 +++--- modules/layers/package.json | 6 +++--- modules/main/package.json | 2 +- modules/mesh-layers/package.json | 4 ++-- package.json | 4 ++-- test/apps/arcgis-i3s/package.json | 2 +- website/package.json | 10 +++++----- 26 files changed, 57 insertions(+), 57 deletions(-) diff --git a/examples/layer-browser/package.json b/examples/layer-browser/package.json index 2c2248e873a..afc382540b8 100644 --- a/examples/layer-browser/package.json +++ b/examples/layer-browser/package.json @@ -8,9 +8,9 @@ "start-local": "vite --config ../vite.config.local.mjs" }, "dependencies": { - "@loaders.gl/core": "^4.3.4", - "@loaders.gl/gltf": "^4.3.4", - "@loaders.gl/ply": "^4.3.4", + "@loaders.gl/core": "^4.4.0-alpha.12", + "@loaders.gl/gltf": "^4.4.0-alpha.12", + "@loaders.gl/ply": "^4.4.0-alpha.12", "@probe.gl/log": "^4.0.9", "colorbrewer": "^1.0.0", "d3-request": "^1.0.6", diff --git a/examples/playground/package.json b/examples/playground/package.json index 6937c7e302b..d3c8b14fd96 100644 --- a/examples/playground/package.json +++ b/examples/playground/package.json @@ -9,11 +9,11 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/3d-tiles": "^4.3.4", - "@loaders.gl/core": "^4.3.4", - "@loaders.gl/csv": "^4.3.4", - "@loaders.gl/draco": "^4.3.4", - "@loaders.gl/gltf": "^4.3.4", + "@loaders.gl/3d-tiles": "^4.4.0-alpha.12", + "@loaders.gl/core": "^4.4.0-alpha.12", + "@loaders.gl/csv": "^4.4.0-alpha.12", + "@loaders.gl/draco": "^4.4.0-alpha.12", + "@loaders.gl/gltf": "^4.4.0-alpha.12", "@luma.gl/constants": "^9.2.6", "deck.gl": "^9.0.0", "maplibre-gl": "^5.0.0", diff --git a/examples/website/3d-heatmap/package.json b/examples/website/3d-heatmap/package.json index ae9a8e2cff6..9fef33b2a71 100644 --- a/examples/website/3d-heatmap/package.json +++ b/examples/website/3d-heatmap/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "deck.gl": "^9.0.0", diff --git a/examples/website/3d-tiles/package.json b/examples/website/3d-tiles/package.json index 43a26ddb03f..291adc9f26d 100644 --- a/examples/website/3d-tiles/package.json +++ b/examples/website/3d-tiles/package.json @@ -11,7 +11,7 @@ "dependencies": { "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", - "@loaders.gl/3d-tiles": "^4.3.4", + "@loaders.gl/3d-tiles": "^4.4.0-alpha.12", "deck.gl": "^9.0.0", "maplibre-gl": "^5.0.0", "react": "^18.0.0", diff --git a/examples/website/data-filter/package.json b/examples/website/data-filter/package.json index dce818d5bb6..bec7f4bedad 100644 --- a/examples/website/data-filter/package.json +++ b/examples/website/data-filter/package.json @@ -11,7 +11,7 @@ "dependencies": { "@material-ui/core": "^4.10.2", "@material-ui/icons": "^4.9.1", - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "deck.gl": "^9.0.0", diff --git a/examples/website/global-grids/package.json b/examples/website/global-grids/package.json index d86322ad993..fd38eddd963 100644 --- a/examples/website/global-grids/package.json +++ b/examples/website/global-grids/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "deck.gl": "^9.0.0", diff --git a/examples/website/globe/package.json b/examples/website/globe/package.json index dfacf7c6117..e39c792abd1 100644 --- a/examples/website/globe/package.json +++ b/examples/website/globe/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@material-ui/core": "^4.10.2", "@material-ui/icons": "^4.9.1", "@types/react": "^18.0.0", diff --git a/examples/website/highway/package.json b/examples/website/highway/package.json index 986972b5b59..493d4b904ae 100644 --- a/examples/website/highway/package.json +++ b/examples/website/highway/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@types/d3-scale": "^4.0.0", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", diff --git a/examples/website/i3s/package.json b/examples/website/i3s/package.json index 2c9b24ea484..b3b1a35b84f 100644 --- a/examples/website/i3s/package.json +++ b/examples/website/i3s/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/i3s": "^4.3.4", + "@loaders.gl/i3s": "^4.4.0-alpha.12", "maplibre-gl": "^5.0.0", "react-map-gl": "^8.0.0", "deck.gl": "^9.0.0" diff --git a/examples/website/mapbox/package.json b/examples/website/mapbox/package.json index 46de273507f..1f6106a00e8 100644 --- a/examples/website/mapbox/package.json +++ b/examples/website/mapbox/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "d3-scale": "^4.0.0", "deck.gl": "^9.0.0", "mapbox-gl": "^3.0.0", diff --git a/examples/website/maplibre/package.json b/examples/website/maplibre/package.json index 453911898be..b12260a5b32 100644 --- a/examples/website/maplibre/package.json +++ b/examples/website/maplibre/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@material-ui/core": "^4.10.2", "@material-ui/icons": "^4.9.1", "@types/react": "^18.0.0", diff --git a/examples/website/mask-extension/package.json b/examples/website/mask-extension/package.json index b77cedd1a73..c48afae78b2 100644 --- a/examples/website/mask-extension/package.json +++ b/examples/website/mask-extension/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@material-ui/core": "^4.10.2", "@material-ui/icons": "^4.9.1", "@types/react": "^18.0.0", diff --git a/examples/website/mesh/package.json b/examples/website/mesh/package.json index f9da83451f1..ff3fc489d49 100644 --- a/examples/website/mesh/package.json +++ b/examples/website/mesh/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/obj": "^4.3.4", + "@loaders.gl/obj": "^4.4.0-alpha.12", "@math.gl/core": "^4.1.0", "deck.gl": "^9.0.0", "react": "^18.0.0", diff --git a/examples/website/point-cloud/package.json b/examples/website/point-cloud/package.json index 5bae7548c37..7a4151f08db 100644 --- a/examples/website/point-cloud/package.json +++ b/examples/website/point-cloud/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/las": "^4.3.4", + "@loaders.gl/las": "^4.4.0-alpha.12", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "deck.gl": "^9.2.0-alpha.2", diff --git a/examples/website/radio/package.json b/examples/website/radio/package.json index 6507ecac6e4..aeb19f64538 100644 --- a/examples/website/radio/package.json +++ b/examples/website/radio/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@material-ui/core": "^4.11.3", "@material-ui/lab": "^4.0.0-alpha.57", "@types/d3-scale": "^4.0.0", diff --git a/examples/website/text/package.json b/examples/website/text/package.json index 2e893e8607b..0b52c40f381 100644 --- a/examples/website/text/package.json +++ b/examples/website/text/package.json @@ -9,7 +9,7 @@ "build": "vite build" }, "dependencies": { - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@types/d3-scale": "^4.0.0", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", diff --git a/modules/carto/package.json b/modules/carto/package.json index e32e94391f8..1238121b819 100644 --- a/modules/carto/package.json +++ b/modules/carto/package.json @@ -43,12 +43,12 @@ }, "dependencies": { "@carto/api-client": "^0.5.19", - "@loaders.gl/compression": "^4.3.4", - "@loaders.gl/gis": "^4.3.4", - "@loaders.gl/loader-utils": "^4.3.4", - "@loaders.gl/mvt": "^4.3.4", - "@loaders.gl/schema": "^4.3.4", - "@loaders.gl/tiles": "^4.3.4", + "@loaders.gl/compression": "^4.4.0-alpha.12", + "@loaders.gl/gis": "^4.4.0-alpha.12", + "@loaders.gl/loader-utils": "^4.4.0-alpha.12", + "@loaders.gl/mvt": "^4.4.0-alpha.12", + "@loaders.gl/schema": "^4.4.0-alpha.12", + "@loaders.gl/tiles": "^4.4.0-alpha.12", "@luma.gl/core": "^9.2.6", "@luma.gl/shadertools": "^9.2.6", "@math.gl/web-mercator": "^4.1.0", @@ -72,7 +72,7 @@ "@deck.gl/extensions": "~9.2.0", "@deck.gl/geo-layers": "~9.2.0", "@deck.gl/layers": "~9.2.0", - "@loaders.gl/core": "^4.3.4", + "@loaders.gl/core": "^4.4.0-alpha.12", "@luma.gl/core": "~9.2.6" }, "gitHead": "13ace64fc2cee08c133afc882fc307253489a4e4" diff --git a/modules/core/package.json b/modules/core/package.json index 453e94bfab1..3393f325416 100644 --- a/modules/core/package.json +++ b/modules/core/package.json @@ -40,8 +40,8 @@ "prepublishOnly": "npm run build-debugger && npm run build-bundle && npm run build-bundle -- --env=dev" }, "dependencies": { - "@loaders.gl/core": "^4.3.4", - "@loaders.gl/images": "^4.3.4", + "@loaders.gl/core": "^4.4.0-alpha.12", + "@loaders.gl/images": "^4.4.0-alpha.12", "@luma.gl/constants": "^9.2.6", "@luma.gl/core": "^9.2.6", "@luma.gl/engine": "^9.2.6", diff --git a/modules/geo-layers/package.json b/modules/geo-layers/package.json index 285b1b25905..69368d014b1 100644 --- a/modules/geo-layers/package.json +++ b/modules/geo-layers/package.json @@ -38,14 +38,14 @@ "prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev" }, "dependencies": { - "@loaders.gl/3d-tiles": "^4.3.4", - "@loaders.gl/gis": "^4.3.4", - "@loaders.gl/loader-utils": "^4.3.4", - "@loaders.gl/mvt": "^4.3.4", - "@loaders.gl/schema": "^4.3.4", - "@loaders.gl/terrain": "^4.3.4", - "@loaders.gl/tiles": "^4.3.4", - "@loaders.gl/wms": "^4.3.4", + "@loaders.gl/3d-tiles": "^4.4.0-alpha.12", + "@loaders.gl/gis": "^4.4.0-alpha.12", + "@loaders.gl/loader-utils": "^4.4.0-alpha.12", + "@loaders.gl/mvt": "^4.4.0-alpha.12", + "@loaders.gl/schema": "^4.4.0-alpha.12", + "@loaders.gl/terrain": "^4.4.0-alpha.12", + "@loaders.gl/tiles": "^4.4.0-alpha.12", + "@loaders.gl/wms": "^4.4.0-alpha.12", "@luma.gl/gltf": "^9.2.6", "@luma.gl/shadertools": "^9.2.6", "@math.gl/core": "^4.1.0", @@ -61,7 +61,7 @@ "@deck.gl/extensions": "~9.2.0", "@deck.gl/layers": "~9.2.0", "@deck.gl/mesh-layers": "~9.2.0", - "@loaders.gl/core": "^4.3.4", + "@loaders.gl/core": "^4.4.0-alpha.12", "@luma.gl/core": "~9.2.6", "@luma.gl/engine": "~9.2.6" }, diff --git a/modules/jupyter-widget/package.json b/modules/jupyter-widget/package.json index 30e72f683e8..4db57466336 100644 --- a/modules/jupyter-widget/package.json +++ b/modules/jupyter-widget/package.json @@ -39,9 +39,9 @@ "@deck.gl/mesh-layers": "9.2.0-beta.4", "@deck.gl/widgets": "9.2.0-beta.4", "@jupyter-widgets/base": "^1.1.10 || ^2 || ^3 || ^4", - "@loaders.gl/3d-tiles": "^4.3.4", - "@loaders.gl/core": "^4.3.4", - "@loaders.gl/csv": "^4.3.4", + "@loaders.gl/3d-tiles": "^4.4.0-alpha.12", + "@loaders.gl/core": "^4.4.0-alpha.12", + "@loaders.gl/csv": "^4.4.0-alpha.12", "@luma.gl/constants": "^9.2.6", "@luma.gl/core": "^9.2.6", "@luma.gl/webgl": "^9.2.6", diff --git a/modules/layers/package.json b/modules/layers/package.json index cdac6617bc2..c32b35be6c9 100644 --- a/modules/layers/package.json +++ b/modules/layers/package.json @@ -37,8 +37,8 @@ "prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev" }, "dependencies": { - "@loaders.gl/images": "^4.3.4", - "@loaders.gl/schema": "^4.3.4", + "@loaders.gl/images": "^4.4.0-alpha.12", + "@loaders.gl/schema": "^4.4.0-alpha.12", "@luma.gl/shadertools": "^9.2.6", "@mapbox/tiny-sdf": "^2.0.5", "@math.gl/core": "^4.1.0", @@ -48,7 +48,7 @@ }, "peerDependencies": { "@deck.gl/core": "~9.2.0", - "@loaders.gl/core": "^4.3.4", + "@loaders.gl/core": "^4.4.0-alpha.12", "@luma.gl/core": "~9.2.6", "@luma.gl/engine": "~9.2.6" }, diff --git a/modules/main/package.json b/modules/main/package.json index ee00ee0542d..e5fe21768fd 100644 --- a/modules/main/package.json +++ b/modules/main/package.json @@ -52,7 +52,7 @@ "@deck.gl/mesh-layers": "9.2.0-beta.4", "@deck.gl/react": "9.2.0-beta.4", "@deck.gl/widgets": "9.2.0-beta.4", - "@loaders.gl/core": "^4.3.4", + "@loaders.gl/core": "^4.4.0-alpha.12", "@luma.gl/core": "^9.2.6", "@luma.gl/engine": "^9.2.6" }, diff --git a/modules/mesh-layers/package.json b/modules/mesh-layers/package.json index 79e6fdc8dbd..65b8451ccca 100644 --- a/modules/mesh-layers/package.json +++ b/modules/mesh-layers/package.json @@ -38,8 +38,8 @@ "prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev" }, "dependencies": { - "@loaders.gl/gltf": "^4.3.4", - "@loaders.gl/schema": "^4.3.4", + "@loaders.gl/gltf": "^4.4.0-alpha.12", + "@loaders.gl/schema": "^4.4.0-alpha.12", "@luma.gl/gltf": "^9.2.6", "@luma.gl/shadertools": "^9.2.6" }, diff --git a/package.json b/package.json index de7c1088eb9..ec98f76c328 100644 --- a/package.json +++ b/package.json @@ -39,8 +39,8 @@ "jsdom": false }, "devDependencies": { - "@loaders.gl/csv": "^4.3.4", - "@loaders.gl/polyfills": "^4.3.4", + "@loaders.gl/csv": "^4.4.0-alpha.12", + "@loaders.gl/polyfills": "^4.4.0-alpha.12", "@luma.gl/core": "^9.2.6", "@luma.gl/effects": "^9.2.6", "@luma.gl/webgpu": "^9.2.6", diff --git a/test/apps/arcgis-i3s/package.json b/test/apps/arcgis-i3s/package.json index f0ca374c6a2..fc609631022 100644 --- a/test/apps/arcgis-i3s/package.json +++ b/test/apps/arcgis-i3s/package.json @@ -6,7 +6,7 @@ "dependencies": { "@deck.gl/core": "^8.1.0", "@deck.gl/layers": "^8.1.0", - "@loaders.gl/i3s": "^4.3.4" + "@loaders.gl/i3s": "^4.4.0-alpha.12" }, "devDependencies": { "vite": "^4.0.0" diff --git a/website/package.json b/website/package.json index 2e4544ff092..b32cd09172e 100644 --- a/website/package.json +++ b/website/package.json @@ -16,11 +16,11 @@ }, "dependencies": { "@googlemaps/js-api-loader": "^1.16.0", - "@loaders.gl/core": "^4.3.4", - "@loaders.gl/i3s": "^4.3.4", - "@loaders.gl/las": "^4.3.4", - "@loaders.gl/obj": "^4.3.4", - "@loaders.gl/ply": "^4.3.4", + "@loaders.gl/core": "^4.4.0-alpha.12", + "@loaders.gl/i3s": "^4.4.0-alpha.12", + "@loaders.gl/las": "^4.4.0-alpha.12", + "@loaders.gl/obj": "^4.4.0-alpha.12", + "@loaders.gl/ply": "^4.4.0-alpha.12", "@material-ui/core": "^4.10.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "^4.0.0-alpha.57", From 7261efec737aaa7b233c1206c27899ff3b5d0347 Mon Sep 17 00:00:00 2001 From: charlieforward9 Date: Wed, 18 Feb 2026 15:01:45 -0500 Subject: [PATCH 2/3] fix(geo-layers): adapt WMSLayer to @loaders.gl/wms v4.4 API changes Replace deprecated createImageSource with direct WMSSource and ArcGISImageServerSource factory calls to fix build errors from the loaders.gl v4.4.0-alpha.12 bump. Co-Authored-By: Claude Opus 4.6 --- modules/geo-layers/src/wms-layer/wms-layer.ts | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/modules/geo-layers/src/wms-layer/wms-layer.ts b/modules/geo-layers/src/wms-layer/wms-layer.ts index 4bbdc7975df..42831913c6b 100644 --- a/modules/geo-layers/src/wms-layer/wms-layer.ts +++ b/modules/geo-layers/src/wms-layer/wms-layer.ts @@ -21,17 +21,18 @@ import { } from '@deck.gl/core'; import {BitmapLayer} from '@deck.gl/layers'; import type {GetImageParameters, ImageSourceMetadata, ImageType} from '@loaders.gl/loader-utils'; -import type {ImageServiceType} from '@loaders.gl/wms'; -import {ImageSource, createImageSource} from '@loaders.gl/wms'; +import {ImageSource, WMSSource, _ArcGISImageServerSource} from '@loaders.gl/wms'; import {WGS84ToPseudoMercator} from './utils'; /** All props supported by the TileLayer */ export type WMSLayerProps = CompositeLayerProps & _WMSLayerProps; +type ImageSourceType = 'wms' | 'arcgis-image-server' | 'template'; + /** Props added by the TileLayer */ type _WMSLayerProps = { data: string | ImageSource; - serviceType?: ImageServiceType | 'auto'; + serviceType?: ImageSourceType | 'auto'; layers?: string[]; srs?: 'EPSG:4326' | 'EPSG:3857' | 'auto'; onMetadataLoad?: (metadata: ImageSourceMetadata) => void; @@ -166,11 +167,20 @@ export class WMSLayer extends CompositeLayer< } if (typeof props.data === 'string') { - return createImageSource({ - url: props.data, - loadOptions: props.loadOptions, - type: props.serviceType - }); + const url = props.data; + const type = props.serviceType ?? 'auto'; + const sourceOptions = {core: {loadOptions: props.loadOptions}}; + + if (type === 'wms' || (type === 'auto' && WMSSource.testURL(url))) { + return WMSSource.createDataSource(url, sourceOptions); + } + if ( + type === 'arcgis-image-server' || + (type === 'auto' && _ArcGISImageServerSource.testURL(url)) + ) { + return _ArcGISImageServerSource.createDataSource(url, sourceOptions); + } + throw new Error('Not a valid image source type'); } throw new Error('invalid image source in props.data'); From edd320b7c3882a5cb1a49f2d4a20996f967ee394 Mon Sep 17 00:00:00 2001 From: charlieforward9 Date: Wed, 18 Feb 2026 15:40:19 -0500 Subject: [PATCH 3/3] fix(carto): use StrictLoaderOptions for loader option types LoaderOptions is no longer assignable to StrictLoaderOptions in @loaders.gl v4.4 due to deprecated top-level fields conflicting with the index signature. Co-Authored-By: Claude Opus 4.6 --- .../src/layers/schema/carto-properties-tile-loader.ts | 9 +++++---- .../src/layers/schema/carto-raster-tile-loader.ts | 11 ++++++----- .../src/layers/schema/carto-spatial-tile-loader.ts | 11 ++++++----- .../src/layers/schema/carto-vector-tile-loader.ts | 11 ++++++----- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/modules/carto/src/layers/schema/carto-properties-tile-loader.ts b/modules/carto/src/layers/schema/carto-properties-tile-loader.ts index 8a0214f49a0..623cb83f26a 100644 --- a/modules/carto/src/layers/schema/carto-properties-tile-loader.ts +++ b/modules/carto/src/layers/schema/carto-properties-tile-loader.ts @@ -2,7 +2,8 @@ // SPDX-License-Identifier: MIT // Copyright (c) vis.gl contributors -import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils'; +import type {StrictLoaderOptions} from '@loaders.gl/loader-utils'; +import {LoaderWithParser} from '@loaders.gl/loader-utils'; import {Tile, TileReader} from './carto-properties-tile'; import {parsePbf} from './tile-loader-utils'; @@ -11,13 +12,13 @@ import {getWorkerUrl} from '../../utils'; const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest'; const id = 'cartoPropertiesTile'; -type CartoPropertiesTileLoaderOptions = LoaderOptions & { +type CartoPropertiesTileStrictLoaderOptions = StrictLoaderOptions & { cartoPropertiesTile?: { workerUrl: string; }; }; -const DEFAULT_OPTIONS: CartoPropertiesTileLoaderOptions = { +const DEFAULT_OPTIONS: CartoPropertiesTileStrictLoaderOptions = { cartoPropertiesTile: { workerUrl: getWorkerUrl(id, VERSION) } @@ -37,7 +38,7 @@ const CartoPropertiesTileLoader: LoaderWithParser = { options: DEFAULT_OPTIONS }; -function parseCartoPropertiesTile(arrayBuffer: ArrayBuffer, options?: LoaderOptions): Tile | null { +function parseCartoPropertiesTile(arrayBuffer: ArrayBuffer, options?: StrictLoaderOptions): Tile | null { if (!arrayBuffer) return null; return parsePbf(arrayBuffer, TileReader); } diff --git a/modules/carto/src/layers/schema/carto-raster-tile-loader.ts b/modules/carto/src/layers/schema/carto-raster-tile-loader.ts index 8a03c9ae65f..e2503224fbf 100644 --- a/modules/carto/src/layers/schema/carto-raster-tile-loader.ts +++ b/modules/carto/src/layers/schema/carto-raster-tile-loader.ts @@ -2,7 +2,8 @@ // SPDX-License-Identifier: MIT // Copyright (c) vis.gl contributors -import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils'; +import type {StrictLoaderOptions} from '@loaders.gl/loader-utils'; +import {LoaderWithParser} from '@loaders.gl/loader-utils'; import type {RasterMetadata} from '@carto/api-client'; import {TileReader} from './carto-raster-tile'; @@ -13,14 +14,14 @@ import {NumericProps, Properties} from './spatialjson-utils'; const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest'; const id = 'cartoRasterTile'; -type CartoRasterTileLoaderOptions = LoaderOptions & { +type CartoRasterTileStrictLoaderOptions = StrictLoaderOptions & { cartoRasterTile?: { metadata: RasterMetadata | null; workerUrl: string; }; }; -const DEFAULT_OPTIONS: CartoRasterTileLoaderOptions = { +const DEFAULT_OPTIONS: CartoRasterTileStrictLoaderOptions = { cartoRasterTile: { metadata: null, workerUrl: getWorkerUrl(id, VERSION) @@ -35,7 +36,7 @@ const CartoRasterTileLoader: LoaderWithParser = { extensions: ['pbf'], mimeTypes: ['application/vnd.carto-raster-tile'], category: 'geometry', - parse: async (arrayBuffer, options?: CartoRasterTileLoaderOptions) => + parse: async (arrayBuffer, options?: CartoRasterTileStrictLoaderOptions) => parseCartoRasterTile(arrayBuffer, options), parseSync: parseCartoRasterTile, worker: true, @@ -53,7 +54,7 @@ export type Raster = { function parseCartoRasterTile( arrayBuffer: ArrayBuffer, - options?: CartoRasterTileLoaderOptions + options?: CartoRasterTileStrictLoaderOptions ): Raster | null { const metadata = options?.cartoRasterTile?.metadata; if (!arrayBuffer || !metadata) return null; diff --git a/modules/carto/src/layers/schema/carto-spatial-tile-loader.ts b/modules/carto/src/layers/schema/carto-spatial-tile-loader.ts index 0102657d640..ebb61903208 100644 --- a/modules/carto/src/layers/schema/carto-spatial-tile-loader.ts +++ b/modules/carto/src/layers/schema/carto-spatial-tile-loader.ts @@ -2,7 +2,8 @@ // SPDX-License-Identifier: MIT // Copyright (c) vis.gl contributors -import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils'; +import type {StrictLoaderOptions} from '@loaders.gl/loader-utils'; +import {LoaderWithParser} from '@loaders.gl/loader-utils'; import {Tile, TileReader} from './carto-spatial-tile'; import {parsePbf} from './tile-loader-utils'; @@ -12,14 +13,14 @@ import {IndexScheme, binaryToSpatialjson, SpatialJson} from './spatialjson-utils const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest'; const id = 'cartoSpatialTile'; -type CartoSpatialTileLoaderOptions = LoaderOptions & { +type CartoSpatialTileStrictLoaderOptions = StrictLoaderOptions & { cartoSpatialTile?: { scheme: IndexScheme; workerUrl: string; }; }; -const DEFAULT_OPTIONS: CartoSpatialTileLoaderOptions = { +const DEFAULT_OPTIONS: CartoSpatialTileStrictLoaderOptions = { cartoSpatialTile: { scheme: 'quadbin', workerUrl: getWorkerUrl(id, VERSION) @@ -34,7 +35,7 @@ const CartoSpatialTileLoader: LoaderWithParser = { extensions: ['pbf'], mimeTypes: ['application/vnd.carto-spatial-tile'], category: 'geometry', - parse: async (arrayBuffer, options?: CartoSpatialTileLoaderOptions) => + parse: async (arrayBuffer, options?: CartoSpatialTileStrictLoaderOptions) => parseCartoSpatialTile(arrayBuffer, options), parseSync: parseCartoSpatialTile, worker: true, @@ -43,7 +44,7 @@ const CartoSpatialTileLoader: LoaderWithParser = { function parseCartoSpatialTile( arrayBuffer: ArrayBuffer, - options?: CartoSpatialTileLoaderOptions + options?: CartoSpatialTileStrictLoaderOptions ): SpatialJson | null { if (!arrayBuffer) return null; const tile: Tile = parsePbf(arrayBuffer, TileReader); diff --git a/modules/carto/src/layers/schema/carto-vector-tile-loader.ts b/modules/carto/src/layers/schema/carto-vector-tile-loader.ts index 9a7ae05875b..b38c6fbfcd8 100644 --- a/modules/carto/src/layers/schema/carto-vector-tile-loader.ts +++ b/modules/carto/src/layers/schema/carto-vector-tile-loader.ts @@ -3,7 +3,8 @@ // Copyright (c) vis.gl contributors import earcut from 'earcut'; -import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils'; +import type {StrictLoaderOptions} from '@loaders.gl/loader-utils'; +import {LoaderWithParser} from '@loaders.gl/loader-utils'; import type {BinaryFeatureCollection, BinaryPolygonFeature, TypedArray} from '@loaders.gl/schema'; import {TileReader} from './carto-tile'; @@ -13,13 +14,13 @@ import {getWorkerUrl} from '../../utils'; const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest'; const id = 'cartoVectorTile'; -type CartoVectorTileLoaderOptions = LoaderOptions & { +type CartoVectorTileStrictLoaderOptions = StrictLoaderOptions & { cartoVectorTile?: { workerUrl: string; }; }; -const DEFAULT_OPTIONS: CartoVectorTileLoaderOptions = { +const DEFAULT_OPTIONS: CartoVectorTileStrictLoaderOptions = { cartoVectorTile: { workerUrl: getWorkerUrl(id, VERSION) } @@ -33,7 +34,7 @@ const CartoVectorTileLoader: LoaderWithParser = { extensions: ['pbf'], mimeTypes: ['application/vnd.carto-vector-tile'], category: 'geometry', - parse: async (arrayBuffer, options?: CartoVectorTileLoaderOptions) => + parse: async (arrayBuffer, options?: CartoVectorTileStrictLoaderOptions) => parseCartoVectorTile(arrayBuffer, options), parseSync: parseCartoVectorTile, worker: true, @@ -91,7 +92,7 @@ function triangulate(polygons: BinaryPolygonFeature) { function parseCartoVectorTile( arrayBuffer: ArrayBuffer, - options?: CartoVectorTileLoaderOptions + options?: CartoVectorTileStrictLoaderOptions ): BinaryFeatureCollection | null { if (!arrayBuffer) return null; const tile = parsePbf(arrayBuffer, TileReader);