From a1b9c1867ecebdd8a499e1969690814ad383f21b Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Mon, 3 Feb 2025 14:58:26 +0100 Subject: [PATCH 1/2] Build docs as html and deploy to website --- .github/workflows/release.yml | 49 +- .npmignore | 1 + README.md | 1256 +------------------ package-lock.json | 2198 ++------------------------------- package.json | 7 +- rollup.config.js | 45 +- src/apply.js | 2 + typedoc.json | 9 + webpack.config.examples.cjs | 15 +- 9 files changed, 193 insertions(+), 3389 deletions(-) create mode 100644 typedoc.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 05e527dc..7e560f85 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,30 +1,39 @@ -name: Deploy to GitHub Pages +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages on: + # Runs on pushes targeting the default branch push: - branches: - - main + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: true jobs: deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest - steps: - - name: Checkout repository + - name: Checkout uses: actions/checkout@v4 - - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 - - - name: Build - run: | - npm install - npm run build - - - name: Deploy - uses: peaceiris/actions-gh-pages@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./dist \ No newline at end of file + path: '.docs/' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.npmignore b/.npmignore index 0ab04fa4..496c5b41 100644 --- a/.npmignore +++ b/.npmignore @@ -11,3 +11,4 @@ dist/examples/ webpack.*.cjs rollup.config.js tsconfig*.json +typedoc.json diff --git a/README.md b/README.md index e255bca3..fa4d0402 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -# ol-mapbox-style - Create [OpenLayers](https://openlayers.org/) maps from [Mapbox Style](https://docs.mapbox.com/mapbox-gl-js/style-spec/) or [MapLibre Style](https://maplibre.org/maplibre-style-spec/) objects. ## Getting started @@ -22,7 +20,7 @@ When installed this way, just import the ol-mapbox-style module, like in the usa ### Usage -**See the [API](#api) section for the full documentation.** +**See the [project page](https://openlayers.org/ol-mapbox-style/) for the full documentation.** The code below creates an OpenLayers map from Mapbox's Bright v9 style, using a `https://` url: @@ -115,1255 +113,3 @@ For debugging tests in the browser, run and open a browser on the host and port indicated in the console output (usually ) and click the 'DEBUG' button to go to the debug environment. [![Test Job](https://github.com/openlayers/ol-mapbox-style/actions/workflows/test.yml/badge.svg)](https://github.com/openlayers/ol-mapbox-style/actions/workflows/test.yml) - -# API - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## \\<internal> - -### Interfaces - -- [ApplyStyleOptions](#-internal-interfacesapplystyleoptionsmd) -- [FeatureIdentifier](#-internal-interfacesfeatureidentifiermd) -- [Options](#-internal-interfacesoptionsmd) -- [Options](#-internal-interfacesoptionsmd) - -### Type Aliases - -- [ResourceType](#-internal-type-aliasesresourcetypemd) - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Interface: ApplyStyleOptions - -### Properties - -#### layers? - -> `optional` **layers**: `string`\[] - -Layers. If no source is provided, the layers with the -provided ids will be used from the style's `layers` array. All layers need to use the same source. - -* * * - -#### source? - -> `optional` **source**: `string` - -Source. Default is `''`, which causes the first source in the -style to be used. - -* * * - -#### updateSource? - -> `optional` **updateSource**: `boolean` - -Update or create vector (tile) layer source with parameters -specified for the source in the mapbox style definition. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Interface: FeatureIdentifier - -### Properties - -#### id - -> **id**: `string` \| `number` - -The feature id. - -* * * - -#### source - -> **source**: `string` - -The source id. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Interface: Options - -### Properties - -#### accessToken? - -> `optional` **accessToken**: `string` - -The access token for your Mapbox/MapLibre style. This has to be provided -for `mapbox://` style urls. For `https://` and other urls, any access key must be the last query -parameter of the style url. - -* * * - -#### background? - -> `optional` **background**: `false` \| `BackgroundColor` - -Background color for the layer. -If not specified, the background from the Mapbox/MapLibre Style object will be used. Set to `false` to prevent -the Mapbox/MapLibre style's background from being used. - -* * * - -#### className? - -> `optional` **className**: `string` - -A CSS class name to set to the layer element. - -* * * - -#### declutter? - -> `optional` **declutter**: `boolean` - -Declutter images and text. Decluttering is applied to all -image and text styles of all Vector and VectorTile layers that have set this to `true`. The priority -is defined by the z-index of the layer, the `zIndex` of the style and the render order of features. -Higher z-index means higher priority. Within the same z-index, a feature rendered before another has -higher priority. - -As an optimization decluttered features from layers with the same `className` are rendered above -the fill and stroke styles of all of those layers regardless of z-index. To opt out of this -behavior and place declutterd features with their own layer configure the layer with a `className` -other than `ol-layer`. - -* * * - -#### extent? - -> `optional` **extent**: `Extent` - -The bounding extent for layer rendering. The layer will not be -rendered outside of this extent. - -* * * - -#### layers? - -> `optional` **layers**: `string`\[] - -Limit rendering to the list of included layers. All layers -must share the same vector source. If your style uses more than one source, you need to use -either the `source` property or the `layers` property to limit rendering to a single vector -source. - -* * * - -#### map? - -> `optional` **map**: `Map` - -Sets the layer as overlay on a map. The map will not manage -this layer in its layers collection, and the layer will be rendered on top. This is useful for -temporary layers. The standard way to add a layer to a map and have it managed by the map is to -use `map.addLayer()`. - -* * * - -#### maxResolution? - -> `optional` **maxResolution**: `number` - -The maximum resolution (exclusive) below which this layer will -be visible. If neither `maxResolution` nor `minZoom` are defined, the layer's `maxResolution` will -match the style source's `minzoom`. - -* * * - -#### maxZoom? - -> `optional` **maxZoom**: `number` - -The maximum view zoom level (inclusive) at which this layer will -be visible. - -* * * - -#### minResolution? - -> `optional` **minResolution**: `number` - -The minimum resolution (inclusive) at which this layer will be -visible. - -* * * - -#### minZoom? - -> `optional` **minZoom**: `number` - -The minimum view zoom level (exclusive) above which this layer will -be visible. If neither `maxResolution` nor `minZoom` are defined, the layer's `minZoom` will match -the style source's `minzoom`. - -* * * - -#### opacity? - -> `optional` **opacity**: `number` - -Opacity (0, 1). - -* * * - -#### preload? - -> `optional` **preload**: `number` - -Preload. Load low-resolution tiles up to `preload` levels. `0` -means no preloading. - -* * * - -#### properties? - -> `optional` **properties**: `object` - -Arbitrary observable properties. Can be accessed with `#get()` and `#set()`. - -* * * - -#### renderBuffer? - -> `optional` **renderBuffer**: `number` - -The buffer in pixels around the tile extent used by the -renderer when getting features from the vector tile for the rendering or hit-detection. -Recommended value: Vector tiles are usually generated with a buffer, so this value should match -the largest possible buffer of the used tiles. It should be at least the size of the largest -point symbol or line width. - -* * * - -#### renderMode? - -> `optional` **renderMode**: `VectorTileRenderType` - -Render mode for vector tiles: - -- `'hybrid'`: Polygon and line elements are rendered as images, so pixels are scaled during zoom - animations. Point symbols and texts are accurately rendered as vectors and can stay upright on - rotated views. -- `'vector'`: Everything is rendered as vectors. Use this mode for improved performance on vector - tile layers with only a few rendered features (e.g. for highlighting a subset of features of - another layer with the same source). - -* * * - -#### renderOrder? - -> `optional` **renderOrder**: `OrderFunction` - -Render order. Function to be used when sorting -features before rendering. By default features are drawn in the order that they are created. Use -`null` to avoid the sort, but get an undefined draw order. - -* * * - -#### source? - -> `optional` **source**: `string` - -If your style uses more than one source, you need to use either the -`source` property or the `layers` property to limit rendering to a single vector source. The -`source` property corresponds to the id of a vector source in your Mapbox/MapLibre style. - -* * * - -#### styleUrl - -> **styleUrl**: `string` - -The URL of the Mapbox/MapLibre Style object to use for this layer. For a -style created with Mapbox Studio and hosted on Mapbox, this will look like -'mapbox://styles/you/your-style'. - -* * * - -#### updateWhileAnimating? - -> `optional` **updateWhileAnimating**: `boolean` - -When set to `true`, feature batches will be -recreated during animations. This means that no vectors will be shown clipped, but the setting -will have a performance impact for large amounts of vector data. When set to `false`, batches -will be recreated when no animation is active. - -* * * - -#### updateWhileInteracting? - -> `optional` **updateWhileInteracting**: `boolean` - -When set to `true`, feature batches will be -recreated during interactions. See also `updateWhileAnimating`. - -* * * - -#### useInterimTilesOnError? - -> `optional` **useInterimTilesOnError**: `boolean` - -Use interim tiles on error. - -* * * - -#### visible? - -> `optional` **visible**: `boolean` - -Visibility. - -* * * - -#### zIndex? - -> `optional` **zIndex**: `number` - -The z-index for layer rendering. At rendering time, the layers -will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed -for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()` -method was used. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Type Alias: ResourceType - -> **ResourceType**\\<>: `"Style"` \| `"Source"` \| `"Sprite"` \| `"SpriteImage"` \| `"Tiles"` \| `"GeoJSON"` - -### Type Parameters - - - -**ol-mapbox-style** - -* * * - -## ol-mapbox-style - -### References - -#### default - -Renames and re-exports [apply](#functionsapplymd) - -### Modules - -- [\\<internal>](#-internal-readmemd) - -### Classes - -- [MapboxVectorLayer](#classesmapboxvectorlayermd) - -### Functions - -- [addMapboxLayer](#functionsaddmapboxlayermd) -- [apply](#functionsapplymd) -- [applyBackground](#functionsapplybackgroundmd) -- [applyStyle](#functionsapplystylemd) -- [getFeatureState](#functionsgetfeaturestatemd) -- [getLayer](#functionsgetlayermd) -- [getLayers](#functionsgetlayersmd) -- [getMapboxLayer](#functionsgetmapboxlayermd) -- [getSource](#functionsgetsourcemd) -- [getStyleForLayer](#functionsgetstyleforlayermd) -- [recordStyleLayer](#functionsrecordstylelayermd) -- [removeMapboxLayer](#functionsremovemapboxlayermd) -- [renderTransparent](#functionsrendertransparentmd) -- [setFeatureState](#functionssetfeaturestatemd) -- [stylefunction](#functionsstylefunctionmd) -- [updateMapboxLayer](#functionsupdatemapboxlayermd) -- [updateMapboxSource](#functionsupdatemapboxsourcemd) - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Class: MapboxVectorLayer - -```js -import {MapboxVectorLayer} from 'ol-mapbox-style'; -``` - -A vector tile layer based on a Mapbox/MapLibre style that uses a single vector source. Configure -the layer with the `styleUrl` and `accessToken` shown in Mapbox Studio's share panel. -If the style uses more than one source, use the `source` property to choose a single -vector source. If you want to render a subset of the layers in the style, use the `layers` -property (all layers must share the same vector source). See the constructor options for -more detail. - - const map = new Map({ - view: new View({ - center: [0, 0], - zoom: 1, - }), - layers: [ - new MapboxVectorLayer({ - styleUrl: 'mapbox://styles/mapbox/bright-v9', - accessToken: 'your-mapbox-access-token-here', - }), - ], - target: 'map', - }); - -On configuration or loading error, the layer will trigger an `'error'` event. Listeners -will receive an object with an `error` property that can be used to diagnose the problem. - -Instances of this class emit an `error` event when an error occurs during style loading: - - layer.on('error', function() { - console.error('Error loading style'); - } - -**Note for users of the full build**: The `MapboxVectorLayer` requires the -[ol-mapbox-style](https://github.com/openlayers/ol-mapbox-style) library to be loaded as well. - -### Param - -Options. - -### Extends - -- `VectorTileLayer` - -### Constructors - -#### new MapboxVectorLayer() - -> **new MapboxVectorLayer**(`options`): [`MapboxVectorLayer`](#classesmapboxvectorlayermd) - -##### Parameters - -###### options - -[`Options`](#-internal-interfacesoptionsmd) - -Layer options. At a minimum, `styleUrl` and `accessToken` -must be provided. - -##### Returns - -[`MapboxVectorLayer`](#classesmapboxvectorlayermd) - -##### Overrides - -`VectorTileLayer.constructor` - -### Properties - -#### accessToken - -> **accessToken**: `string` - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: addMapboxLayer() - -> **addMapboxLayer**(`mapOrGroup`, `mapboxLayer`, `beforeLayerId`?): `Promise`\\<`void`> - -Add a new Mapbox Layer object to the style. The map will be re-rendered. - -### Parameters - -#### mapOrGroup - -The Map or LayerGroup `apply` was called on. - -`Map` \| `LayerGroup` - -#### mapboxLayer - -`any` - -Mapbox Layer object. - -#### beforeLayerId? - -`string` - -Optional id of the Mapbox Layer before the new layer that will be added. - -### Returns - -`Promise`\\<`void`> - -Resolves when the added layer is available. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: apply() - -> **apply**(`mapOrGroupOrElement`, `style`, `options`): `Promise`\\<`Map` \| `LayerGroup`> - -Loads and applies a Mapbox/MapLibre Style object into an OpenLayers Map or LayerGroup. -This includes the map background, the layers, and for Map instances that did not -have a View defined yet also the center and the zoom. - -**Example:** - -```js -import apply from 'ol-mapbox-style'; - -apply('map', 'mapbox://styles/mapbox/bright-v9', {accessToken: 'YOUR_MAPBOX_TOKEN'}); -``` - -The center and zoom will only be set if present in the Mapbox/MapLibre Style document, -and if not already set on the OpenLayers map. - -Layers will be added to the OpenLayers map, without affecting any layers that -might already be set on the map. - -Layers added by `apply()` will have two additional properties: - -- `mapbox-source`: The `id` of the Mapbox/MapLibre Style document's source that the - OpenLayers layer was created from. Usually `apply()` creates one - OpenLayers layer per Mapbox/MapLibre Style source, unless the layer stack has - layers from different sources in between. -- `mapbox-layers`: The `id`s of the Mapbox/MapLibre Style document's layers that are - included in the OpenLayers layer. - -This function sets an additional `mapbox-style` property on the OpenLayers -Map or LayerGroup instance, which holds the Mapbox/MapLibre Style object. - -### Parameters - -#### mapOrGroupOrElement - -Either an existing -OpenLayers Map instance, or a HTML element, or the id of a HTML element that will be -the target of a new OpenLayers Map, or a layer group. If layer group, styles -releated to the map and view will be ignored. - -`string` \| `Map` \| `LayerGroup` \| `HTMLElement` - -#### style - -`any` - -JSON style object or style url pointing to a -Mapbox/MapLibre Style object. When using Mapbox APIs, the url is the `styleUrl` -shown in Mapbox Studio's "share" panel. In addition, the `accessToken` option -(see below) must be set. -When passed as JSON style object, all OpenLayers layers created by `apply()` -will be immediately available, but they may not have a source yet (i.e. when -they are defined by a TileJSON url in the Mapbox/MapLibre Style document). When passed -as style url, layers will be added to the map when the Mapbox/MapLibre Style document -is loaded and parsed. - -#### options - -[`Options`](#-internal-interfacesoptionsmd) = `{}` - -Options. - -### Returns - -`Promise`\\<`Map` \| `LayerGroup`> - -A promise that resolves after all layers have been added to -the OpenLayers Map instance or LayerGroup, their sources set, and their styles applied. The -`resolve` callback will be called with the OpenLayers Map instance or LayerGroup as -argument. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: applyBackground() - -> **applyBackground**(`mapOrLayer`, `glStyle`, `options`): `Promise`\\<`any`> - -Applies properties of the Mapbox/MapLibre Style's first `background` layer to the -provided map or layer (group). - -**Example:** - -```js -import {applyBackground} from 'ol-mapbox-style'; -import {Map} from 'ol'; - -const map = new Map({target: 'map'}); -applyBackground(map, 'https://api.maptiler.com/maps/basic/style.json?key=YOUR_OPENMAPTILES_TOKEN'); -``` - -### Parameters - -#### mapOrLayer - -OpenLayers Map or layer (group). - -`Map` \| `BaseLayer` - -#### glStyle - -`any` - -Mapbox/MapLibre Style object or url. - -#### options - -[`Options`](#-internal-interfacesoptionsmd) = `{}` - -Options. - -### Returns - -`Promise`\\<`any`> - -Promise that resolves when the background is applied. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: applyStyle() - -> **applyStyle**(`layer`, `glStyle`, `sourceOrLayersOrOptions`?, `optionsOrPath`?, `resolutions`?): `Promise`\\<`any`> - -Applies a style function to an `ol/layer/VectorTile` or `ol/layer/Vector` -with an `ol/source/VectorTile` or an `ol/source/Vector`. If the layer does not have a source -yet, it will be created and populated from the information in the `glStyle` (unless `updateSource` is -set to `false`). - -**Example:** - -```js -import {applyStyle} from 'ol-mapbox-style'; -import {VectorTile} from 'ol/layer.js'; - -const layer = new VectorTile({declutter: true}); -applyStyle(layer, 'https://api.maptiler.com/maps/basic/style.json?key=YOUR_OPENMAPTILES_TOKEN'); -``` - -The style function will render all layers from the `glStyle` object that use the source -of the first layer, the specified `source`, or a subset of layers from the same source. The -source needs to be a `"type": "vector"` or `"type": "geojson"` source. - -Two additional properties will be set on the provided layer: - -- `mapbox-source`: The `id` of the Mapbox/MapLibre Style document's source that the - OpenLayers layer was created from. Usually `apply()` creates one - OpenLayers layer per Mapbox/MapLibre Style source, unless the layer stack has - layers from different sources in between. -- `mapbox-layers`: The `id`s of the Mapbox/MapLibre Style document's layers that are - included in the OpenLayers layer. - -### Parameters - -#### layer - -OpenLayers layer. When the layer has a source configured, -it will be modified to use the configuration from the glStyle's `source`. Options specified on the -layer's source will override those from the glStyle's `source`, except for `url` and -`tileUrlFunction`. When the source projection is the default (`EPSG:3857`), the `tileGrid` will -also be overridden. If you'd rather not have ol-mapbox-style modify the source, configure `applyStyle()` -with the `updateSource: false` option. - -`VectorLayer`\\<`any`> \| `VectorTileLayer`\\<`any`> - -#### glStyle - -`any` - -Mapbox/MapLibre Style object. - -#### sourceOrLayersOrOptions? - -Options or -`source` key or an array of layer `id`s from the Mapbox/MapLibre Style object. When a `source` key is -provided, all layers for the specified source will be included in the style function. When layer -`id`s are provided, they must be from layers that use the same source. When not provided or a falsey -value, all layers using the first source specified in the glStyle will be rendered. - -`string` \| `string`\[] | [`Options`](#-internal-interfacesoptionsmd) & [`ApplyStyleOptions`](#-internal-interfacesapplystyleoptionsmd) - -#### optionsOrPath? - -**Deprecated**. Options. Alternatively the path of the style file -(only required when a relative path is used for the `"sprite"` property of the style). - -`string` \| [`Options`](#-internal-interfacesoptionsmd) & [`ApplyStyleOptions`](#-internal-interfacesapplystyleoptionsmd) - -#### resolutions? - -`number`\[] = `undefined` - -**Deprecated**. Resolutions for mapping resolution to zoom level. -Only needed when working with non-standard tile grids or projections, can also be supplied with -options. - -### Returns - -`Promise`\\<`any`> - -Promise which will be resolved when the style can be used -for rendering. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: getFeatureState() - -> **getFeatureState**(`mapOrLayer`, `feature`): `any` - -Sets or removes a feature state. The feature state is taken into account for styling, -just like the feature's properties, and can be used e.g. to conditionally render selected -features differently. - -### Parameters - -#### mapOrLayer - -Map or layer to set the feature state on. - -`Map` \| `VectorLayer`\\<`any`> \| `VectorTileLayer`\\<`any`> - -#### feature - -[`FeatureIdentifier`](#-internal-interfacesfeatureidentifiermd) - -Feature identifier. - -### Returns - -`any` - -Feature state or `null` when no feature state is set for the given -feature identifier. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: getLayer() - -> **getLayer**(`map`, `layerId`): `Layer` - -Get the OpenLayers layer instance that contains the provided Mapbox/MapLibre Style -`layer`. Note that multiple Mapbox/MapLibre Style layers are combined in a single -OpenLayers layer instance when they use the same Mapbox/MapLibre Style `source`. - -### Parameters - -#### map - -OpenLayers Map or LayerGroup. - -`Map` \| `LayerGroup` - -#### layerId - -`string` - -Mapbox/MapLibre Style layer id. - -### Returns - -`Layer` - -OpenLayers layer instance. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: getLayers() - -> **getLayers**(`map`, `sourceId`): `Layer`\[] - -Get the OpenLayers layer instances for the provided Mapbox/MapLibre Style `source`. - -### Parameters - -#### map - -OpenLayers Map or LayerGroup. - -`Map` \| `LayerGroup` - -#### sourceId - -`string` - -Mapbox/MapLibre Style source id. - -### Returns - -`Layer`\[] - -OpenLayers layer instances. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: getMapboxLayer() - -> **getMapboxLayer**(`mapOrGroup`, `layerId`): `any` - -Get the Mapbox Layer object for the provided `layerId`. - -### Parameters - -#### mapOrGroup - -Map or LayerGroup. - -`Map` \| `LayerGroup` - -#### layerId - -`string` - -Mapbox Layer id. - -### Returns - -`any` - -Mapbox Layer object. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: getSource() - -> **getSource**(`map`, `sourceId`): `Source` - -Get the OpenLayers source instance for the provided Mapbox/MapLibre Style `source`. - -### Parameters - -#### map - -OpenLayers Map or LayerGroup. - -`Map` \| `LayerGroup` - -#### sourceId - -`string` - -Mapbox/MapLibre Style source id. - -### Returns - -`Source` - -OpenLayers source instance. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: getStyleForLayer() - -> **getStyleForLayer**(`feature`, `resolution`, `olLayer`, `layerId`): `Style`\[] - -Get the the style for a specific Mapbox layer only. This can be useful for creating a legend. - -### Parameters - -#### feature - -OpenLayers feature. - -`RenderFeature` \| `Feature` - -#### resolution - -`number` - -View resolution. - -#### olLayer - -OpenLayers layer. - -`VectorLayer`\\<`any`> \| `VectorTileLayer`\\<`any`> - -#### layerId - -`string` - -Id of the Mapbox layer to get the style for - -### Returns - -`Style`\[] - -Styles for the provided Mapbox layer. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: recordStyleLayer() - -> **recordStyleLayer**(`record`): `void` - -Turns recording of the Mapbox/MapLibre Style's `layer` on and off. When turned on, -the layer that a rendered feature belongs to will be set as the feature's -`mapbox-layer` property. - -### Parameters - -#### record - -`boolean` = `false` - -Recording of the style layer is on. - -### Returns - -`void` - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: removeMapboxLayer() - -> **removeMapboxLayer**(`mapOrGroup`, `mapboxLayerIdOrLayer`): `void` - -Remove a Mapbox Layer object from the style. The map will be re-rendered. - -### Parameters - -#### mapOrGroup - -The Map or LayerGroup `apply` was called on. - -`Map` \| `LayerGroup` - -#### mapboxLayerIdOrLayer - -`any` - -Mapbox Layer id or Mapbox Layer object. - -### Returns - -`void` - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: renderTransparent() - -> **renderTransparent**(`enabled`): `void` - -Configure whether features with a transparent style should be rendered. When -set to `true`, it will be possible to hit detect content that is not visible, -like transparent fills of polygons, using `ol/layer/Layer#getFeatures()` or -`ol/Map#getFeaturesAtPixel()` - -### Parameters - -#### enabled - -`boolean` - -Rendering of transparent elements is enabled. -Default is `false`. - -### Returns - -`void` - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: setFeatureState() - -> **setFeatureState**(`mapOrLayer`, `feature`, `state`): `void` - -Sets or removes a feature state. The feature state is taken into account for styling, -just like the feature's properties, and can be used e.g. to conditionally render selected -features differently. - -The feature state will be stored on the OpenLayers layer matching the feature identifier, in the -`mapbox-featurestate` property. - -### Parameters - -#### mapOrLayer - -OpenLayers Map or layer to set the feature -state on. - -`Map` \| `VectorLayer`\\<`any`> \| `VectorTileLayer`\\<`any`> - -#### feature - -[`FeatureIdentifier`](#-internal-interfacesfeatureidentifiermd) - -Feature identifier. - -#### state - -`any` - -Feature state. Set to `null` to remove the feature state. - -### Returns - -`void` - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: stylefunction() - -> **stylefunction**(`olLayer`, `glStyle`, `sourceOrLayers`, `resolutions`, `spriteData`, `spriteImageUrl`, `getFonts`, `getImage`?, ...`args`?): `StyleFunction` - -Creates a style function from the `glStyle` object for all layers that use -the specified `source`, which needs to be a `"type": "vector"` or -`"type": "geojson"` source and applies it to the specified OpenLayers layer. - -Two additional properties will be set on the provided layer: - -- `mapbox-source`: The `id` of the Mapbox/MapLibre Style document's source that the - OpenLayers layer was created from. Usually `apply()` creates one - OpenLayers layer per Mapbox/MapLibre Style source, unless the layer stack has - layers from different sources in between. -- `mapbox-layers`: The `id`s of the Mapbox/MapLibre Style document's layers that are - included in the OpenLayers layer. - -This function also works in a web worker. In worker mode, the main thread needs -to listen to messages from the worker and respond with another message to make -sure that sprite image loading works: - -```js - worker.addEventListener('message', event => { - if (event.data.action === 'loadImage') { - const image = new Image(); - image.crossOrigin = 'anonymous'; - image.addEventListener('load', function() { - createImageBitmap(image, 0, 0, image.width, image.height).then(imageBitmap => { - worker.postMessage({ - action: 'imageLoaded', - image: imageBitmap, - src: event.data.src - }, [imageBitmap]); - }); - }); - image.src = event.data.src; - } -}); -``` - -### Parameters - -#### olLayer - -OpenLayers layer to -apply the style to. In addition to the style, the layer will get two -properties: `mapbox-source` will be the `id` of the `glStyle`'s source used -for the layer, and `mapbox-layers` will be an array of the `id`s of the -`glStyle`'s layers. - -`VectorLayer`\\<`any`> \| `VectorTileLayer`\\<`any`> - -#### glStyle - -`any` - -Mapbox/MapLibre Style object. - -#### sourceOrLayers - -`source` key or an array of layer `id`s -from the Mapbox/MapLibre Style object. When a `source` key is provided, all layers for -the specified source will be included in the style function. When layer `id`s -are provided, they must be from layers that use the same source. - -`string` \| `string`\[] - -#### resolutions - -`number`\[] - -Resolutions for mapping resolution to zoom level. - -#### spriteData - -`any` = `defaultResolutions` - -Sprite data from the url specified in -the Mapbox/MapLibre Style object's `sprite` property. Only required if a `sprite` -property is specified in the Mapbox/MapLibre Style object. - -#### spriteImageUrl - -Sprite image url for the sprite -specified in the Mapbox/MapLibre Style object's `sprite` property. Only required if a -`sprite` property is specified in the Mapbox/MapLibre Style object. - -`string` \| `Request` \| `Promise`\\<`string` \| `Request`> - -#### getFonts - -(`arg0`, `arg1`) => `string`\[] - -Function that -receives a font stack and the url template from the GL style's `metadata['ol:webfonts']` -property (if set) as arguments, and returns a (modified) font stack that -is available. Font names are the names used in the Mapbox/MapLibre Style object. If -not provided, the font stack will be used as-is. This function can also be -used for loading web fonts. - -#### getImage? - -(`arg0`, `arg1`) => `string` \| `HTMLCanvasElement` \| `HTMLImageElement` - -Function that returns an image or a URL for an image name. If the result is an HTMLImageElement, it must already be -loaded. The layer can be used to call layer.changed() when the loading and processing of the image has finished. -This function can be used for icons not in the sprite or to override sprite icons. - -#### args? - -...`any` = `undefined` - -### Returns - -`StyleFunction` - -Style function for use in -`ol.layer.Vector` or `ol.layer.VectorTile`. - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: updateMapboxLayer() - -> **updateMapboxLayer**(`mapOrGroup`, `mapboxLayer`): `void` - -Update a Mapbox Layer object in the style. The map will be re-rendered with the new style. - -### Parameters - -#### mapOrGroup - -The Map or LayerGroup `apply` was called on. - -`Map` \| `LayerGroup` - -#### mapboxLayer - -`any` - -Updated Mapbox Layer object. - -### Returns - -`void` - - - -[**ol-mapbox-style**](#readmemd) - -* * * - -## Function: updateMapboxSource() - -> **updateMapboxSource**(`mapOrGroup`, `id`, `mapboxSource`): `Promise`\\<`Source`> - -Updates a Mapbox source object in the style. The according OpenLayers source will be replaced -and the map will be re-rendered. - -### Parameters - -#### mapOrGroup - -The Map or LayerGroup `apply` was called on. - -`Map` \| `LayerGroup` - -#### id - -`string` - -Key of the source in the `sources` object literal. - -#### mapboxSource - -`any` - -Mapbox source object. - -### Returns - -`Promise`\\<`Source`> - -Promise that resolves when the source has been updated. diff --git a/package-lock.json b/package-lock.json index 4e307332..e145a8b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,8 +21,6 @@ "@types/mocha": "^10.0.0", "@types/offscreencanvas": "^2019.6.4", "@types/topojson-specification": "^1.0.1", - "add-text-to-markdown": "^2.0.0", - "concat-md": "^0.5.0", "copy-webpack-plugin": "^12.0.2", "cross-env": "^7.0.3", "css-loader": "^7.0.0", @@ -790,12 +788,6 @@ "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", "license": "MIT" }, - "node_modules/@maplibre/maplibre-gl-style-spec/node_modules/quickselect": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", - "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", - "license": "ISC" - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, @@ -852,7 +844,9 @@ } }, "node_modules/@petamoriken/float16": { - "version": "3.8.7", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.9.1.tgz", + "integrity": "sha512-j+ejhYwY6PeB+v1kn7lZFACUIG97u90WxMuGosILFsl9d4Ovi0sjk0GlPfoEcx+FzvXZDAfioD+NGnnPamXgMA==", "license": "MIT", "peer": true }, @@ -1184,27 +1178,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@textlint/ast-node-types": { - "version": "12.6.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@textlint/markdown-to-ast": { - "version": "12.6.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@textlint/ast-node-types": "^12.6.1", - "debug": "^4.3.4", - "mdast-util-gfm-autolink-literal": "^0.1.3", - "remark-footnotes": "^3.0.0", - "remark-frontmatter": "^3.0.0", - "remark-gfm": "^1.0.0", - "remark-parse": "^9.0.0", - "traverse": "^0.6.7", - "unified": "^9.2.2" - } - }, "node_modules/@tootallnate/quickjs-emscripten": { "version": "0.23.0", "dev": true, @@ -1360,24 +1333,11 @@ "@types/geojson": "*" } }, - "node_modules/@types/mdast": { - "version": "3.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, "node_modules/@types/mime": { "version": "1.3.2", "dev": true, "license": "MIT" }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, "node_modules/@types/mocha": { "version": "10.0.10", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz", @@ -1398,11 +1358,6 @@ "@types/node": "*" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "dev": true, - "license": "MIT" - }, "node_modules/@types/offscreencanvas": { "version": "2019.7.3", "dev": true, @@ -1418,6 +1373,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/rbush": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/rbush/-/rbush-4.0.0.tgz", + "integrity": "sha512-+N+2H39P8X+Hy1I5mC6awlTX54k3FhiUmvt7HWzGJZvF+syUAAxP/stwppS8JE84YHqFgRMv6fCy31202CMFxQ==", + "license": "MIT", + "peer": true + }, "node_modules/@types/resolve": { "version": "1.20.2", "dev": true, @@ -1714,206 +1676,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/add-text-to-markdown": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-stdin": "^5.0.1", - "mdast-util-inject": "^1.1.0", - "meow": "^3.7.0", - "remark": "^6.0.1" - }, - "bin": { - "add-text-to-markdown": "bin/cmd.js" - } - }, - "node_modules/add-text-to-markdown/node_modules/camelcase": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/camelcase-keys": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/find-up": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, - "node_modules/add-text-to-markdown/node_modules/indent-string": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/map-obj": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/meow": { - "version": "3.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/normalize-package-data": { - "version": "2.5.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/add-text-to-markdown/node_modules/path-exists": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/path-type": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/read-pkg": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/read-pkg-up": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/redent": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/semver": { - "version": "5.7.2", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/add-text-to-markdown/node_modules/strip-indent": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-stdin": "^4.0.1" - }, - "bin": { - "strip-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/strip-indent/node_modules/get-stdin": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/add-text-to-markdown/node_modules/trim-newlines": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/agent-base": { "version": "7.1.3", "dev": true, @@ -1981,14 +1743,6 @@ "ajv": "^6.9.1" } }, - "node_modules/anchor-markdown-header": { - "version": "0.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "~10.1.0" - } - }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -2051,14 +1805,6 @@ "node": ">=14" } }, - "node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -2076,14 +1822,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-find-index": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-includes": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", @@ -2105,14 +1843,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/array.prototype.findlastindex": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", @@ -2194,14 +1924,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arrify": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ast-types": { "version": "0.13.4", "dev": true, @@ -2244,15 +1966,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/bail": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -2605,30 +2318,6 @@ "tslib": "^2.0.3" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001677", "dev": true, @@ -2648,15 +2337,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/ccount": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chalk": { "version": "2.4.2", "dev": true, @@ -2670,51 +2350,15 @@ "node": ">=4" } }, - "node_modules/character-entities": { - "version": "1.2.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "1.1.4", + "node_modules/chokidar": { + "version": "3.5.3", "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "license": "MIT", "dependencies": { "anymatch": "~3.1.2", @@ -2797,15 +2441,6 @@ "node": ">=6" } }, - "node_modules/collapse-white-space": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/color-convert": { "version": "1.9.3", "dev": true, @@ -2821,6 +2456,8 @@ }, "node_modules/color-parse": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz", + "integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==", "license": "MIT", "peer": true, "dependencies": { @@ -2829,6 +2466,8 @@ }, "node_modules/color-parse/node_modules/color-name": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.0.tgz", + "integrity": "sha512-SbtvAMWvASO5TE2QP07jHBMXKafgdZz8Vrsrn96fiL+O92/FN/PLARzUW5sKt013fjAprK2d2iCn2hk2Xb5oow==", "license": "MIT", "peer": true, "engines": { @@ -2837,6 +2476,8 @@ }, "node_modules/color-rgba": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-3.0.0.tgz", + "integrity": "sha512-PPwZYkEY3M2THEHHV6Y95sGUie77S7X8v+h1r6LSAPF3/LL2xJ8duUXSrkic31Nzc4odPwHgUbiX/XuTYzQHQg==", "license": "MIT", "peer": true, "dependencies": { @@ -2845,7 +2486,9 @@ } }, "node_modules/color-space": { - "version": "2.0.1", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/color-space/-/color-space-2.3.1.tgz", + "integrity": "sha512-5DJdKYwoDji3ik/i0xSn+SiwXsfwr+1FEcCMUz2GS5speGCfGSbBMOLd84SDUBOuX8y4CvdFJmOBBJuC4wp7sQ==", "license": "MIT", "peer": true }, @@ -2931,25 +2574,6 @@ "dev": true, "license": "MIT" }, - "node_modules/concat-md": { - "version": "0.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "doctoc": "^2.2.1", - "front-matter": "^4.0.2", - "globby": "^11.1.0", - "lodash.startcase": "^4.4.0", - "meow": "^9.0.0", - "transform-markdown-links": "^2.0.0" - }, - "bin": { - "concat-md": "dist/bin/concat-md.js" - }, - "engines": { - "node": ">=10.8.0" - } - }, "node_modules/connect": { "version": "3.7.0", "dev": true, @@ -3343,17 +2967,6 @@ "node": ">=4" } }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "array-find-index": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/custom-event": { "version": "1.0.1", "dev": true, @@ -3445,42 +3058,6 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/deep-freeze": { "version": "0.0.1", "dev": true, @@ -3636,17 +3213,6 @@ "node": ">=0.3.1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dns-packet": { "version": "5.6.1", "dev": true, @@ -3658,51 +3224,6 @@ "node": ">=6" } }, - "node_modules/doctoc": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@textlint/markdown-to-ast": "^12.1.1", - "anchor-markdown-header": "^0.6.0", - "htmlparser2": "^7.2.0", - "minimist": "^1.2.6", - "underscore": "^1.13.2", - "update-section": "^0.3.3" - }, - "bin": { - "doctoc": "doctoc.js" - } - }, - "node_modules/doctoc/node_modules/entities": { - "version": "3.0.1", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/doctoc/node_modules/htmlparser2": { - "version": "7.2.0", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } - }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -3811,7 +3332,9 @@ } }, "node_modules/earcut": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.1.tgz", + "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==", "license": "ISC", "peer": true }, @@ -3830,11 +3353,6 @@ "dev": true, "license": "ISC" }, - "node_modules/emoji-regex": { - "version": "10.1.0", - "dev": true, - "license": "MIT" - }, "node_modules/emojis-list": { "version": "3.0.0", "dev": true, @@ -4797,7 +4315,9 @@ } }, "node_modules/express": { - "version": "4.21.1", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, "license": "MIT", "dependencies": { @@ -4820,7 +4340,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -4835,6 +4355,10 @@ }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/express/node_modules/array-flatten": { @@ -4908,7 +4432,9 @@ } }, "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.10", + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", "dev": true, "license": "MIT" }, @@ -5032,18 +4558,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fault": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/faye-websocket": { "version": "0.11.4", "dev": true, @@ -5212,13 +4726,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/format": { - "version": "0.2.2", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/forwarded": { "version": "0.2.0", "dev": true, @@ -5235,14 +4742,6 @@ "node": ">= 0.6" } }, - "node_modules/front-matter": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "js-yaml": "^3.13.1" - } - }, "node_modules/fs-extra": { "version": "10.1.0", "dev": true, @@ -5322,6 +4821,8 @@ }, "node_modules/geotiff": { "version": "2.1.3", + "resolved": "https://registry.npmjs.org/geotiff/-/geotiff-2.1.3.tgz", + "integrity": "sha512-PT6uoF5a1+kbC3tHmZSUsLHBp2QJlHasxxxxPW47QIY1VBKpFB+FcDvX+MxER6UzgLQZ0xDzJ9s48B9JbOCTqA==", "license": "MIT", "peer": true, "dependencies": { @@ -5340,6 +4841,8 @@ }, "node_modules/geotiff/node_modules/quick-lru": { "version": "6.1.2", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.2.tgz", + "integrity": "sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==", "license": "MIT", "peer": true, "engines": { @@ -5396,14 +4899,6 @@ "node": ">= 0.4" } }, - "node_modules/get-stdin": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/get-stream": { "version": "6.0.1", "dev": true, @@ -5511,25 +5006,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "11.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -5553,25 +5029,6 @@ "dev": true, "license": "MIT" }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -5668,17 +5125,6 @@ "he": "bin/he" } }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/hpack.js": { "version": "2.1.6", "dev": true, @@ -5846,7 +5292,9 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.4", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", "dev": true, "license": "MIT", "dependencies": { @@ -6053,14 +5501,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "dev": true, @@ -6075,11 +5515,6 @@ "dev": true, "license": "ISC" }, - "node_modules/ini": { - "version": "1.3.8", - "dev": true, - "license": "ISC" - }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -6128,36 +5563,6 @@ "node": ">= 10" } }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumeric": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -6245,11 +5650,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -6314,15 +5714,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-decimal": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-docker": { "version": "3.0.0", "dev": true, @@ -6361,17 +5752,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-finite": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "dev": true, @@ -6410,15 +5790,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-inside-container": { "version": "1.0.0", "dev": true, @@ -6490,14 +5861,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -6640,11 +6003,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, "node_modules/is-weakmap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", @@ -6691,24 +6049,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-whitespace-character": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-word-character": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-wsl": { "version": "3.1.0", "dev": true, @@ -6947,18 +6287,6 @@ "dev": true, "license": "MIT" }, - "node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/jsbn": { "version": "1.1.0", "dev": true, @@ -7196,6 +6524,8 @@ }, "node_modules/lerc": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz", + "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==", "license": "Apache-2.0", "peer": true }, @@ -7224,60 +6554,6 @@ "uc.micro": "^2.0.0" } }, - "node_modules/load-json-file": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/strip-bom": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-plugin": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "npm-prefix": "^1.2.0", - "resolve-from": "^5.0.0" - } - }, - "node_modules/load-plugin/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/loader-runner": { "version": "4.2.0", "dev": true, @@ -7301,11 +6577,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, "node_modules/log-symbols": { "version": "4.1.0", "dev": true, @@ -7400,27 +6671,6 @@ "node": ">=8.0" } }, - "node_modules/longest-streak": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loud-rejection": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/lower-case": { "version": "2.0.2", "dev": true, @@ -7475,17 +6725,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/map-obj": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/mapbox-gl-styles": { "version": "2.0.2", "dev": true, @@ -7515,15 +6754,6 @@ "integrity": "sha512-o1vqooDELinvNkLBIdrBVUtuxwhNeYPOp/7LRrSxPYzmZ9aTYEuObrFoQzH6Gn3nv7t1nkyIbj5FcbX41FbSyg==", "license": "BSD-2-Clause" }, - "node_modules/markdown-escapes": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/markdown-it": { "version": "14.1.0", "dev": true, @@ -7556,11 +6786,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/markdown-table": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -7571,283 +6796,6 @@ "node": ">= 0.4" } }, - "node_modules/mdast-util-compact": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-visit": "^1.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^4.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/unist-util-is": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-footnote": { - "version": "0.1.7", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-to-markdown": "^0.6.0", - "micromark": "~2.11.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "0.8.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown/node_modules/parse-entities": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-from-markdown/node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark-extension-frontmatter": "^0.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-gfm-autolink-literal": "^0.1.0", - "mdast-util-gfm-strikethrough": "^0.2.0", - "mdast-util-gfm-table": "^0.1.0", - "mdast-util-gfm-task-list-item": "^0.1.0", - "mdast-util-to-markdown": "^0.6.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "0.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ccount": "^1.0.0", - "mdast-util-find-and-replace": "^1.1.0", - "micromark": "^2.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "0.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-to-markdown": "^0.6.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "markdown-table": "^2.0.0", - "mdast-util-to-markdown": "~0.6.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table/node_modules/markdown-table": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "repeat-string": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-to-markdown": "~0.6.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-inject": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-to-string": "^1.0.0" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "0.6.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/parse-entities": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-to-string": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdurl": { "version": "2.0.0", "dev": true, @@ -7876,31 +6824,6 @@ "url": "https://github.com/sponsors/streamich" } }, - "node_modules/meow": { - "version": "9.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/merge-descriptors": { "version": "1.0.3", "dev": true, @@ -7946,146 +6869,14 @@ "node": ">= 0.6" } }, - "node_modules/micromark": { - "version": "2.11.4", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - } - }, - "node_modules/micromark-extension-footnote": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark": "~2.11.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-frontmatter": { - "version": "0.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fault": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark": "~2.11.0", - "micromark-extension-gfm-autolink-literal": "~0.5.0", - "micromark-extension-gfm-strikethrough": "~0.6.5", - "micromark-extension-gfm-table": "~0.4.0", - "micromark-extension-gfm-tagfilter": "~0.3.0", - "micromark-extension-gfm-task-list-item": "~0.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "0.5.7", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark": "~2.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "0.6.5", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark": "~2.11.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "0.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark": "~2.11.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark": "~2.11.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark/node_modules/parse-entities": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/micromatch": { - "version": "4.0.5", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -8130,14 +6921,6 @@ "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/mini-css-extract-plugin": { "version": "2.9.0", "dev": true, @@ -8231,19 +7014,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minimist-options": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/minipass": { "version": "7.1.2", "dev": true, @@ -8569,6 +7339,25 @@ "dev": true, "license": "ISC" }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "dev": true, @@ -8637,34 +7426,6 @@ "dev": true, "license": "MIT" }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "dev": true, @@ -8673,16 +7434,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-prefix": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "rc": "^1.1.0", - "shellsubstitute": "^1.1.0", - "untildify": "^2.1.0" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "dev": true, @@ -8816,14 +7567,17 @@ "license": "MIT" }, "node_modules/ol": { - "version": "10.0.0", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/ol/-/ol-10.4.0.tgz", + "integrity": "sha512-gv3voS4wgej1WVvdCz2ZIBq3lPWy8agaf0094E79piz8IGQzHiOWPs2in1pdoPmuTNvcqGqyUFG3IbxNE6n08g==", "license": "BSD-2-Clause", "peer": true, "dependencies": { + "@types/rbush": "4.0.0", "color-rgba": "^3.0.0", "color-space": "^2.0.1", "earcut": "^3.0.0", - "geotiff": "^2.0.7", + "geotiff": "^2.1.3", "pbf": "4.0.1", "rbush": "^4.0.0" }, @@ -8906,14 +7660,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/own-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", @@ -9009,6 +7755,8 @@ }, "node_modules/pako": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", "license": "(MIT AND Zlib)", "peer": true }, @@ -9032,21 +7780,10 @@ "node": ">=6" } }, - "node_modules/parse-entities": { - "version": "1.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, "node_modules/parse-headers": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", "license": "MIT", "peer": true }, @@ -9143,20 +7880,16 @@ } }, "node_modules/path-to-regexp": { - "version": "6.2.2", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", "dev": true, "license": "MIT" }, - "node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/pbf": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", + "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", "license": "BSD-3-Clause", "peer": true, "dependencies": { @@ -9181,37 +7914,10 @@ "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/pmtiles": { @@ -9342,23 +8048,6 @@ "dev": true, "license": "MIT" }, - "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.7", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -9420,6 +8109,8 @@ }, "node_modules/protocol-buffers-schema": { "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==", "license": "MIT", "peer": true }, @@ -9622,18 +8313,11 @@ "dev": true, "license": "MIT" }, - "node_modules/quick-lru": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/quickselect": { - "version": "2.0.0", - "license": "ISC", - "peer": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC" }, "node_modules/randombytes": { "version": "2.1.0", @@ -9666,159 +8350,13 @@ } }, "node_modules/rbush": { - "version": "4.0.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-4.0.1.tgz", + "integrity": "sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ==", "license": "MIT", "peer": true, "dependencies": { - "quickselect": "^2.0.0" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "dev": true, - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" + "quickselect": "^3.0.0" } }, "node_modules/readable-stream": { @@ -9857,18 +8395,6 @@ "node": ">= 10.13.0" } }, - "node_modules/redent": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -9921,142 +8447,6 @@ "node": ">= 0.10" } }, - "node_modules/remark": { - "version": "6.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "load-plugin": "^2.0.0", - "remark-parse": "^2.2.0", - "remark-stringify": "^2.2.0", - "unified": "^5.0.0" - }, - "bin": { - "remark": "cli.js" - }, - "engines": { - "node": ">=0.11.0" - } - }, - "node_modules/remark-footnotes": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-footnote": "^0.1.0", - "micromark-extension-footnote": "^0.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-frontmatter": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-frontmatter": "^0.2.0", - "micromark-extension-frontmatter": "^0.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-gfm": "^0.1.0", - "micromark-extension-gfm": "^0.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "9.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "2.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^1.1.0", - "mdast-util-compact": "^1.0.0", - "parse-entities": "^1.0.2", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^1.0.1", - "unherit": "^1.0.4", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=0.11.0" - } - }, - "node_modules/remark/node_modules/remark-parse": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "collapse-white-space": "^1.0.2", - "has": "^1.0.1", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.0.2", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=0.11.0" - } - }, - "node_modules/remark/node_modules/unified": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "has": "^1.0.1", - "is-buffer": "^1.1.4", - "once": "^1.3.3", - "trough": "^1.0.0", - "vfile": "^2.0.0", - "x-is-string": "^0.1.0" - }, - "engines": { - "node": ">=0.11.0" - } - }, "node_modules/renderkid": { "version": "3.0.0", "dev": true, @@ -10069,33 +8459,6 @@ "strip-ansi": "^6.0.1" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/repeating": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-finite": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/replace-ext": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/require-directory": { "version": "2.1.1", "dev": true, @@ -10167,6 +8530,8 @@ }, "node_modules/resolve-protobuf-schema": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", "license": "MIT", "peer": true, "dependencies": { @@ -10688,14 +9053,9 @@ "version": "1.8.1", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shellsubstitute": { - "version": "1.2.0", - "dev": true, - "license": "ISC" + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/should": { "version": "13.2.3", @@ -10870,14 +9230,6 @@ "node": ">=8" } }, - "node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/slashes": { "version": "3.0.12", "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", @@ -11001,29 +9353,11 @@ "node": ">=0.10.0" } }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, "node_modules/spdx-exceptions": { "version": "2.3.0", "dev": true, "license": "CC-BY-3.0" }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, "node_modules/spdx-license-ids": { "version": "3.0.10", "dev": true, @@ -11070,20 +9404,6 @@ "node": ">= 6" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/state-toggle": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/statuses": { "version": "1.5.0", "dev": true, @@ -11222,17 +9542,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stringify-entities": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", "dev": true, @@ -11274,17 +9583,6 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, @@ -11515,52 +9813,6 @@ "node": ">=0.6" } }, - "node_modules/transform-markdown-links": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/traverse": { - "version": "0.6.7", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/trim": { - "version": "0.0.1", - "dev": true - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/trim-trailing-lines": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -11611,17 +9863,6 @@ "node": ">=4" } }, - "node_modules/type-fest": { - "version": "0.18.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/type-is": { "version": "1.6.18", "dev": true, @@ -11842,24 +10083,6 @@ "through": "^2.3.8" } }, - "node_modules/underscore": { - "version": "1.13.6", - "dev": true, - "license": "MIT" - }, - "node_modules/unherit": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/unicorn-magic": { "version": "0.1.0", "dev": true, @@ -11871,131 +10094,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unified": { - "version": "9.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/is-buffer": { - "version": "2.0.5", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/unified/node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/vfile": { - "version": "4.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/vfile-message": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/unist-util-remove-position": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-visit": "^1.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/unist-util-visit": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-visit-parents": "^2.0.0" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "2.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-is": "^3.0.0" - } - }, "node_modules/universalify": { "version": "2.0.0", "dev": true, @@ -12012,17 +10110,6 @@ "node": ">= 0.8" } }, - "node_modules/untildify": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "os-homedir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/update-browserslist-db": { "version": "1.1.1", "dev": true, @@ -12052,11 +10139,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/update-section": { - "version": "0.3.3", - "dev": true, - "license": "MIT" - }, "node_modules/uri-js": { "version": "4.4.1", "dev": true, @@ -12096,15 +10178,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/vary": { "version": "1.1.2", "dev": true, @@ -12113,34 +10186,6 @@ "node": ">= 0.8" } }, - "node_modules/vfile": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.4", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" - } - }, - "node_modules/vfile-location": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-stringify-position": "^1.1.1" - } - }, "node_modules/void-elements": { "version": "2.0.1", "dev": true, @@ -12170,7 +10215,9 @@ } }, "node_modules/web-worker": { - "version": "1.3.0", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.5.0.tgz", + "integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==", "license": "Apache-2.0", "peer": true }, @@ -12860,23 +10907,13 @@ } } }, - "node_modules/x-is-string": { - "version": "0.1.0", - "dev": true - }, "node_modules/xml-utils": { - "version": "1.8.0", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.10.1.tgz", + "integrity": "sha512-Dn6vJ1Z9v1tepSjvnCpwk5QqwIPcEFKdgnjqfYOABv1ngSofuAhtlugcUC3ehS1OHdgDWSG6C5mvj+Qm15udTQ==", "license": "CC0-1.0", "peer": true }, - "node_modules/xtend": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, "node_modules/y18n": { "version": "5.0.8", "dev": true, @@ -13000,17 +11037,10 @@ }, "node_modules/zstddec": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz", + "integrity": "sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg==", "license": "MIT AND BSD-3-Clause", "peer": true - }, - "node_modules/zwitch": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } } } } diff --git a/package.json b/package.json index 914e6cdd..c2606f63 100644 --- a/package.json +++ b/package.json @@ -15,11 +15,12 @@ }, "repository": { "type": "git", - "url": "git://github.com/openlayers/ol-mapbox-style.git" + "url": "https://github.com/openlayers/ol-mapbox-style.git" }, "bugs": { "url": "https://github.com/openlayers/ol-mapbox-style/issues" }, + "homepage": "https://openlayers.org/ol-mapbox-style/", "keywords": [ "openlayers", "mapbox", @@ -31,7 +32,7 @@ "start": "webpack serve --config ./webpack.config.examples.cjs", "prepare": "npm run doc && npm run build", "build": "tsc --project tsconfig-build.json && rollup -c && webpack-cli --mode=production --config ./webpack.config.examples.cjs", - "doc": "typedoc --plugin typedoc-plugin-markdown --plugin typedoc-plugin-missing-exports src/index.js --readme none --excludeExternals --preserveAnchorCasing --hideBreadcrumbs --disableSources --tsconfig tsconfig-typecheck.json && npx concat-md docs --hide-anchor-links=false | npx add-text-to-markdown README.md --section \"API\" --write", + "doc": "typedoc --plugin typedoc-plugin-missing-exports src/index.js --excludeExternals --tsconfig tsconfig-typecheck.json", "karma": "karma start test/karma.conf.cjs", "lint": "eslint test examples src", "typecheck": "tsc --project tsconfig-typecheck.json", @@ -54,8 +55,6 @@ "@types/mocha": "^10.0.0", "@types/offscreencanvas": "^2019.6.4", "@types/topojson-specification": "^1.0.1", - "add-text-to-markdown": "^2.0.0", - "concat-md": "^0.5.0", "copy-webpack-plugin": "^12.0.2", "cross-env": "^7.0.3", "css-loader": "^7.0.0", diff --git a/rollup.config.js b/rollup.config.js index 1ae2decc..6f7fcb90 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,27 +1,32 @@ -import resolve from '@rollup/plugin-node-resolve'; +import {fileURLToPath} from 'url'; import commonjs from '@rollup/plugin-commonjs'; +import resolve from '@rollup/plugin-node-resolve'; import {terser} from 'rollup-plugin-terser'; -import {fileURLToPath} from 'url'; const __dirname = fileURLToPath(new URL('.', import.meta.url)); -const config = [{ - external: id => /ol(\/.+)?$/.test(id), - input: `${__dirname}/src/index.js`, - output: { - name: 'olms', - globals: id => /ol(\/.+)?$/.test(id) ? id.replace(/\.js$/, '').split('/').join('.') : id, - file: `${__dirname}/dist/olms.js`, - format: 'umd', - sourcemap: true, - plugins: [terser()] +const config = [ + { + external: (id) => /ol(\/.+)?$/.test(id), + input: `${__dirname}/src/index.js`, + output: { + name: 'olms', + globals: (id) => + /ol(\/.+)?$/.test(id) + ? id.replace(/\.js$/, '').split('/').join('.') + : id, + file: `${__dirname}/dist/olms.js`, + format: 'umd', + sourcemap: true, + plugins: [terser()], + }, + plugins: [ + resolve({ + browser: true, + preferBuiltins: false, + }), + commonjs(), + ], }, - plugins: [ - resolve({ - browser: true, - preferBuiltins: false - }), - commonjs() - ] -}]; +]; export default config; diff --git a/src/apply.js b/src/apply.js index 35aa2a55..68ba36d0 100644 --- a/src/apply.js +++ b/src/apply.js @@ -308,6 +308,7 @@ export function applyStyle( source.getProjection(), ) ) { + //@ts-ignore targetSource.tileGrid = source.getTileGrid(); } } @@ -675,6 +676,7 @@ function setupRasterSource(glSource, styleUrl, options) { crossOrigin: 'anonymous', tileJSON: tileJson, }); + //@ts-ignore source.tileGrid = sourceOptionsFromTileJSON( glSource, tileJson, diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 00000000..ab529a32 --- /dev/null +++ b/typedoc.json @@ -0,0 +1,9 @@ +{ + "headings": { + "readme": true, + "document": true + }, + "sidebarLinks": { + "Examples": "https://openlayers.org/ol-mapbox-style/examples/" + } +} diff --git a/webpack.config.examples.cjs b/webpack.config.examples.cjs index 44ef109a..6f0b15ac 100644 --- a/webpack.config.examples.cjs +++ b/webpack.config.examples.cjs @@ -1,10 +1,11 @@ -const {join, resolve} = require('path'); const {readdirSync} = require('fs'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); +const {join, resolve} = require('path'); const CopyWebpackPlugin = require('copy-webpack-plugin'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -/** Get the list of examples from the examples directory. +/** + * Get the list of examples from the examples directory. * * @param {string} dirName Name of the directory to read. * @param {Function} callback Function to execute for each example. @@ -28,7 +29,8 @@ function getExamples(dirName, callback) { return entries; } -/** Creates an object with the entry names and file names +/** + * Creates an object with the entry names and file names * to be transformed. * * @param {string} dirName Name of the directory to read. @@ -43,7 +45,8 @@ function getEntries(dirName) { return entries; } -/** Each example needs a dedicated HTML file. +/** + * Each example needs a dedicated HTML file. * This will create a "plugin" that outputs HTML from a template. * * @param {string} dirName Name of the directory to read. @@ -89,7 +92,7 @@ module.exports = (env, argv) => { }, output: { filename: '[name].js', - path: join(__dirname, 'dist', 'examples'), + path: join(__dirname, 'docs', 'examples'), publicPath: 'auto', }, resolve: { From f5a8c60ef9a8f1b5b06c9d974611d4b0d9c7e0a7 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Mon, 3 Feb 2025 15:33:50 +0100 Subject: [PATCH 2/2] Update tests for ol@10.4 --- package-lock.json | 26 ++++++++++++++++++++++++++ package.json | 1 + test/apply.test.js | 31 +++++++++++++++---------------- 3 files changed, 42 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index e145a8b1..90b30639 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,6 +40,7 @@ "mocha": "^11.1.0", "nanoassert": "^2.0.0", "pmtiles-protocol": "^1.0.1", + "proj4": "^2.15.0", "puppeteer": "^23.10.4", "rollup": "^2.70.2", "rollup-plugin-terser": "^7.0.2", @@ -6869,6 +6870,13 @@ "node": ">= 0.6" } }, + "node_modules/mgrs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz", + "integrity": "sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==", + "dev": true, + "license": "MIT" + }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -8107,6 +8115,17 @@ "node": ">=0.4.0" } }, + "node_modules/proj4": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.15.0.tgz", + "integrity": "sha512-LqCNEcPdI03BrCHxPLj29vsd5afsm+0sV1H/O3nTDKrv8/LA01ea1z4QADDMjUqxSXWnrmmQDjqFm1J/uZ5RLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mgrs": "1.0.0", + "wkt-parser": "^1.4.0" + } + }, "node_modules/protocol-buffers-schema": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", @@ -10782,6 +10801,13 @@ "dev": true, "license": "MIT" }, + "node_modules/wkt-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.4.0.tgz", + "integrity": "sha512-qpwO7Ihds/YYDTi1aADFTI1Sm9YC/tTe3SHD24EeIlZxy7Ik6a1b4HOz7jAi0xdUAw487duqpo8OGu+Tf4nwlQ==", + "dev": true, + "license": "MIT" + }, "node_modules/workerpool": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", diff --git a/package.json b/package.json index c2606f63..c4e0404a 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "mocha": "^11.1.0", "nanoassert": "^2.0.0", "pmtiles-protocol": "^1.0.1", + "proj4": "^2.15.0", "puppeteer": "^23.10.4", "rollup": "^2.70.2", "rollup-plugin-terser": "^7.0.2", diff --git a/test/apply.test.js b/test/apply.test.js index cbd4a124..cd7fdbf8 100644 --- a/test/apply.test.js +++ b/test/apply.test.js @@ -7,17 +7,13 @@ import Point from 'ol/geom/Point.js'; import LayerGroup from 'ol/layer/Group.js'; import VectorLayer from 'ol/layer/Vector.js'; import VectorTileLayer from 'ol/layer/VectorTile.js'; -import { - METERS_PER_UNIT, - Projection, - addProjection, - get as getProjection, - toLonLat, -} from 'ol/proj.js'; +import {register} from 'ol/proj/proj4.js'; +import {METERS_PER_UNIT, get as getProjection, toLonLat} from 'ol/proj.js'; import RasterSource from 'ol/source/Raster.js'; import TileSource from 'ol/source/Tile.js'; import VectorSource from 'ol/source/Vector.js'; import VectorTileSource from 'ol/source/VectorTile.js'; +import proj4 from 'proj4'; import should from 'should'; import { apply, @@ -31,6 +27,14 @@ import backgroundStyle from './fixtures/background.json'; delete brightV9.sprite; describe('ol-mapbox-style', function () { + before(function () { + proj4.defs( + 'EPSG:31287', + 'PROJCS["MGI / Austria Lambert",GEOGCS["MGI",DATUM["Militar-Geographische_Institut",SPHEROID["Bessel 1841",6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],AUTHORITY["EPSG","6312"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4312"]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["latitude_of_origin",47.5],PARAMETER["central_meridian",13.3333333333333],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",46],PARAMETER["false_easting",400000],PARAMETER["false_northing",400000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Northing",NORTH],AXIS["Easting",EAST],AUTHORITY["EPSG","31287"]]', + ); + register(proj4); + }); + describe('apply', function () { let target; @@ -305,15 +309,10 @@ describe('ol-mapbox-style', function () { }); it('sets the correct GeoJON data projection for custom projections', function (done) { - const epsg31287 = new Projection({ - code: 'EPSG:31287', - extent: [ - 121983.868598955, 285075.189779654, 694938.749394035, - 575854.254725608, - ], - units: 'm', - }); - addProjection(epsg31287); + const epsg31287 = getProjection('EPSG:31287'); + epsg31287.setExtent([ + 121983.868598955, 285075.189779654, 694938.749394035, 575854.254725608, + ]); const geojson = { 'type': 'FeatureCollection', 'features': [