From 415713a1b0a8462da0db08fd95363bece9721259 Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 19 May 2025 13:04:08 +0200 Subject: [PATCH 01/26] Add GeoPackage data format --- packages/base/package.json | 1 + packages/base/src/commands.ts | 20 + packages/base/src/constants.ts | 4 + .../base/src/formbuilder/formselectors.ts | 3 + packages/base/src/icons.ts | 6 + packages/base/src/mainview/mainView.tsx | 22 + packages/base/src/toolbar/widget.tsx | 5 + packages/base/src/tools.ts | 55 + packages/base/style/icons/geopackage.svg | 95 + packages/schema/src/schema/project/jgis.json | 3 +- .../project/sources/geoPackageSource.json | 24 + packages/schema/src/types.ts | 1 + python/jupytergis_core/package.json | 4 + python/jupytergis_core/src/@types/wasm.ts | 4 + python/jupytergis_core/src/plugin.ts | 5 + python/jupytergis_core/tsconfig.json | 3 +- python/jupytergis_core/webpack.config.js | 33 + .../jupytergis_lab/notebook/gis_document.py | 56 + .../notebook/objects/__init__.py | 1 + .../jupytergis_lab/notebook/tests/test_api.py | 9 +- yarn.lock | 2121 ++++++++++++----- 21 files changed, 1939 insertions(+), 536 deletions(-) create mode 100644 packages/base/style/icons/geopackage.svg create mode 100644 packages/schema/src/schema/project/sources/geoPackageSource.json create mode 100644 python/jupytergis_core/src/@types/wasm.ts create mode 100644 python/jupytergis_core/webpack.config.js diff --git a/packages/base/package.json b/packages/base/package.json index 372775c71..e2bb9e480 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -63,6 +63,7 @@ "@lumino/widgets": "^2.0.0", "@mapbox/vector-tile": "^2.0.3", "@naisutech/react-tree": "^3.0.1", + "@ngageoint/geopackage": "^4.2.6", "@rjsf/core": "^4.2.0", "@rjsf/validator-ajv8": "^5.23.1", "ajv": "^8.14.0", diff --git a/packages/base/src/commands.ts b/packages/base/src/commands.ts index 48275eb0f..317c4d8d6 100644 --- a/packages/base/src/commands.ts +++ b/packages/base/src/commands.ts @@ -834,6 +834,26 @@ export function addCommands( }), ...icons.get(CommandIDs.newHeatmapLayer) }); + commands.addCommand(CommandIDs.newGeoPackageEntry, { + label: trans.__('New GeoPackage Layer'), + isEnabled: () => { + return tracker.currentWidget + ? tracker.currentWidget.model.sharedModel.editable + : false; + }, + execute: Private.createEntry({ + tracker, + formSchemaRegistry, + title: 'Create GeoPackage Layer', + createLayer: true, + createSource: true, + sourceData: { name: 'Custom GeoPackage Source' }, + layerData: { name: 'Custom GeoPackage Layer' }, + sourceType: 'GeoPackageSource', + layerType: 'VectorLayer' + }), + ...icons.get(CommandIDs.newGeoPackageEntry) + }); /** * LAYERS and LAYER GROUP actions. diff --git a/packages/base/src/constants.ts b/packages/base/src/constants.ts index c7c63fad4..0fc4d4e25 100644 --- a/packages/base/src/constants.ts +++ b/packages/base/src/constants.ts @@ -3,6 +3,8 @@ import { bookOpenIcon, clockIcon, geoJSONIcon, + geoPackageIcon, + infoIcon, moundIcon, rasterIcon, @@ -34,6 +36,7 @@ export namespace CommandIDs { export const newImageEntry = 'jupytergis:newImageEntry'; export const newVideoEntry = 'jupytergis:newVideoEntry'; export const newGeoTiffEntry = 'jupytergis:newGeoTiffEntry'; + export const newGeoPackageEntry = 'jupytergis:newGeoPackageEntry'; // Processing commands export const buffer = 'jupytergis:buffer'; @@ -114,6 +117,7 @@ const iconObject = { [CommandIDs.newImageEntry]: { iconClass: 'fa fa-image' }, [CommandIDs.newVideoEntry]: { iconClass: 'fa fa-video' }, [CommandIDs.newShapefileLayer]: { iconClass: 'fa fa-file' }, + [CommandIDs.newGeoPackageEntry]: { icon: geoPackageIcon }, [CommandIDs.newGeoTiffEntry]: { iconClass: 'fa fa-image' }, [CommandIDs.symbology]: { iconClass: 'fa fa-brush' }, [CommandIDs.identify]: { icon: infoIcon }, diff --git a/packages/base/src/formbuilder/formselectors.ts b/packages/base/src/formbuilder/formselectors.ts index 23ff0cecc..aa5e18ee3 100644 --- a/packages/base/src/formbuilder/formselectors.ts +++ b/packages/base/src/formbuilder/formselectors.ts @@ -59,6 +59,9 @@ export function getSourceTypeForm( case 'VectorTileSource': SourceForm = TileSourcePropertiesForm; break; + case 'GeoPackageSource': + SourceForm = PathBasedSourcePropertiesForm; + break; // ADD MORE FORM TYPES HERE } return SourceForm; diff --git a/packages/base/src/icons.ts b/packages/base/src/icons.ts index ece63911f..3b7b9926d 100644 --- a/packages/base/src/icons.ts +++ b/packages/base/src/icons.ts @@ -23,6 +23,7 @@ import terminalToolbarSvgStr from '../style/icons/terminal_toolbar.svg'; import geolocationSvgStr from '../style/icons/geolocation.svg'; import targetWithoutCenterSvgStr from '../style/icons/target_without_center.svg'; import targetWithCenterSvgStr from '../style/icons/target_with_center.svg'; +import geoPackageSvgStr from '../style/icons/geopackage.svg'; export const logoIcon = new LabIcon({ name: 'jupytergis::logo', @@ -108,3 +109,8 @@ export const targetWithCenterIcon = new LabIcon({ name: 'jupytergis::targetWithoutCenter', svgstr: targetWithoutCenterSvgStr }); + +export const geoPackageIcon = new LabIcon({ + name: 'jupytergis::geoPackage', + svgstr: geoPackageSvgStr +}); diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index 633ec81a8..95d26d8c5 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -2,6 +2,7 @@ import { MapChange } from '@jupyter/ydoc'; import { IAnnotation, IDict, + IGeoPackageSource, IGeoTiffSource, IHeatmapLayer, IHillshadeLayer, @@ -697,6 +698,27 @@ export class MainView extends React.Component { break; } + case 'GeoPackageSource': { + const parameters = source.parameters as IGeoPackageSource; + + const geojson = await loadFile({ + filepath: parameters.path, + type: 'GeoPackageSource', + model: this._model + }); + + const geojsonData = Array.isArray(geojson) ? geojson[0] : geojson; + + const format = new GeoJSON(); + + newSource = new VectorSource({ + features: format.readFeatures(geojsonData, { + dataProjection: parameters.projection, + featureProjection: this._Map.getView().getProjection() + }) + }); + break; + } } newSource.set('id', id); diff --git a/packages/base/src/toolbar/widget.tsx b/packages/base/src/toolbar/widget.tsx index 663cb90d5..3a84a321e 100644 --- a/packages/base/src/toolbar/widget.tsx +++ b/packages/base/src/toolbar/widget.tsx @@ -118,6 +118,11 @@ export class ToolbarWidget extends ReactiveToolbar { command: CommandIDs.newShapefileLayer }); + vectorSubMenu.addItem({ + type: 'command', + command: CommandIDs.newGeoPackageEntry + }); + //raster submenu const rasterSubMenu = new Menu({ commands: options.commands }); diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 58e80e741..9cf8be7d7 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -19,6 +19,7 @@ import { SourceType } from '@jupytergis/schema'; import RASTER_LAYER_GALLERY from '../rasterlayer_gallery/raster_layer_gallery.json'; +import { GeoPackageAPI } from '@ngageoint/geopackage'; export const debounce = ( func: CallableFunction, @@ -493,6 +494,31 @@ export const loadGeoTiff = async ( }; }; +/** + * Read a GeoPackage file + * + * @param file The GeoPackage file content as an ArrayBuffer + * + * @returns A promise that resolves to a GeoJSON FeatureCollection + * + */ +const loadGeoPackageFile = async (file: ArrayBuffer) => { + const bytes = new Uint8Array(file); + const gpkg = await GeoPackageAPI.open(bytes); + + const tables = gpkg.getFeatureTables(); + const features: GeoJSON.Feature[] = []; + for (const tableName of tables) { + const dao = gpkg.getFeatureDao(tableName); + const bbox = dao.getBoundingBox(); + const iter = gpkg.queryForGeoJSONFeaturesInTable(tableName, bbox); + for (const feat of iter) { + features.push(feat); + } + } + return { type: 'FeatureCollection', features }; +}; + /** * Generalized file reader for different source types. * @@ -568,6 +594,26 @@ export const loadFile = async (fileInfo: { throw new Error(`Failed to fetch ${filepath}`); } + case 'GeoPackageSource': { + const cached = await getFromIndexedDB(filepath); + if (cached) { + return cached.file; + } + + const geojson = await fetchWithProxies(filepath, async response => { + const arrayBuffer = await response.arrayBuffer(); + return await loadGeoPackageFile(arrayBuffer); + }); + + if (geojson) { + await saveToIndexedDB(filepath, geojson); + return geojson; + } + + showErrorMessage('Network error', `Failed to fetch ${filepath}`); + throw new Error(`Failed to fetch ${filepath}`); + } + default: { throw new Error(`Unsupported URL handling for source type: ${type}`); } @@ -634,6 +680,15 @@ export const loadFile = async (fileInfo: { } } + case 'GeoPackageSource': { + if (typeof file.content === 'string') { + const arrayBuffer = await stringToArrayBuffer(file.content); + return await loadGeoPackageFile(arrayBuffer); + } else { + throw new Error('Invalid file format for GeoPackage content.'); + } + } + default: { throw new Error(`Unsupported source type: ${type}`); } diff --git a/packages/base/style/icons/geopackage.svg b/packages/base/style/icons/geopackage.svg new file mode 100644 index 000000000..844e15357 --- /dev/null +++ b/packages/base/style/icons/geopackage.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + diff --git a/packages/schema/src/schema/project/jgis.json b/packages/schema/src/schema/project/jgis.json index 43fd3bbbf..3ad79a3bb 100644 --- a/packages/schema/src/schema/project/jgis.json +++ b/packages/schema/src/schema/project/jgis.json @@ -49,7 +49,8 @@ "VideoSource", "ImageSource", "ShapefileSource", - "GeoTiffSource" + "GeoTiffSource", + "GeoPackageSource" ] }, "jGISLayer": { diff --git a/packages/schema/src/schema/project/sources/geoPackageSource.json b/packages/schema/src/schema/project/sources/geoPackageSource.json new file mode 100644 index 000000000..7e2e78b08 --- /dev/null +++ b/packages/schema/src/schema/project/sources/geoPackageSource.json @@ -0,0 +1,24 @@ +{ + "type": "object", + "description": "GeoPackageSource", + "title": "IGeoPackageSource", + "required": ["path"], + "additionalProperties": false, + "properties": { + "path": { + "type": "string", + "description": "The path to the GeoPackage source" + }, + "attribution": { + "type": "string", + "readOnly": true, + "description": "The attribution for the GeoPackage source.", + "default": "" + }, + "projection": { + "type": "string", + "description": "The projection information for the GeoPackage data (optional).", + "default": "EPSG:4326" + } + } +} diff --git a/packages/schema/src/types.ts b/packages/schema/src/types.ts index 412b7958e..a057a49a6 100644 --- a/packages/schema/src/types.ts +++ b/packages/schema/src/types.ts @@ -1,6 +1,7 @@ export * from './_interface/project/jgis'; // Sources +export * from './_interface/project/sources/geoPackageSource'; export * from './_interface/project/sources/geoTiffSource'; export * from './_interface/geojsonsource'; export * from './_interface/project/sources/imageSource'; diff --git a/python/jupytergis_core/package.json b/python/jupytergis_core/package.json index 75a156a1d..82962c48f 100644 --- a/python/jupytergis_core/package.json +++ b/python/jupytergis_core/package.json @@ -72,11 +72,14 @@ "@types/json-schema": "^7.0.11", "@types/react": "^18.0.26", "@types/react-addons-linked-state-mixin": "^0.14.22", + "buffer": "^6.0.3", "copy-webpack-plugin": "^10.0.0", "css-loader": "^6.7.1", "mkdirp": "^1.0.3", "npm-run-all": "^4.1.5", + "process": "^0.11.10", "rimraf": "^3.0.2", + "stream-browserify": "^3.0.0", "style-loader": "^3.3.1", "typescript": "^5", "webpack": "^5.76.3", @@ -103,6 +106,7 @@ }, "extension": true, "outputDir": "jupytergis_core/labextension", + "webpackConfig": "webpack.config.js", "sharedPackages": { "@jupytergis/base": { "singleton": true, diff --git a/python/jupytergis_core/src/@types/wasm.ts b/python/jupytergis_core/src/@types/wasm.ts new file mode 100644 index 000000000..2886dbdbc --- /dev/null +++ b/python/jupytergis_core/src/@types/wasm.ts @@ -0,0 +1,4 @@ +declare module '*.wasm' { + const url: string; + export default url; +} diff --git a/python/jupytergis_core/src/plugin.ts b/python/jupytergis_core/src/plugin.ts index 87c9ee85b..3027f1429 100644 --- a/python/jupytergis_core/src/plugin.ts +++ b/python/jupytergis_core/src/plugin.ts @@ -25,6 +25,11 @@ import { JupyterGISExternalCommandRegistry } from './externalcommand'; import { JupyterGISLayerBrowserRegistry } from './layerBrowserRegistry'; import { JupyterGISFormSchemaRegistry } from './schemaregistry'; +import { SqljsAdapter } from '@ngageoint/geopackage'; +import wasmURL from 'rtree-sql.js/dist/sql-wasm.wasm'; + +SqljsAdapter.setSqljsWasmLocateFile(() => wasmURL); + const NAME_SPACE = 'jupytergis'; export const trackerPlugin: JupyterFrontEndPlugin = { diff --git a/python/jupytergis_core/tsconfig.json b/python/jupytergis_core/tsconfig.json index 152c99291..0d3a07a0f 100644 --- a/python/jupytergis_core/tsconfig.json +++ b/python/jupytergis_core/tsconfig.json @@ -2,7 +2,8 @@ "extends": "../../tsconfigbase.json", "compilerOptions": { "outDir": "lib", - "rootDir": "src" + "rootDir": "src", + "typeRoots": ["src/@types", "../../node_modules/@types"] }, "include": ["src/**/*", "src/schema/*.json", "src/_interface/*.json"] } diff --git a/python/jupytergis_core/webpack.config.js b/python/jupytergis_core/webpack.config.js new file mode 100644 index 000000000..f596998dd --- /dev/null +++ b/python/jupytergis_core/webpack.config.js @@ -0,0 +1,33 @@ +// Custom Webpack config to make @ngageoint/geopackage run in the browser: +// - Stub out fs, path, util +// - Polyfill stream and Buffer APIs +// - Auto-provide `process` and `Buffer` globals +// - Emit .wasm files as separate assets so `import wasmURL` yields the correct URL + +const webpack = require('webpack'); + +module.exports = { + resolve: { + fallback: { + fs: false, + path: false, + util: false, + stream: require.resolve('stream-browserify'), + buffer: require.resolve('buffer/'), + } + }, + module: { + rules: [ + { + test: /\.wasm$/, + type: 'asset/resource' + } + ] + }, + plugins: [ + new webpack.ProvidePlugin({ + process: 'process/browser', + Buffer: ['buffer', 'Buffer'] + }) + ] +}; diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py index e0e2ac778..0be8b7363 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py @@ -13,6 +13,7 @@ from .objects import ( IGeoJSONSource, + IGeoPackageSource, IGeoTiffSource, IHeatmapLayer, IHillshadeLayer, @@ -542,6 +543,59 @@ def add_heatmap_layer( return self._add_layer(OBJECT_FACTORY.create_layer(layer, self)) + def add_geopackage_layer( + self, + path: str, + name: str = "GeoPackage Layer", + type: "circle" | "fill" | "line" = "line", + opacity: float = 1, + logical_op: str | None = None, + feature: str | None = None, + operator: str | None = None, + value: Union[str, int, float] | None = None, + color_expr=None, + ): + """ + Add a GeoPackage Layer to the document + :param path: The path to the GeoPackage file to embed into the jGIS file. + :param name: The name that will be used for the object in the document. + :param type: The type of the vector layer to create. + :param opacity: The opacity, between 0 and 1. + :param logical_op: The logical combination to apply to filters. Must be "any" or "all" + :param feature: The feature to be filtered on + :param operator: The operator used to compare the feature and value + :param value: The value to be filtered on + :param color_expr: The style expression used to style the layer + """ + + source = { + "type": SourceType.GeoPackageSource, + "name": f"{name} Source", + "parameters": {'path':path}, + } + + source_id = self._add_source(OBJECT_FACTORY.create_source(source, self)) + + layer = { + "type": LayerType.VectorLayer, + "name": name, + "visible": True, + "parameters": { + "source": source_id, + "type": type, + "opacity": opacity, + "color": color_expr, + }, + "filters": { + "appliedFilters": [ + {"feature": feature, "operator": operator, "value": value} + ], + "logicalOp": logical_op, + }, + } + + return self._add_layer(OBJECT_FACTORY.create_layer(layer, self)) + def remove_layer(self, layer_id: str): """ Remove a layer from the GIS document. @@ -828,6 +882,7 @@ class Config: IVideoSource, IGeoTiffSource, IRasterDemSource, + IGeoPackageSource ] _parent = Optional[GISDocument] @@ -915,3 +970,4 @@ def create_source( OBJECT_FACTORY.register_factory(SourceType.VideoSource, IVideoSource) OBJECT_FACTORY.register_factory(SourceType.GeoTiffSource, IGeoTiffSource) OBJECT_FACTORY.register_factory(SourceType.RasterDemSource, IRasterDemSource) +OBJECT_FACTORY.register_factory(SourceType.GeoPackageSource, IGeoPackageSource) diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/objects/__init__.py b/python/jupytergis_lab/jupytergis_lab/notebook/objects/__init__.py index 2026449a3..c019b7e9b 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/objects/__init__.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/objects/__init__.py @@ -15,6 +15,7 @@ from ._schema.project.sources.imageSource import IImageSource # noqa from ._schema.project.sources.geoTiffSource import IGeoTiffSource # noqa from ._schema.project.sources.rasterDemSource import IRasterDemSource # noqa +from ._schema.project.sources.geoPackageSource import IGeoPackageSource # noqa from ._schema.processing.buffer import IBuffer # noqa diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py index 9cfdc17c9..a20883dc7 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py @@ -5,7 +5,7 @@ from jupytergis_lab import GISDocument TEST_TIF = "https://s2downloads.eox.at/demo/EOxCloudless/2020/rgbnir/s2cloudless2020-16bits_sinlge-file_z0-4.tif" - +TEST_GPKG = "https://raw.githubusercontent.com/ngageoint/GeoPackage/master/docs/examples/java/example.gpkg" class TestDocument: def setup_method(self): @@ -30,6 +30,13 @@ def test_sourcelayer(self): assert self.doc.layers[tif_layer]["parameters"]["color"] == color +class TestGeoPackageLayer(TestDocument): + def test_sourcelayer(self): + color = {"fill-color": "#00FF00", "stroke-color": "#FF0000"} + + gpkg_layer = self.doc.add_geopackage_layer(TEST_GPKG, color_expr=color) + assert self.doc.layers[gpkg_layer]["parameters"]["color"] == color + class TestLayerManipulation(TestDocument): def test_add_and_remove_layer_and_source(self): layer_id = self.doc.add_tiff_layer(url=TEST_TIF) diff --git a/yarn.lock b/yarn.lock index d86b81453..fa447a756 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,129 +29,129 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.26.2": - version: 7.26.2 - resolution: "@babel/code-frame@npm:7.26.2" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" dependencies: - "@babel/helper-validator-identifier": ^7.25.9 + "@babel/helper-validator-identifier": ^7.27.1 js-tokens: ^4.0.0 - picocolors: ^1.0.0 - checksum: db13f5c42d54b76c1480916485e6900748bbcb0014a8aca87f50a091f70ff4e0d0a6db63cade75eb41fcc3d2b6ba0a7f89e343def4f96f00269b41b8ab8dd7b8 + picocolors: ^1.1.1 + checksum: 5874edc5d37406c4a0bb14cf79c8e51ad412fb0423d176775ac14fc0259831be1bf95bdda9c2aa651126990505e09a9f0ed85deaa99893bc316d2682c5115bdc languageName: node linkType: hard -"@babel/generator@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/generator@npm:7.27.0" +"@babel/generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/generator@npm:7.27.1" dependencies: - "@babel/parser": ^7.27.0 - "@babel/types": ^7.27.0 + "@babel/parser": ^7.27.1 + "@babel/types": ^7.27.1 "@jridgewell/gen-mapping": ^0.3.5 "@jridgewell/trace-mapping": ^0.3.25 jsesc: ^3.0.2 - checksum: cdb6e3e8441241321192275f7a1265b6d610b44d57ae3bbb6047cb142849fd2ace1e15d5ee0685337e152f5d8760babd3ab898b6e5065e4b344006d2f0da759f + checksum: d5e220eb20aca1d93aef85c4c716237f84c5aab7d3ed8dfeb7060dcd73d20c593a687fe74cfb6d3dc1604ef9faff2ca24e6cfdb1af18e03e3a5f9f63a04c0bdc languageName: node linkType: hard "@babel/helper-annotate-as-pure@npm:^7.22.5": - version: 7.25.9 - resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" + version: 7.27.1 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.1" dependencies: - "@babel/types": ^7.25.9 - checksum: 41edda10df1ae106a9b4fe617bf7c6df77db992992afd46192534f5cff29f9e49a303231733782dd65c5f9409714a529f215325569f14282046e9d3b7a1ffb6c + "@babel/types": ^7.27.1 + checksum: 3f8e4d591458d6c0621a3d670f8798b8895580214287390126e3e621ddf3df0bd07cbcc9500c2671b9ec10162c2f9feb1194da5cf039d40df8cb69d181fc0cd8 languageName: node linkType: hard "@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.22.5": - version: 7.25.9 - resolution: "@babel/helper-module-imports@npm:7.25.9" + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" dependencies: - "@babel/traverse": ^7.25.9 - "@babel/types": ^7.25.9 - checksum: 1b411ce4ca825422ef7065dffae7d8acef52023e51ad096351e3e2c05837e9bf9fca2af9ca7f28dc26d596a588863d0fedd40711a88e350b736c619a80e704e6 + "@babel/traverse": ^7.27.1 + "@babel/types": ^7.27.1 + checksum: 92d01c71c0e4aacdc2babce418a9a1a27a8f7d770a210ffa0f3933f321befab18b655bc1241bebc40767516731de0b85639140c42e45a8210abe1e792f115b28 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.25.9": - version: 7.26.5 - resolution: "@babel/helper-plugin-utils@npm:7.26.5" - checksum: 4771fbb1711c624c62d12deabc2ed7435a6e6994b6ce09d5ede1bc1bf19be59c3775461a1e693bdd596af865685e87bb2abc778f62ceadc1b2095a8e2aa74180 +"@babel/helper-plugin-utils@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 5d715055301badab62bdb2336075a77f8dc8bd290cad2bc1b37ea3bf1b3efc40594d308082229f239deb4d6b5b80b0a73bce000e595ea74416e0339c11037047 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-string-parser@npm:7.25.9" - checksum: 6435ee0849e101681c1849868278b5aee82686ba2c1e27280e5e8aca6233af6810d39f8e4e693d2f2a44a3728a6ccfd66f72d71826a94105b86b731697cdfa99 +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 0a8464adc4b39b138aedcb443b09f4005d86207d7126e5e079177e05c3116107d856ec08282b365e9a79a9872f40f4092a6127f8d74c8a01c1ef789dacfc25d6 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 5b85918cb1a92a7f3f508ea02699e8d2422fe17ea8e82acd445006c0ef7520fbf48e3dbcdaf7b0a1d571fc3a2715a29719e5226636cb6042e15fe6ed2a590944 +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 3c7e8391e59d6c85baeefe9afb86432f2ab821c6232b00ea9082a51d3e7e95a2f3fb083d74dc1f49ac82cf238e1d2295dafcb001f7b0fab479f3f56af5eaaa47 languageName: node linkType: hard -"@babel/parser@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/parser@npm:7.27.0" +"@babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/parser@npm:7.27.2" dependencies: - "@babel/types": ^7.27.0 + "@babel/types": ^7.27.1 bin: parser: ./bin/babel-parser.js - checksum: 062a4e6d51553603253990c84e051ed48671a55b9d4e9caf2eff9dc888465070a0cfd288a467dbf0d99507781ea4a835b5606e32ddc0319f1b9273f913676829 + checksum: 1ac70a75028f1cc10eefb10ed2d83cf700ca3e1ddb4cf556a003fc5c4ca53ae83350bbb8065020fcc70d476fcf7bf1c17191b72384f719614ae18397142289cf languageName: node linkType: hard "@babel/plugin-syntax-jsx@npm:^7.22.5": - version: 7.25.9 - resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-plugin-utils": ^7.27.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bb609d1ffb50b58f0c1bac8810d0e46a4f6c922aa171c458f3a19d66ee545d36e782d3bffbbc1fed0dc65a558bdce1caf5279316583c0fff5a2c1658982a8563 + checksum: c6d1324cff286a369aa95d99b8abd21dd07821b5d3affd5fe7d6058c84cff9190743287826463ee57a7beecd10fa1e4bc99061df532ee14e188c1c8937b13e3a languageName: node linkType: hard -"@babel/template@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/template@npm:7.27.0" +"@babel/template@npm:^7.27.1": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" dependencies: - "@babel/code-frame": ^7.26.2 - "@babel/parser": ^7.27.0 - "@babel/types": ^7.27.0 - checksum: 46d6db4c204a092f11ad6c3bfb6ec3dc1422e32121186d68ab1b3e633313aa5b7e21f26ca801dbd7da21f256225305a76454429fc500e52dabadb30af35df961 + "@babel/code-frame": ^7.27.1 + "@babel/parser": ^7.27.2 + "@babel/types": ^7.27.1 + checksum: ff5628bc066060624afd970616090e5bba91c6240c2e4b458d13267a523572cbfcbf549391eec8217b94b064cf96571c6273f0c04b28a8567b96edc675c28e27 languageName: node linkType: hard -"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.4.5": - version: 7.27.0 - resolution: "@babel/traverse@npm:7.27.0" +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.4.5": + version: 7.27.1 + resolution: "@babel/traverse@npm:7.27.1" dependencies: - "@babel/code-frame": ^7.26.2 - "@babel/generator": ^7.27.0 - "@babel/parser": ^7.27.0 - "@babel/template": ^7.27.0 - "@babel/types": ^7.27.0 + "@babel/code-frame": ^7.27.1 + "@babel/generator": ^7.27.1 + "@babel/parser": ^7.27.1 + "@babel/template": ^7.27.1 + "@babel/types": ^7.27.1 debug: ^4.3.1 globals: ^11.1.0 - checksum: 922d22aa91200e1880cfa782802100aa5b236fab89a44b9c40cfea94163246efd010626f7dc2b9d7769851c1fa2d8e8f8a1e0168ff4a7094e9b737c32760baa1 + checksum: 7ea3ec36a65e734f2921f5dba6f417f5dd0c90eb44a60f6addbacbbedb44e8c82eba415a74feb7d6df58e351519b81b11b6ca3c0c7c41a3f73ebeaf6895a826c languageName: node linkType: hard -"@babel/types@npm:^7.25.9, @babel/types@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/types@npm:7.27.0" +"@babel/types@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/types@npm:7.27.1" dependencies: - "@babel/helper-string-parser": ^7.25.9 - "@babel/helper-validator-identifier": ^7.25.9 - checksum: 59582019eb8a693d4277015d4dec0233874d884b9019dcd09550332db7f0f2ac9e30eca685bb0ada4bab5a4dc8bbc2a6bcaadb151c69b7e6aa94b5eaf8fc8c51 + "@babel/helper-string-parser": ^7.27.1 + "@babel/helper-validator-identifier": ^7.27.1 + checksum: 357c13f37aaa2f2e2cfcdb63f986d5f7abc9f38df20182b620ace34387d2460620415770fe5856eb54d70c9f0ba2f71230d29465e789188635a948476b830ae4 languageName: node linkType: hard -"@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.18.3, @codemirror/autocomplete@npm:^6.3.2, @codemirror/autocomplete@npm:^6.7.1": +"@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.18.6, @codemirror/autocomplete@npm:^6.3.2, @codemirror/autocomplete@npm:^6.7.1": version: 6.18.6 resolution: "@codemirror/autocomplete@npm:6.18.6" dependencies: @@ -163,7 +163,7 @@ __metadata: languageName: node linkType: hard -"@codemirror/commands@npm:^6.7.1": +"@codemirror/commands@npm:^6.8.1": version: 6.8.1 resolution: "@codemirror/commands@npm:6.8.1" dependencies: @@ -225,9 +225,9 @@ __metadata: languageName: node linkType: hard -"@codemirror/lang-javascript@npm:^6.0.0, @codemirror/lang-javascript@npm:^6.2.2": - version: 6.2.3 - resolution: "@codemirror/lang-javascript@npm:6.2.3" +"@codemirror/lang-javascript@npm:^6.0.0, @codemirror/lang-javascript@npm:^6.2.3": + version: 6.2.4 + resolution: "@codemirror/lang-javascript@npm:6.2.4" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/language": ^6.6.0 @@ -236,7 +236,7 @@ __metadata: "@codemirror/view": ^6.17.0 "@lezer/common": ^1.0.0 "@lezer/javascript": ^1.0.0 - checksum: c56407ddedc80e417dd105a39f11f837fad6fd4d91fe7934c61e48c54227350e4e8f940f81d26030a6c4ff9da16f734361cd1eaed63ba22aadf71fcf6172cbd5 + checksum: 0350e9ac2df155c4ecf75d556f40b677c284c1d320620dc7228e2aa458e258dd1145c86e5ebf3451347ed6ef528f72c2eb60f5d3f6bd10af8aabb2819109e21a languageName: node linkType: hard @@ -250,7 +250,7 @@ __metadata: languageName: node linkType: hard -"@codemirror/lang-markdown@npm:^6.3.1": +"@codemirror/lang-markdown@npm:^6.3.2": version: 6.3.2 resolution: "@codemirror/lang-markdown@npm:6.3.2" dependencies: @@ -278,16 +278,16 @@ __metadata: languageName: node linkType: hard -"@codemirror/lang-python@npm:^6.1.7": - version: 6.2.0 - resolution: "@codemirror/lang-python@npm:6.2.0" +"@codemirror/lang-python@npm:^6.2.0": + version: 6.2.1 + resolution: "@codemirror/lang-python@npm:6.2.1" dependencies: "@codemirror/autocomplete": ^6.3.2 "@codemirror/language": ^6.8.0 "@codemirror/state": ^6.0.0 "@lezer/common": ^1.2.1 "@lezer/python": ^1.1.4 - checksum: 2326932a59af8c56dc4e8a621f542a59944b93d4e5f50b23dab65d15486cc7a59a6f5fe11595ac478974270084db4770942621dbd834021247f34f2d34063757 + checksum: 977ce444ab7c68261107c40e8a46d3480a239ac5a093f39fad7da0644fc08cb4b90552c8b7fad396f936e34b5bbac510533ea7b4229d3b8271774a1af1e717aa languageName: node linkType: hard @@ -341,7 +341,7 @@ __metadata: languageName: node linkType: hard -"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.10.6, @codemirror/language@npm:^6.3.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0, @codemirror/language@npm:^6.8.0": +"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.11.0, @codemirror/language@npm:^6.3.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0, @codemirror/language@npm:^6.8.0": version: 6.11.0 resolution: "@codemirror/language@npm:6.11.0" dependencies: @@ -355,7 +355,7 @@ __metadata: languageName: node linkType: hard -"@codemirror/legacy-modes@npm:^6.4.2": +"@codemirror/legacy-modes@npm:^6.5.1": version: 6.5.1 resolution: "@codemirror/legacy-modes@npm:6.5.1" dependencies: @@ -375,18 +375,18 @@ __metadata: languageName: node linkType: hard -"@codemirror/search@npm:^6.5.8": - version: 6.5.10 - resolution: "@codemirror/search@npm:6.5.10" +"@codemirror/search@npm:^6.5.10": + version: 6.5.11 + resolution: "@codemirror/search@npm:6.5.11" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.0.0 crelt: ^1.0.5 - checksum: a30048004ce7cc1ee77a7618485ab5399939eab72b64329d57be98245ea39cb68ba54ad944ee679cc2aeac5bf9f202b2073ad0916f0788497fb64a07073399e8 + checksum: 4d418f176bd93705bc51c82a2f1c0e41fecc0368dc43c415635c4dfdd763aa05ebdf7f000bc9ca0083c1887e6d305b89482ec1f4db8b8765c6f38de324187476 languageName: node linkType: hard -"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.4.0, @codemirror/state@npm:^6.5.0": +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.4.0, @codemirror/state@npm:^6.5.0, @codemirror/state@npm:^6.5.2": version: 6.5.2 resolution: "@codemirror/state@npm:6.5.2" dependencies: @@ -395,14 +395,14 @@ __metadata: languageName: node linkType: hard -"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0, @codemirror/view@npm:^6.35.3": - version: 6.36.6 - resolution: "@codemirror/view@npm:6.36.6" +"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0, @codemirror/view@npm:^6.36.6": + version: 6.36.8 + resolution: "@codemirror/view@npm:6.36.8" dependencies: "@codemirror/state": ^6.5.0 style-mod: ^4.1.0 w3c-keyname: ^2.2.4 - checksum: a36662e61743d379a4bc8f5a5e441b23d6612e029e4d4f494aec974adb81752488be2fc55a9105a8b6c0e846b4a26ed570d9d1df4577affb3fc7c63de9407a45 + checksum: 6b5bbbd6f73bf2486170e3ee6b13660b8919ec544dc527dbe6357034a534dbd7deea3e660fbcd67c5e53ea808d6411ddd355eb9cf3dc4dded2a7c3f95a7fb0ac languageName: node linkType: hard @@ -472,13 +472,13 @@ __metadata: linkType: hard "@eslint-community/eslint-utils@npm:^4.2.0": - version: 4.6.1 - resolution: "@eslint-community/eslint-utils@npm:4.6.1" + version: 4.7.0 + resolution: "@eslint-community/eslint-utils@npm:4.7.0" dependencies: eslint-visitor-keys: ^3.4.3 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 924f38a069cc281dacd231f1293f5969dff98d4ad867f044ee384f1ad35937c27d12222a45a7da0b294253ffbaccc0a6f7878aed3eea8f4f9345f195ae24dea2 + checksum: b177e3b75c0b8d0e5d71f1c532edb7e40b31313db61f0c879f9bf19c3abb2783c6c372b5deb2396dab4432f2946b9972122ac682e77010376c029dfd0149c681 languageName: node linkType: hard @@ -603,6 +603,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: ^7.0.4 + checksum: 5d36d289960e886484362d9eb6a51d1ea28baed5f5d0140bbe62b99bac52eaf06cc01c2bc0d3575977962f84f6b2c4387b043ee632216643d4787b0999465bf2 + languageName: node + linkType: hard + "@isaacs/string-locale-compare@npm:^1.1.0": version: 1.1.0 resolution: "@isaacs/string-locale-compare@npm:1.1.0" @@ -713,8 +722,8 @@ __metadata: linkType: hard "@jupyter/ydoc@npm:^2.0.0 || ^3.0.0, @jupyter/ydoc@npm:^2.0.0 || ^3.0.0-a3, @jupyter/ydoc@npm:^2.1.3 || ^3.0.0, @jupyter/ydoc@npm:^3.0.4": - version: 3.0.4 - resolution: "@jupyter/ydoc@npm:3.0.4" + version: 3.0.5 + resolution: "@jupyter/ydoc@npm:3.0.5" dependencies: "@jupyterlab/nbformat": ^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0 "@lumino/coreutils": ^1.11.0 || ^2.0.0 @@ -722,7 +731,7 @@ __metadata: "@lumino/signaling": ^1.10.0 || ^2.0.0 y-protocols: ^1.0.5 yjs: ^13.5.40 - checksum: 85ca033a51c0f26080bcea7c0aac7cbd4ef66bc745fd48786aa1a2f9bdf06b99b67f40d8775ff04bb700e78782fbfdc6c97d2e94b45bd65ad5288c44ca158e19 + checksum: a4f8074790e34b649e581e093806ec84ccfdcd676735d35efdba74e93114c5ff3d40e5909322ce7fc7acd0faf379ecfb8979ab88af1db9705d74b0eff4e1c75c languageName: node linkType: hard @@ -756,6 +765,7 @@ __metadata: "@lumino/widgets": ^2.0.0 "@mapbox/vector-tile": ^2.0.3 "@naisutech/react-tree": ^3.0.1 + "@ngageoint/geopackage": ^4.2.6 "@rjsf/core": ^4.2.0 "@rjsf/validator-ajv8": ^5.23.1 "@types/colormap": ^2.3.4 @@ -809,11 +819,14 @@ __metadata: "@types/json-schema": ^7.0.11 "@types/react": ^18.0.26 "@types/react-addons-linked-state-mixin": ^0.14.22 + buffer: ^6.0.3 copy-webpack-plugin: ^10.0.0 css-loader: ^6.7.1 mkdirp: ^1.0.3 npm-run-all: ^4.1.5 + process: ^0.11.10 rimraf: ^3.0.2 + stream-browserify: ^3.0.0 style-loader: ^3.3.1 typescript: ^5 util: ^0.12.5 @@ -930,21 +943,21 @@ __metadata: linkType: soft "@jupyterlab/application@npm:^4.0.0, @jupyterlab/application@npm:^4.3.0": - version: 4.4.1 - resolution: "@jupyterlab/application@npm:4.4.1" + version: 4.4.2 + resolution: "@jupyterlab/application@npm:4.4.2" dependencies: "@fortawesome/fontawesome-free": ^5.12.0 - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/docregistry": ^4.4.1 - "@jupyterlab/rendermime": ^4.4.1 - "@jupyterlab/rendermime-interfaces": ^3.12.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/statedb": ^4.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/docregistry": ^4.4.2 + "@jupyterlab/rendermime": ^4.4.2 + "@jupyterlab/rendermime-interfaces": ^3.12.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/statedb": ^4.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 - "@lumino/application": ^2.4.3 + "@lumino/application": ^2.4.4 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -952,24 +965,24 @@ __metadata: "@lumino/polling": ^2.1.4 "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 - checksum: fbfca39af70c2f8a0f6ec4dceba7561bebfaa61d1a072c54cea70cb03626d9620c3d5d28659ba620edf41524796ab78cda9be2c9d40c477a81f6b586eeff1d48 + "@lumino/widgets": ^2.7.1 + checksum: c67840bcf9e82c42f70418bff9f9fdbf75bcf28a1017a0d78618d11ac4ea5f024f086c8c51621e861434c41aad89aa70e25bf46adf1b713f01707a1273e7d666 languageName: node linkType: hard "@jupyterlab/apputils@npm:^4.0.0": - version: 4.5.1 - resolution: "@jupyterlab/apputils@npm:4.5.1" - dependencies: - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/rendermime-interfaces": ^3.12.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/settingregistry": ^4.4.1 - "@jupyterlab/statedb": ^4.4.1 - "@jupyterlab/statusbar": ^4.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + version: 4.5.2 + resolution: "@jupyterlab/apputils@npm:4.5.2" + dependencies: + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/rendermime-interfaces": ^3.12.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/settingregistry": ^4.4.2 + "@jupyterlab/statedb": ^4.4.2 + "@jupyterlab/statusbar": ^4.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 @@ -978,34 +991,34 @@ __metadata: "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/virtualdom": ^2.0.3 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 "@types/react": ^18.0.26 react: ^18.2.0 sanitize-html: ~2.12.1 - checksum: 0eb98d9ccb6efe13b24ecd8c0d19ba0e2ac48a8283e14ad691cc9b95f1f4f8a39e40968e6cfafca9091b0b86c2fef53cf41faf94cf43a5195f421c4216534f4c + checksum: db58c8c947ade2fe5d277c14aed332628c78bd621d374feb99de76111b8993c01249e8789334014547bde03c01ff914f2f1c6ef7afc56c9b10152061ab81fc26 languageName: node linkType: hard -"@jupyterlab/attachments@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/attachments@npm:4.4.1" +"@jupyterlab/attachments@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/attachments@npm:4.4.2" dependencies: - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/rendermime": ^4.4.1 - "@jupyterlab/rendermime-interfaces": ^3.12.1 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/rendermime": ^4.4.2 + "@jupyterlab/rendermime-interfaces": ^3.12.2 "@lumino/disposable": ^2.1.4 "@lumino/signaling": ^2.1.4 - checksum: 0c58dbb327e6e59cb0974e110d1055f623ca9d893ad5915936ab00454e87b9b9cc27e441616a9345cb78c854a51b1aa6058f92086bca584a6b83defc2d4173a9 + checksum: 927979d7ce8e30ed407576da4fa55545bda75ea0c3bfed2240ec7fe154dbe1e857650a3d7c936b16eb1fa1eb3defc04b6fdcc42e52d1c5e7816bb4d46cafc17b languageName: node linkType: hard "@jupyterlab/builder@npm:^4.3.0": - version: 4.4.1 - resolution: "@jupyterlab/builder@npm:4.4.1" + version: 4.4.2 + resolution: "@jupyterlab/builder@npm:4.4.2" dependencies: "@lumino/algorithm": ^2.0.3 - "@lumino/application": ^2.4.3 + "@lumino/application": ^2.4.4 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1015,7 +1028,7 @@ __metadata: "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/virtualdom": ^2.0.3 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 ajv: ^8.12.0 commander: ^9.4.1 css-loader: ^6.7.1 @@ -1037,32 +1050,32 @@ __metadata: worker-loader: ^3.0.2 bin: build-labextension: lib/build-labextension.js - checksum: 8a1e0003d5c1e73b5bb9c30edf990eb577d08d9964d1ada2ee439d75257754c11d3a2b7870be1684c59d5804ce2d3a104d803cbe1755e702dda48c847fe87b42 + checksum: e88d19e12f00586c7a42c744ed242c8192dded2f8961343c6d8d325b4363b9660f85942a406ceaf4ae2ef6b98a5a9071587cff99a13907b7a7cdb18af60de015 languageName: node linkType: hard -"@jupyterlab/cells@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/cells@npm:4.4.1" +"@jupyterlab/cells@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/cells@npm:4.4.2" dependencies: - "@codemirror/state": ^6.5.0 - "@codemirror/view": ^6.35.3 + "@codemirror/state": ^6.5.2 + "@codemirror/view": ^6.36.6 "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/attachments": ^4.4.1 - "@jupyterlab/codeeditor": ^4.4.1 - "@jupyterlab/codemirror": ^4.4.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/documentsearch": ^4.4.1 - "@jupyterlab/filebrowser": ^4.4.1 - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/outputarea": ^4.4.1 - "@jupyterlab/rendermime": ^4.4.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/toc": ^6.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/attachments": ^4.4.2 + "@jupyterlab/codeeditor": ^4.4.2 + "@jupyterlab/codemirror": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/documentsearch": ^4.4.2 + "@jupyterlab/filebrowser": ^4.4.2 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/outputarea": ^4.4.2 + "@jupyterlab/rendermime": ^4.4.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/toc": ^6.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/domutils": ^2.0.3 @@ -1071,66 +1084,66 @@ __metadata: "@lumino/polling": ^2.1.4 "@lumino/signaling": ^2.1.4 "@lumino/virtualdom": ^2.0.3 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 3ada79faa55904ecc3e504d33eccf79584a14f03d915df2191eef73bd718ab505a5451182eb049f4989f592e943c6d6509861752b43e27574a985841334fdcd6 + checksum: b847a66159f2cb30b50e5d26a4b980ca8b1849cb2ec8ef10ff7d2d9d04d874f1de5093c07606c21c4eb9495dd5be4eb6380bb6361f792829b6ea194aa3ee7dd4 languageName: node linkType: hard -"@jupyterlab/codeeditor@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/codeeditor@npm:4.4.1" +"@jupyterlab/codeeditor@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/codeeditor@npm:4.4.2" dependencies: - "@codemirror/state": ^6.5.0 + "@codemirror/state": ^6.5.2 "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/statusbar": ^4.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/statusbar": ^4.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/dragdrop": ^2.1.6 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: f9949bca20387650d707ec8874489d9747c6ffd6d310fadd56dd3d31ee3b7ee73d7f0543d31cdeb298b8995247462f970dbf5bd5681c0756212c44f44d4cec96 + checksum: 377d37d9a401741b29f5d385eddb569683026b2a3a357b4119f287167424fe8591723d2c590ecfb605024e3965b9088c92a9105a8f7685bc45a96311864f394e languageName: node linkType: hard -"@jupyterlab/codemirror@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/codemirror@npm:4.4.1" +"@jupyterlab/codemirror@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/codemirror@npm:4.4.2" dependencies: - "@codemirror/autocomplete": ^6.18.3 - "@codemirror/commands": ^6.7.1 + "@codemirror/autocomplete": ^6.18.6 + "@codemirror/commands": ^6.8.1 "@codemirror/lang-cpp": ^6.0.2 "@codemirror/lang-css": ^6.3.1 "@codemirror/lang-html": ^6.4.9 "@codemirror/lang-java": ^6.0.1 - "@codemirror/lang-javascript": ^6.2.2 + "@codemirror/lang-javascript": ^6.2.3 "@codemirror/lang-json": ^6.0.1 - "@codemirror/lang-markdown": ^6.3.1 + "@codemirror/lang-markdown": ^6.3.2 "@codemirror/lang-php": ^6.0.1 - "@codemirror/lang-python": ^6.1.7 + "@codemirror/lang-python": ^6.2.0 "@codemirror/lang-rust": ^6.0.1 "@codemirror/lang-sql": ^6.8.0 "@codemirror/lang-wast": ^6.0.2 "@codemirror/lang-xml": ^6.1.0 - "@codemirror/language": ^6.10.6 - "@codemirror/legacy-modes": ^6.4.2 - "@codemirror/search": ^6.5.8 - "@codemirror/state": ^6.5.0 - "@codemirror/view": ^6.35.3 + "@codemirror/language": ^6.11.0 + "@codemirror/legacy-modes": ^6.5.1 + "@codemirror/search": ^6.5.10 + "@codemirror/state": ^6.5.2 + "@codemirror/view": ^6.36.6 "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/codeeditor": ^4.4.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/documentsearch": ^4.4.1 - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/translation": ^4.4.1 + "@jupyterlab/codeeditor": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/documentsearch": ^4.4.2 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/translation": ^4.4.2 "@lezer/common": ^1.2.1 "@lezer/generator": ^1.7.0 "@lezer/highlight": ^1.2.0 @@ -1139,66 +1152,66 @@ __metadata: "@lumino/disposable": ^2.1.4 "@lumino/signaling": ^2.1.4 yjs: ^13.5.40 - checksum: 2de25bf20a20586e6a4e15c3951dc9f8fcf3a3bab748d985cf081134b050d580617d1b337c1e686e80fb2dc65589cd04a92703ca4ee245a55ebd0fe92cf581db + checksum: 659a3e1ea5987b4d87c664af409fd40702d8c8109996850b2048e760e7239122d9cc9e4996ca4580069642239215a2964b7d54ca3d85252497dc241f49e765e2 languageName: node linkType: hard "@jupyterlab/completer@npm:^4.3.0": - version: 4.4.1 - resolution: "@jupyterlab/completer@npm:4.4.1" + version: 4.4.2 + resolution: "@jupyterlab/completer@npm:4.4.2" dependencies: - "@codemirror/state": ^6.5.0 - "@codemirror/view": ^6.35.3 + "@codemirror/state": ^6.5.2 + "@codemirror/view": ^6.36.6 "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/codeeditor": ^4.4.1 - "@jupyterlab/codemirror": ^4.4.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/rendermime": ^4.4.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/settingregistry": ^4.4.1 - "@jupyterlab/statedb": ^4.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/codeeditor": ^4.4.2 + "@jupyterlab/codemirror": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/rendermime": ^4.4.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/settingregistry": ^4.4.2 + "@jupyterlab/statedb": ^4.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/domutils": ^2.0.3 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 - checksum: 83e396a1e08165cc81626692b5581c174ae239162cee1ede68c8453914b6ce59e710980e3a793b2ad2b60950bd60c756a3033e3dbb956c8ef6bdd18fe006191e + "@lumino/widgets": ^2.7.1 + checksum: acbd4ad52910995020c61b89cdc268c081e44dc04be6fb8ad34603b6fb736187d8df28e82fca324271873007a75b1719a2078a3b01016d573af89b90edda9e62 languageName: node linkType: hard "@jupyterlab/console@npm:^4.2.4, @jupyterlab/console@npm:^4.3.0": - version: 4.4.1 - resolution: "@jupyterlab/console@npm:4.4.1" + version: 4.4.2 + resolution: "@jupyterlab/console@npm:4.4.2" dependencies: "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/cells": ^4.4.1 - "@jupyterlab/codeeditor": ^4.4.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/rendermime": ^4.4.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/cells": ^4.4.2 + "@jupyterlab/codeeditor": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/rendermime": ^4.4.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/dragdrop": ^2.1.6 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 - checksum: 2b2aa3ecc28e12d927332d739bc7e91644b81fe8a50acd22d88caa734f0f0c5deac56206ebed7a11f53317d2baf98c5a43c888cab4ee8e1188b962b2058c5628 + "@lumino/widgets": ^2.7.1 + checksum: 96a35569e74382223a189ccdacdc6253f49c59cbc4232378ab28150937edc73da00f5eac96b23ce3839bf8de2d645b736cf47ff4f10de61a5ac61ac97abde1cb languageName: node linkType: hard -"@jupyterlab/coreutils@npm:^6.0.0, @jupyterlab/coreutils@npm:^6.3.0, @jupyterlab/coreutils@npm:^6.4.1": - version: 6.4.1 - resolution: "@jupyterlab/coreutils@npm:6.4.1" +"@jupyterlab/coreutils@npm:^6.0.0, @jupyterlab/coreutils@npm:^6.3.0, @jupyterlab/coreutils@npm:^6.4.2": + version: 6.4.2 + resolution: "@jupyterlab/coreutils@npm:6.4.2" dependencies: "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1206,22 +1219,22 @@ __metadata: minimist: ~1.2.0 path-browserify: ^1.0.0 url-parse: ~1.5.4 - checksum: 6679bb08d56e570a5fe98da2e100b8f242e6900a7d39454086804bab2cd522f31eca52747bc04ff27449a0006d159b9e9b13345308d0b6480a52fe944b383a11 + checksum: 09c65831a4a9130f2258e511eb7188ecf00052c32730425041eacbe7ebdbbf51822acbe23a46e0b267912ca07b4664580204f394379f1449bed11d1ec99cf2d1 languageName: node linkType: hard -"@jupyterlab/docmanager@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/docmanager@npm:4.4.1" - dependencies: - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/docregistry": ^4.4.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/statedb": ^4.4.1 - "@jupyterlab/statusbar": ^4.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 +"@jupyterlab/docmanager@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/docmanager@npm:4.4.2" + dependencies: + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/docregistry": ^4.4.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/statedb": ^4.4.2 + "@jupyterlab/statusbar": ^4.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1229,70 +1242,70 @@ __metadata: "@lumino/polling": ^2.1.4 "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: c85391af35a4284d249796b4854ef849bc091ec1b5c0328a26e3e70b7955c386e0f931a90ecdf625a99ba291d9cf4b61aa2a5993ad1c83c77409a19e3a47aad9 + checksum: 1876483c3dccbea2207d624d70227d397469085328a1cdca69a2a3856807ee0a8ca6b03e7a214d767a4b82fa10eb02bb1d9c31d68dc4a378405aa3889f28602f languageName: node linkType: hard -"@jupyterlab/docregistry@npm:^4.3.0, @jupyterlab/docregistry@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/docregistry@npm:4.4.1" +"@jupyterlab/docregistry@npm:^4.3.0, @jupyterlab/docregistry@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/docregistry@npm:4.4.2" dependencies: "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/codeeditor": ^4.4.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/rendermime": ^4.4.1 - "@jupyterlab/rendermime-interfaces": ^3.12.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/codeeditor": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/rendermime": ^4.4.2 + "@jupyterlab/rendermime-interfaces": ^3.12.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/messaging": ^2.0.3 "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: a451d1d8f32b4e07c810c3e2c3615e7abd1c1d57a088ec9b5a38cfe46dd863fd5e0c018ace25720bb0b05e5e632efe29c6d1d261906066bbc84ac31b54287e1a + checksum: 6066e23ba8dfb468d00021f68306b97baf5bd0825ec82585b9c98a8b456d1a1133bce2842cd62b4ca9dcf9c0e8cf84963afedeab1ae0f67df7fc829dc758c1da languageName: node linkType: hard -"@jupyterlab/documentsearch@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/documentsearch@npm:4.4.1" +"@jupyterlab/documentsearch@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/documentsearch@npm:4.4.2" dependencies: - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/messaging": ^2.0.3 "@lumino/polling": ^2.1.4 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 482319ab66a83b4e563692f368861727ec764aa0a5d95aff0fccc69d5c7c5e1633b893086507a4a900d1a452bf35683764c73959036f370b805c7f9e8a156317 + checksum: 80552b308f9ec4d5ba7ef7d55fe38a2aa0f443e05c7e92743a4a55797358e612339982c75b5f78b6948d81925db2ac102ff96601081aabe6af51e595ac6719cf languageName: node linkType: hard -"@jupyterlab/filebrowser@npm:^4.3.0, @jupyterlab/filebrowser@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/filebrowser@npm:4.4.1" - dependencies: - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/docmanager": ^4.4.1 - "@jupyterlab/docregistry": ^4.4.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/statedb": ^4.4.1 - "@jupyterlab/statusbar": ^4.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 +"@jupyterlab/filebrowser@npm:^4.3.0, @jupyterlab/filebrowser@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/filebrowser@npm:4.4.2" + dependencies: + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/docmanager": ^4.4.2 + "@jupyterlab/docregistry": ^4.4.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/statedb": ^4.4.2 + "@jupyterlab/statusbar": ^4.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1302,99 +1315,99 @@ __metadata: "@lumino/polling": ^2.1.4 "@lumino/signaling": ^2.1.4 "@lumino/virtualdom": ^2.0.3 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 38f01686e8e6fd2fdfa5480a73f8fad4dc11cd2b86818ade22f40a718fe011680967dc021ee326998b172a60f5d0faa8efcee4363bb71f6e48d229e7bfb9f1ff + checksum: 8e1d05199ceab15455a080a2d13407bcafdd99cae5cce18551456d3a80fdf308790da72954f9a299449225398ae9d388ba632c1eae2b7a3a4e0c354a17a48c56 languageName: node linkType: hard "@jupyterlab/launcher@npm:^4.3.0": - version: 4.4.1 - resolution: "@jupyterlab/launcher@npm:4.4.1" + version: 4.4.2 + resolution: "@jupyterlab/launcher@npm:4.4.2" dependencies: - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/properties": ^2.0.3 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 61847c7252f4dd49fae70675df8ce6686aa2edd18ef0ffebf7133d5199c696cb10bd788f600e7acf393592ef5d9715515bb712533a518c10369757c6edac36ff + checksum: dc8bd9822da02cb9efe2dbf6c92a47389d51714ec6aaffd671a80d8407a608911e53b6e28fe750b06e95373d54ced557582268c8690f074260a4e5c31291d244 languageName: node linkType: hard -"@jupyterlab/lsp@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/lsp@npm:4.4.1" - dependencies: - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/codeeditor": ^4.4.1 - "@jupyterlab/codemirror": ^4.4.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/docregistry": ^4.4.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/translation": ^4.4.1 +"@jupyterlab/lsp@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/lsp@npm:4.4.2" + dependencies: + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/codeeditor": ^4.4.2 + "@jupyterlab/codemirror": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/docregistry": ^4.4.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/translation": ^4.4.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 lodash.mergewith: ^4.6.1 vscode-jsonrpc: ^6.0.0 vscode-languageserver-protocol: ^3.17.0 vscode-ws-jsonrpc: ~1.0.2 - checksum: 556f2bbb66a11353bb6d356b7678926e25fd9c3a77716a4c925647e4c9a0d6b7f927906a9e3cf50a4840b5be0558eab026fce6490b9ee0fe9c0f60f2b07535ff + checksum: 024ed9170f0a8df0c7a0cb0c956898c6f96eee48d58a48d0287cc9da883136ffc16906ea2f12127dba714aa358c0b73cf548054475094fd0f3801f19ed353330 languageName: node linkType: hard "@jupyterlab/mainmenu@npm:^4.3.0": - version: 4.4.1 - resolution: "@jupyterlab/mainmenu@npm:4.4.1" + version: 4.4.2 + resolution: "@jupyterlab/mainmenu@npm:4.4.2" dependencies: - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 - "@lumino/widgets": ^2.7.0 - checksum: 502efa1c2b30e8d6629bc1dd6b98e9e6c4a4bb17a403053fc3ce485de3e473bf921fe8e2f573cea74145f0b9b070f5b78ee4b22fff641ea4ff35ad245133ff70 + "@lumino/widgets": ^2.7.1 + checksum: b08128fee6af4edae7064113c58cba4cf09d0f220c42c7298b5d23668557564cc820943f504bccf979ef2884fc7075a9682deb2e91ae2cc1b19b139d8aa95452 languageName: node linkType: hard -"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/nbformat@npm:4.4.1" +"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/nbformat@npm:4.4.2" dependencies: "@lumino/coreutils": ^2.2.1 - checksum: cac3cc70bbd35f808cad2f76a6d85c18af00b94680527fc7c06a099dbfe3d59d53567c6556e947d7c5b5c351396ccbba16991cfa76eb96dec540d4666b301756 + checksum: fd000acfe69c4a3884dd503d090d36f6405a23b0a03b11ee1c0fccd8507f72b2b2310594d3097c7a3a732df1ed473346ba4fb001661e73e5477fc6bafdfc68d7 languageName: node linkType: hard "@jupyterlab/notebook@npm:^4.0.0": - version: 4.4.1 - resolution: "@jupyterlab/notebook@npm:4.4.1" + version: 4.4.2 + resolution: "@jupyterlab/notebook@npm:4.4.2" dependencies: "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/cells": ^4.4.1 - "@jupyterlab/codeeditor": ^4.4.1 - "@jupyterlab/codemirror": ^4.4.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/docregistry": ^4.4.1 - "@jupyterlab/documentsearch": ^4.4.1 - "@jupyterlab/lsp": ^4.4.1 - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/rendermime": ^4.4.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/settingregistry": ^4.4.1 - "@jupyterlab/statusbar": ^4.4.1 - "@jupyterlab/toc": ^6.4.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/cells": ^4.4.2 + "@jupyterlab/codeeditor": ^4.4.2 + "@jupyterlab/codemirror": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/docregistry": ^4.4.2 + "@jupyterlab/documentsearch": ^4.4.2 + "@jupyterlab/lsp": ^4.4.2 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/rendermime": ^4.4.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/settingregistry": ^4.4.2 + "@jupyterlab/statusbar": ^4.4.2 + "@jupyterlab/toc": ^6.4.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1405,102 +1418,102 @@ __metadata: "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/virtualdom": ^2.0.3 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 7c7f5c3558109758a8129337954a264e214074e99ae4731f3f2fb2a8b81672ebc4fc19ccd90f2341b8d00f6e22e43215764ba1ba55b725e1f27402871f701bb4 + checksum: 19896fa12a9144670733ba762a6e450a38015ced123c9a61047a8ab6c4281bb9a7e76e39f713b268706b78f3002ab1c19cc23c987041ee2c9ec1787fcdf708fb languageName: node linkType: hard -"@jupyterlab/observables@npm:^5.3.0, @jupyterlab/observables@npm:^5.4.1": - version: 5.4.1 - resolution: "@jupyterlab/observables@npm:5.4.1" +"@jupyterlab/observables@npm:^5.3.0, @jupyterlab/observables@npm:^5.4.2": + version: 5.4.2 + resolution: "@jupyterlab/observables@npm:5.4.2" dependencies: "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 - checksum: 9ce27774a532f55259622fccce679777bad57f92a7667dc9f1e4f913b469eb696550c2520f49fcc1e57dcefd8348171e56bb7d108502a2eb11b72b0a71da6633 + checksum: 0a769f0d90c06831b789bdae4c8fbda537fdf542df317e2ffdcba8bf139ffd607e4ee2e1a2af616eda5393ff93cbb16ad80c1d29864ea1ec13018c551c987fd8 languageName: node linkType: hard -"@jupyterlab/outputarea@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/outputarea@npm:4.4.1" - dependencies: - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/rendermime": ^4.4.1 - "@jupyterlab/rendermime-interfaces": ^3.12.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/translation": ^4.4.1 +"@jupyterlab/outputarea@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/outputarea@npm:4.4.2" + dependencies: + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/rendermime": ^4.4.2 + "@jupyterlab/rendermime-interfaces": ^3.12.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/translation": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/messaging": ^2.0.3 "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 - checksum: 1288ef0127f701739401b573e3a81fee71e4af1e9226790d422e081f8d6d98064a4cb732c8095d40deb75156e4bdbda654285e4ecf0b62ae8baf80d4d2efcf77 + "@lumino/widgets": ^2.7.1 + checksum: bd56b2f576a08c67cb51818ca2e1b30dba6498d5bb323828a1f380015456bf8259c59e7fcc4c3417c227077af64529f6cf8e0a6612a16bb324be73775b4d8380 languageName: node linkType: hard -"@jupyterlab/rendermime-interfaces@npm:^3.12.1": - version: 3.12.1 - resolution: "@jupyterlab/rendermime-interfaces@npm:3.12.1" +"@jupyterlab/rendermime-interfaces@npm:^3.12.2": + version: 3.12.2 + resolution: "@jupyterlab/rendermime-interfaces@npm:3.12.2" dependencies: "@lumino/coreutils": ^1.11.0 || ^2.2.1 - "@lumino/widgets": ^1.37.2 || ^2.7.0 - checksum: 73ac345f0367c0ee502a66aad2b35d4be7da4d1cb52a89959a72dc84029adc95714121e2d22144208be1e1050cff8198c9208ddde4cec7a12ba8a69981bd7091 + "@lumino/widgets": ^1.37.2 || ^2.7.1 + checksum: 5518c86ec198df8608657bc98f748dbda1ffea095a6cee383deefb5a6836e9a9d13973bbc00bd6473204b386e7baec98bbca4834cf65b1dd37faa2fc442ce24d languageName: node linkType: hard -"@jupyterlab/rendermime@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/rendermime@npm:4.4.1" - dependencies: - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/rendermime-interfaces": ^3.12.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/translation": ^4.4.1 +"@jupyterlab/rendermime@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/rendermime@npm:4.4.2" + dependencies: + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/rendermime-interfaces": ^3.12.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/translation": ^4.4.2 "@lumino/coreutils": ^2.2.1 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 lodash.escape: ^4.0.1 - checksum: ad6138dd7078ea7352edde0381cc0fcce8f032a3e0351c6ab079aa1c5d59b8e0d05529d2c030e595da311c412ab7cac015c2cd47e1f8aa45972ffb30175282d5 + checksum: 575d48ccb38be00f307ee1c9a4cf799279227e9f98df7b79896928bad3ffce9ff69f6af863315da89fe6bf911bffd38620fd254cfb9b85ca69b54d3c2d771676 languageName: node linkType: hard "@jupyterlab/services@npm: ^7.0.0": - version: 7.4.1 - resolution: "@jupyterlab/services@npm:7.4.1" + version: 7.4.2 + resolution: "@jupyterlab/services@npm:7.4.2" dependencies: "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/settingregistry": ^4.4.1 - "@jupyterlab/statedb": ^4.4.1 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/settingregistry": ^4.4.2 + "@jupyterlab/statedb": ^4.4.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/polling": ^2.1.4 "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 ws: ^8.11.0 - checksum: 0a6e5ad5de07db7cc672248307da891ca1f70447eaf40daa137886992b86e3c939da351ef183cb40896bc3bca41e6c45c13488b777108500436c343eb04769a8 + checksum: 00bcdb6ec05b6170bc2051f6fcd65b3689511a42486aebb9690826e20fa6d60710cb339502379592a3cffc351e3a9f1c5a91712bf480a84b18e43dde4d6f7e33 languageName: node linkType: hard -"@jupyterlab/settingregistry@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/settingregistry@npm:4.4.1" +"@jupyterlab/settingregistry@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/settingregistry@npm:4.4.2" dependencies: - "@jupyterlab/nbformat": ^4.4.1 - "@jupyterlab/statedb": ^4.4.1 + "@jupyterlab/nbformat": ^4.4.2 + "@jupyterlab/statedb": ^4.4.2 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1510,85 +1523,85 @@ __metadata: json5: ^2.2.3 peerDependencies: react: ">=16" - checksum: 5da756d9fc860b1e04dc6fbafa05bc5e3d985be31224faebb7a6af434a445fdb769607b584d19f3d8c7377896279bfaec31ce2299f5073c2f770225a7196aaa1 + checksum: 543a8e42a691b8235860f480b5398304ef8008d56a8bf8ac0f1f7361468a90e7e68d5c931c582968f05089386a4fd8ceb43207d3d136914541b91340dc6540d9 languageName: node linkType: hard -"@jupyterlab/statedb@npm:^4.3.0, @jupyterlab/statedb@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/statedb@npm:4.4.1" +"@jupyterlab/statedb@npm:^4.3.0, @jupyterlab/statedb@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/statedb@npm:4.4.2" dependencies: "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 - checksum: 472893498cd9c8eb9bd9c891e2abf3d9a965e257b37e1d576f323b51032e72b16ac02d1c4b1864b0fa837089ad4e495690c2adb4a0e3685d56ee8496e43161c4 + checksum: 67041cf06ae2f54cdddaffa8e20d1b4269da13c474235c13a4f145b60ace96e878c94943c7f40326b0cf58a924dc7f9497e9fc252df48f5cadaa7f3f61ada422 languageName: node linkType: hard -"@jupyterlab/statusbar@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/statusbar@npm:4.4.1" +"@jupyterlab/statusbar@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/statusbar@npm:4.4.2" dependencies: - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 2b18f0983ac134299ffb07d9b917f1ff0db9dd54672b242e9dda8d33c1196399fb44a540a07b34f5d4cddb4aef7d389d70160d6cf4647d494975544f67be3e23 + checksum: ede5dae10d810724e77603f233d16f0c64368cd46ff989a8c02a3bcb04125776831185095a1b8ae9e5d94ba8cc3d1c1ef1dd2d46d729625a07eb466fedf7e589 languageName: node linkType: hard -"@jupyterlab/toc@npm:^6.4.1": - version: 6.4.1 - resolution: "@jupyterlab/toc@npm:6.4.1" +"@jupyterlab/toc@npm:^6.4.2": + version: 6.4.2 + resolution: "@jupyterlab/toc@npm:6.4.2" dependencies: "@jupyter/react-components": ^0.16.6 - "@jupyterlab/apputils": ^4.5.1 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/docregistry": ^4.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/rendermime": ^4.4.1 - "@jupyterlab/rendermime-interfaces": ^3.12.1 - "@jupyterlab/translation": ^4.4.1 - "@jupyterlab/ui-components": ^4.4.1 + "@jupyterlab/apputils": ^4.5.2 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/docregistry": ^4.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/rendermime": ^4.4.2 + "@jupyterlab/rendermime-interfaces": ^3.12.2 + "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: bd002eea0caf5f2f05593c19491d52ede7bfaf01d44779f3833fb1c230db3fe21774a66634ecabb3f10450e14b697fe2083a7cdc182c7fe77aa60a79e405d046 + checksum: dae009198bad6ef0132a9ce39d957d2d95ca8b22da68ceff5a7a0d9ab4f4a3934a1643360d2a06c7421554b5db9e0bff98f932c550632ab7dd876b2d296f22db languageName: node linkType: hard -"@jupyterlab/translation@npm:^4.3.0, @jupyterlab/translation@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/translation@npm:4.4.1" +"@jupyterlab/translation@npm:^4.3.0, @jupyterlab/translation@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/translation@npm:4.4.2" dependencies: - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/rendermime-interfaces": ^3.12.1 - "@jupyterlab/services": ^7.4.1 - "@jupyterlab/statedb": ^4.4.1 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/rendermime-interfaces": ^3.12.2 + "@jupyterlab/services": ^7.4.2 + "@jupyterlab/statedb": ^4.4.2 "@lumino/coreutils": ^2.2.1 - checksum: eb535c8a3f60212f506ee9e52a95280cf34ba0d004dc0761f6489fd61b552f3028a11618c05112db5fff9a003d575a8cfcce929923752681fb47dc813dacac8a + checksum: 7534a70a48f8eeda24360eea4917acfc806093faf3001d6e357039b5f14a0fb185e09e96031db68ea87b0545ecbdcc48b12f700437bfe31e1204bb2873eeaa7b languageName: node linkType: hard -"@jupyterlab/ui-components@npm:^4.3.0, @jupyterlab/ui-components@npm:^4.3.1, @jupyterlab/ui-components@npm:^4.4.1": - version: 4.4.1 - resolution: "@jupyterlab/ui-components@npm:4.4.1" +"@jupyterlab/ui-components@npm:^4.3.0, @jupyterlab/ui-components@npm:^4.3.1, @jupyterlab/ui-components@npm:^4.4.2": + version: 4.4.2 + resolution: "@jupyterlab/ui-components@npm:4.4.2" dependencies: "@jupyter/react-components": ^0.16.6 "@jupyter/web-components": ^0.16.6 - "@jupyterlab/coreutils": ^6.4.1 - "@jupyterlab/observables": ^5.4.1 - "@jupyterlab/rendermime-interfaces": ^3.12.1 - "@jupyterlab/translation": ^4.4.1 + "@jupyterlab/coreutils": ^6.4.2 + "@jupyterlab/observables": ^5.4.2 + "@jupyterlab/rendermime-interfaces": ^3.12.2 + "@jupyterlab/translation": ^4.4.2 "@lumino/algorithm": ^2.0.3 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 @@ -1598,7 +1611,7 @@ __metadata: "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/virtualdom": ^2.0.3 - "@lumino/widgets": ^2.7.0 + "@lumino/widgets": ^2.7.1 "@rjsf/core": ^5.13.4 "@rjsf/utils": ^5.13.4 react: ^18.2.0 @@ -1606,7 +1619,7 @@ __metadata: typestyle: ^2.0.4 peerDependencies: react: ^18.2.0 - checksum: d4fadfa3c686f5bc5b5f280c245d21b4d9e53542e362b7191d72c709f622e6317d48062039a9512f11cbeacb0773598d7cfc008fa2528fc7c6926baf8295007e + checksum: 764007cfe2d3fcc6b53f2ea5caaed1622e3db35970ff4d55e08d5bcff71f2b8f46ce219ae827e204c9c65aed5ec6c2cf274252fcb55a583630ad26c36da18c65 languageName: node linkType: hard @@ -1707,13 +1720,13 @@ __metadata: linkType: hard "@lezer/css@npm:^1.1.0, @lezer/css@npm:^1.1.7": - version: 1.1.11 - resolution: "@lezer/css@npm:1.1.11" + version: 1.2.1 + resolution: "@lezer/css@npm:1.2.1" dependencies: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 - "@lezer/lr": ^1.0.0 - checksum: d2c870ba2c2b4205bfe222101d53658896dab6b44f6a944111f314f8dc387f97ca53409897e8e7e305bb8cf224cc72861650ef52298b9b1da832f46d82116748 + "@lezer/lr": ^1.3.0 + checksum: da94af5100868127eb3902f9cf1960ac37369ffa12e39df3bdf02e51f7186b2c0e4be42e5901c45822a8fc076a2fd8a750e0483ff0a347d59a52062d8231c9f6 languageName: node linkType: hard @@ -1792,12 +1805,12 @@ __metadata: linkType: hard "@lezer/markdown@npm:^1.0.0, @lezer/markdown@npm:^1.3.0": - version: 1.4.2 - resolution: "@lezer/markdown@npm:1.4.2" + version: 1.4.3 + resolution: "@lezer/markdown@npm:1.4.3" dependencies: "@lezer/common": ^1.0.0 "@lezer/highlight": ^1.0.0 - checksum: 3429594eff63a927cc61f315022d0cacd9ca4b1c3c7491128520575a59232d564eb54b9908af082cc6689a9182db2b452cffa58d17c06f9812dd961e93b4130d + checksum: d730c5b273f0fc9df0658c338f007e00838aa87d7ecdda181eb5def5253cf76aaac0671ef03e7459fd179128e77c2e8d74c2dc43402ee21cebb4fb9dd7db89c7 languageName: node linkType: hard @@ -1852,14 +1865,14 @@ __metadata: languageName: node linkType: hard -"@lumino/application@npm:^2.4.3": - version: 2.4.3 - resolution: "@lumino/application@npm:2.4.3" +"@lumino/application@npm:^2.4.4": + version: 2.4.4 + resolution: "@lumino/application@npm:2.4.4" dependencies: "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 - "@lumino/widgets": ^2.7.0 - checksum: 1a1ebd7a883664b29624765fe01d31ff30324e39c90565827ba8b578a21e36c94dc096d9a285dc8738e0ec9dbaf48c50337a7976ec01acd0e78afc9066370bee + "@lumino/widgets": ^2.7.1 + checksum: 3223d145172d2d7a793e038631463fdb8c70d46f8343512d452a90f54ac70c6004462ded66edba3313038888f8271ad186feb63918620b27bde500eaa9f33d95 languageName: node linkType: hard @@ -1976,9 +1989,9 @@ __metadata: languageName: node linkType: hard -"@lumino/widgets@npm:^1.37.2 || ^2.7.0, @lumino/widgets@npm:^2.0.0, @lumino/widgets@npm:^2.1.1, @lumino/widgets@npm:^2.7.0": - version: 2.7.0 - resolution: "@lumino/widgets@npm:2.7.0" +"@lumino/widgets@npm:^1.37.2 || ^2.7.1, @lumino/widgets@npm:^2.0.0, @lumino/widgets@npm:^2.1.1, @lumino/widgets@npm:^2.7.1": + version: 2.7.1 + resolution: "@lumino/widgets@npm:2.7.1" dependencies: "@lumino/algorithm": ^2.0.3 "@lumino/commands": ^2.3.2 @@ -1991,7 +2004,7 @@ __metadata: "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/virtualdom": ^2.0.3 - checksum: 6c2426e50549c7685cf2ad4d5f86d2b8e0d325003a70b29b14dc7b4655b0b3d41034728564675244fd09822ef200651aa856d28b6940aabccbf1dbc1f67f19f8 + checksum: c57f7e6cfbaddbd830e14db55242dcbdf531524cdf8641214ce737f43a6684004219eb58a572838f99f78af433bb8f9f19fd2ac6f0ffab4a635bd20164b75cec languageName: node linkType: hard @@ -2081,6 +2094,47 @@ __metadata: languageName: node linkType: hard +"@ngageoint/geopackage@npm:^4.2.6": + version: 4.2.6 + resolution: "@ngageoint/geopackage@npm:4.2.6" + dependencies: + "@turf/bbox": 6.3.0 + "@turf/boolean-clockwise": 6.5.0 + "@turf/boolean-point-in-polygon": 6.5.0 + "@turf/boolean-within": 6.5.0 + "@turf/distance": 6.5.0 + "@turf/helpers": 6.5.0 + "@turf/intersect": 6.5.0 + "@turf/line-intersect": 6.5.0 + "@turf/point-to-line-distance": 6.5.0 + "@turf/polygon-to-line": 6.5.0 + "@types/geojson": 7946.0.8 + "@types/proj4": 2.5.2 + better-sqlite3: ^9.1.1 + chalk: 4.1.1 + file-type: ^16.5.4 + image-size: 0.8.3 + inquirer: 8.0.0 + lodash: 4.17.21 + proj4: 2.8.0 + reproject: 1.2.5 + rtree-sql.js: 1.7.0 + simplify-js: 1.2.4 + webworkify: 1.5.0 + wkx: 0.4.8 + dependenciesMeta: + better-sqlite3: + optional: true + chalk: + optional: true + inquirer: + optional: true + bin: + geopackage: cli + checksum: 6fdd4bf3f9057b1c78949885a44a5e65b9fbe73180cbc6963508263a4f89ed1b53996ad4c4a9fe56c2eeda8f7eead0e6f81fe39a89d213c9a3aba4094cc8994b + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2121,6 +2175,19 @@ __metadata: languageName: node linkType: hard +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: ^7.1.0 + http-proxy-agent: ^7.0.0 + https-proxy-agent: ^7.0.1 + lru-cache: ^10.0.1 + socks-proxy-agent: ^8.0.3 + checksum: e8fc25d536250ed3e669813b36e8c6d805628b472353c57afd8c4fde0fcfcf3dda4ffe22f7af8c9070812ec2e7a03fb41d7151547cef3508efe661a5a3add20f + languageName: node + linkType: hard + "@npmcli/arborist@npm:7.5.4": version: 7.5.4 resolution: "@npmcli/arborist@npm:7.5.4" @@ -2175,6 +2242,15 @@ __metadata: languageName: node linkType: hard +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: ^7.3.5 + checksum: 68951c589e9a4328698a35fd82fe71909a257d6f2ede0434d236fa55634f0fbcad9bb8755553ce5849bd25ee6f019f4d435921ac715c853582c4a7f5983c8d4a + languageName: node + linkType: hard + "@npmcli/git@npm:^5.0.0": version: 5.0.8 resolution: "@npmcli/git@npm:5.0.8" @@ -2546,7 +2622,7 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.2.3": +"@pkgr/core@npm:^0.2.4": version: 0.2.4 resolution: "@pkgr/core@npm:0.2.4" checksum: 8544f0346c3f7035b9e2fdf60179c68b12d3c76b3fba9533844099af67cf5c0ce5257538f5faa05953d48cc1536d046f003231f321b2f75b3fb449db8410a2b7 @@ -2574,8 +2650,8 @@ __metadata: linkType: hard "@rjsf/core@npm:^5.13.4": - version: 5.24.9 - resolution: "@rjsf/core@npm:5.24.9" + version: 5.24.10 + resolution: "@rjsf/core@npm:5.24.10" dependencies: lodash: ^4.17.21 lodash-es: ^4.17.21 @@ -2585,13 +2661,13 @@ __metadata: peerDependencies: "@rjsf/utils": ^5.24.x react: ^16.14.0 || >=17 - checksum: 372f6bbe680d521f208fc10832482c09fb5ce0d68c4515f7fcdc6b20446057fd45ffad032cc395baf298f1b9b5cbd93093ba1656dbb24294a98683e195e5137f + checksum: 90316d9dd90ae58805fc4f6fa2bb14dfd9a361abebb75bd3b1b7ed55b554e9a7d5145fc09ee5906bc91d362fc8f8c24619d4d4c432bae782da5cebb0a5b9cddf languageName: node linkType: hard "@rjsf/utils@npm:^5.13.4": - version: 5.24.9 - resolution: "@rjsf/utils@npm:5.24.9" + version: 5.24.10 + resolution: "@rjsf/utils@npm:5.24.10" dependencies: json-schema-merge-allof: ^0.8.1 jsonpointer: ^5.0.1 @@ -2600,13 +2676,13 @@ __metadata: react-is: ^18.2.0 peerDependencies: react: ^16.14.0 || >=17 - checksum: d8057897c4d7357b17c50abb55bfbf4e76027d03c02201db5251726fd14393f96e371560d56cc4e08a3293f9a1722cddf10d6db8b20c48fbc9bcc2485c16ad2f + checksum: 64d9bcfea100c4b89128c20473982d316e960c01f9887fb3613bc0ecdaa9fdf8804f96ff99b0b415c2cbc7b4f7d5de941328a1a1a5d53148489d395a1f07a78e languageName: node linkType: hard "@rjsf/validator-ajv8@npm:^5.23.1": - version: 5.24.9 - resolution: "@rjsf/validator-ajv8@npm:5.24.9" + version: 5.24.10 + resolution: "@rjsf/validator-ajv8@npm:5.24.10" dependencies: ajv: ^8.12.0 ajv-formats: ^2.1.1 @@ -2614,7 +2690,7 @@ __metadata: lodash-es: ^4.17.21 peerDependencies: "@rjsf/utils": ^5.24.x - checksum: 6aa5d1ef0aad2b6f95405d8096f513ce326d4d39fe7d90d88f89fd8f95d8a4bbd3d4b39180455feb425d57f436cdedf84e98dfab565c27c26bab532dfddfc39d + checksum: 920d466c972683108a3b093f813a0b77c289068a24c3ae74b6933a5f7346c2a0d7f3d02d0304f419fbfd8376f7ee59972a5f202939c827ac778aedc35bd0ed1b languageName: node linkType: hard @@ -2683,6 +2759,13 @@ __metadata: languageName: node linkType: hard +"@tokenizer/token@npm:^0.3.0": + version: 0.3.0 + resolution: "@tokenizer/token@npm:0.3.0" + checksum: 1d575d02d2a9f0c5a4ca5180635ebd2ad59e0f18b42a65f3d04844148b49b3db35cf00b6012a1af2d59c2ab3caca59451c5689f747ba8667ee586ad717ee58e1 + languageName: node + linkType: hard + "@tufjs/canonical-json@npm:2.0.0": version: 2.0.0 resolution: "@tufjs/canonical-json@npm:2.0.0" @@ -2700,6 +2783,215 @@ __metadata: languageName: node linkType: hard +"@turf/bbox@npm:*, @turf/bbox@npm:6.3.0": + version: 6.3.0 + resolution: "@turf/bbox@npm:6.3.0" + dependencies: + "@turf/helpers": ^6.3.0 + "@turf/meta": ^6.3.0 + checksum: d229c70b66d49128dd611b888f4b701b3a9d374d2925a699df116c296cddb778879702626c7855d73ced8155b3f5b3954e7535b55f793f5919639877ed4a1003 + languageName: node + linkType: hard + +"@turf/bbox@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/bbox@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: 537be56ae0c5ad44e71a691717b35745e947e19a6bd9f20fdac2ab4318caf98cd88472d7dbf576e8b32ead5da034d273ffb3f4559d6d386820ddcb88a1f7fedd + languageName: node + linkType: hard + +"@turf/bearing@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/bearing@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: f2883fb56d3017f9d0190937a92a2dae174e48f5165ea5540a5032caa03dd7980e5a95d298fd25e6bcc74cdf812d411af0e0c146112518ed3cd0d19795a1b645 + languageName: node + linkType: hard + +"@turf/boolean-clockwise@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-clockwise@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: a359550683425a21256a833a95363861c44e8f2884dd09d79e2847b2bc5b1e83a150730b6de3d31763dd845fd577b156a75071dbaf8574b712f933aa2af7eb80 + languageName: node + linkType: hard + +"@turf/boolean-point-in-polygon@npm:6.5.0, @turf/boolean-point-in-polygon@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-point-in-polygon@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 624e54d9956b8f9d955285065f44c80ae66cd4a87e5d893f85871009b62ad9721cca520245a56f8c4401467767c153dda58f67fec0968e3971c7bb3a39617105 + languageName: node + linkType: hard + +"@turf/boolean-point-on-line@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-point-on-line@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 469bc39dfe8cdd50be654d3dc1ed94c130e27d5724461333edc6d32352d31c955a1e4f2785994f0a255162fd6075657e49c90b9c805a644e88e05e2a51ead6bc + languageName: node + linkType: hard + +"@turf/boolean-within@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-within@npm:6.5.0" + dependencies: + "@turf/bbox": ^6.5.0 + "@turf/boolean-point-in-polygon": ^6.5.0 + "@turf/boolean-point-on-line": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 6cc36191e087106119e4c8beed03c0be108b2ddb79de3f357dd2c69c10ebc8b17125c6a2ace8a27eb5c120efa4025fc83a2c97fe45dd4f5b2bbc86966edeaf94 + languageName: node + linkType: hard + +"@turf/clone@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/clone@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: 8ef6f6ba8876bb32b35691b62554a74b1e8e2b9d04a1c4f7bcba9348163b4ae4cde774b9e8e9f63211e5eb816517d94b94c3d54e5f855691a84cd3556d3157e4 + languageName: node + linkType: hard + +"@turf/distance@npm:6.5.0, @turf/distance@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/distance@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: f311e19a5d489a11e2033f218723f6c2fae207cb03fbdd5dc64a44724d36851f5bb44d07ae31d479532db5f1df019845e19e2117c1948d9e832a6769f6bf0448 + languageName: node + linkType: hard + +"@turf/helpers@npm:6.5.0, @turf/helpers@npm:6.x, @turf/helpers@npm:^6.3.0, @turf/helpers@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/helpers@npm:6.5.0" + checksum: d57f746351357838c654e0a9b98be3285a14b447504fd6d59753d90c6d437410bb24805d61c65b612827f07f6c2ade823bb7e56e41a1a946217abccfbd64c117 + languageName: node + linkType: hard + +"@turf/intersect@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/intersect@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + polygon-clipping: ^0.15.3 + checksum: 014e071cb3a2073bb4a1c82d9106a3e65b3761dc7c2b7226c88e6dbff9038556e821948b9d03202c1aabe7b6269fa90f47551393056f5e9e2b34131aa61c2f08 + languageName: node + linkType: hard + +"@turf/invariant@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/invariant@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: f45109ee41429d4aab49db9cfcc68f832cadf18b16c1b2c7031f0a6e52545bc4d64d0efd0a980f4d05f22532ed89d6e915aeaab9db44865898d4d030221d968e + languageName: node + linkType: hard + +"@turf/line-intersect@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/line-intersect@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/line-segment": ^6.5.0 + "@turf/meta": ^6.5.0 + geojson-rbush: 3.x + checksum: ae5eb762d879b18dfde0b7340fb34fe0158d83c9dee26d1d20bb9ef0111e3d042d1d2215ed6a8c04da1210011c85e45a513a64c3c2e6f641b17c58d43a017931 + languageName: node + linkType: hard + +"@turf/line-segment@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/line-segment@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: c58c91066fcc6632a2b97535bd5a3cc5c7d41f11bfd3cbfc3d3dae13b39c5fe1ccf14ecda6f8b9ff046d7a35ee4205b73ad30fea95fc03373f0831bb515e2ac1 + languageName: node + linkType: hard + +"@turf/meta@npm:6.x, @turf/meta@npm:^6.3.0, @turf/meta@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/meta@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: c6bb936aa92bf3365e87a50dc65f248e070c5767a36fac390754c00c89bf2d1583418686ab19a10332bfa9340b8cac6aaf2c55dad7f5fcf77f1a2dda75ccf363 + languageName: node + linkType: hard + +"@turf/point-to-line-distance@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/point-to-line-distance@npm:6.5.0" + dependencies: + "@turf/bearing": ^6.5.0 + "@turf/distance": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/meta": ^6.5.0 + "@turf/projection": ^6.5.0 + "@turf/rhumb-bearing": ^6.5.0 + "@turf/rhumb-distance": ^6.5.0 + checksum: addea96dbd3458d2dc3fa8ede3061f0a9d560e9ef1dba4f6d1ec84f9203fc930ff3f668573e9679edc555c9185e63c96447f1825ff7f907caf499e2bf5ab0458 + languageName: node + linkType: hard + +"@turf/polygon-to-line@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/polygon-to-line@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: ba189ff22a9a7a281da1dfb707909ce114339b14f8f61fd237f72a9ff056fcf5eeb7019fd2d2a8b3bfc953169eb2caa818ecc9d8801cdb5615c3d274af2465d5 + languageName: node + linkType: hard + +"@turf/projection@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/projection@npm:6.5.0" + dependencies: + "@turf/clone": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: 31baafb27e3c2a7b639a08156b38c771d312236a9ab218133f7136b4f5ac94cec2465ad62b7da8a0b7f26d5afb09b79d122e56022c27fd17fc9994213fe61833 + languageName: node + linkType: hard + +"@turf/rhumb-bearing@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/rhumb-bearing@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 150b7e1a8e68b9411194b4eb2abff48a65a77b78dde19c1d1a5b5f148aa09c4cded19a531b4d625e4953c510e556238e623e5465f65c5c7435a60c978e843f7f + languageName: node + linkType: hard + +"@turf/rhumb-distance@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/rhumb-distance@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: b9b78ee6f05cbfcf2bb3582746523a2cc4d70b004771c433004e650e4c5ccd74d7e35f80099ed59503b7cc731ce5277edfbb3e9b9ad82253267cba8bbf977d86 + languageName: node + linkType: hard + "@tybys/wasm-util@npm:^0.9.0": version: 0.9.0 resolution: "@tybys/wasm-util@npm:0.9.0" @@ -2766,6 +3058,13 @@ __metadata: languageName: node linkType: hard +"@types/geojson@npm:7946.0.8": + version: 7946.0.8 + resolution: "@types/geojson@npm:7946.0.8" + checksum: 6049a39b025cfe323d5cf87333d87c133ec963cdbd349c49295bee779827ee4b46a3041fd8bd2e7a4b02d6d1e26f3002968875928941bbed08477bfd5f6f9284 + languageName: node + linkType: hard + "@types/glob@npm:*": version: 8.1.0 resolution: "@types/glob@npm:8.1.0" @@ -2821,20 +3120,20 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 22.15.2 - resolution: "@types/node@npm:22.15.2" + version: 22.15.18 + resolution: "@types/node@npm:22.15.18" dependencies: undici-types: ~6.21.0 - checksum: 4602e8689375b07247dcd355ee50597e4c5bab2420b2b94b3e201a0d20c4ff88a3abcd5792ab33ae58fe3a49d6d858a6b59a0b45a2bf069386e5a1652696b6aa + checksum: 16fb2c1f7be4156578648bfe074c856fca309ac66b9b74f9c5887ce778ce6cbd06d2883eaa397837e3628cddb02a5b0859764c5db0ea24f55f0cfbf54cca06fc languageName: node linkType: hard "@types/node@npm:^18.15.11": - version: 18.19.87 - resolution: "@types/node@npm:18.19.87" + version: 18.19.100 + resolution: "@types/node@npm:18.19.100" dependencies: undici-types: ~5.26.4 - checksum: 83ca9e0c6b987702e0ff1deb2f7e4d176dc19d85fc6cc9241597047f248aca9aff29c1586ef391bc3b7b2f635e4c622131c2006336561c9aafa75490c30f7763 + checksum: b84c705cd723526aa10f08dce2f7df69d824f6702e728efd73a2819c0c618a4e0be4eedbca40454827625b00c0f5e1fd5ac4aedc81cb8b9222643f7d78dae473 languageName: node linkType: hard @@ -2852,6 +3151,13 @@ __metadata: languageName: node linkType: hard +"@types/proj4@npm:2.5.2": + version: 2.5.2 + resolution: "@types/proj4@npm:2.5.2" + checksum: f70fb89fe1e234faa164b57095624e054ead1b14653b1eb04e1aa50489ae9a6a30c90518efe571d53f5fcc12a25bee61e8cf8d9cc79b5a01586d051bdad4a992 + languageName: node + linkType: hard + "@types/proj4@npm:^2.5.5": version: 2.5.6 resolution: "@types/proj4@npm:2.5.6" @@ -2884,21 +3190,21 @@ __metadata: linkType: hard "@types/react@npm:*": - version: 19.1.2 - resolution: "@types/react@npm:19.1.2" + version: 19.1.4 + resolution: "@types/react@npm:19.1.4" dependencies: csstype: ^3.0.2 - checksum: 5a911a2c84be0c9451bb8a7c75c907af1f52afbb4d51b0d62e7516a9b0b1e63c3c1cdc35b79bfc6e66176c76cfff9d43023a781cd3dc59e2744715ced7d7e7c4 + checksum: 36dcbd7a2e78b011e61cddc3e97b5e8556d789a404a2e4847f9b88aaf46189a35d1c5becf93baa1bab89258a1cc1102ef295ffe3c1d008cfa95c4d4e1036606f languageName: node linkType: hard "@types/react@npm:^18.0.26": - version: 18.3.20 - resolution: "@types/react@npm:18.3.20" + version: 18.3.21 + resolution: "@types/react@npm:18.3.21" dependencies: "@types/prop-types": "*" csstype: ^3.0.2 - checksum: a93a4eec87c671ad9d68eaedaa2aa3688926409802939d2b291800cf926c771eb505a18721174364217ae9e1e8b89d09c1519f06ba1f168271de9f4c832710ea + checksum: 9c7dea4480aec72e9a592a49a61af38f34a88b322bb3ff983cd43bcb9bf315204102e5ed6ab4b6b3c1303ee9cc4008c0f9f80a22b0f36eb39d84834eb22384cf languageName: node linkType: hard @@ -3305,7 +3611,7 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:^1.3.5": +"JSONStream@npm:^1.0.0, JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" dependencies: @@ -3331,6 +3637,22 @@ __metadata: languageName: node linkType: hard +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: e70b209f5f408dd3a3bbd0eec4b10a2ffd64704a4a3821d0969d84928cc490a8eb60f85b78a95622c1841113edac10161c62e52f5e7d0027aa26786a8136e02e + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: ^5.0.0 + checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -3340,7 +3662,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.14.0, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.14.0, acorn@npm:^8.9.0": version: 8.14.1 resolution: "acorn@npm:8.14.1" bin: @@ -3679,6 +4001,17 @@ __metadata: languageName: node linkType: hard +"better-sqlite3@npm:^9.1.1": + version: 9.6.0 + resolution: "better-sqlite3@npm:9.6.0" + dependencies: + bindings: ^1.5.0 + node-gyp: latest + prebuild-install: ^7.1.1 + checksum: be3a1d2a3f6f9b5141be6607a38c0a51fa5849495b071955e507bc0c2a2fb08430852c1bf03796eec1a53344b25645807db48dcb51c71b0662b74c5a70420bb0 + languageName: node + linkType: hard + "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -3698,6 +4031,15 @@ __metadata: languageName: node linkType: hard +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 + languageName: node + linkType: hard + "bl@npm:^4.0.3, bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -3738,16 +4080,16 @@ __metadata: linkType: hard "browserslist@npm:^4.24.0": - version: 4.24.4 - resolution: "browserslist@npm:4.24.4" + version: 4.24.5 + resolution: "browserslist@npm:4.24.5" dependencies: - caniuse-lite: ^1.0.30001688 - electron-to-chromium: ^1.5.73 + caniuse-lite: ^1.0.30001716 + electron-to-chromium: ^1.5.149 node-releases: ^2.0.19 - update-browserslist-db: ^1.1.1 + update-browserslist-db: ^1.1.3 bin: browserslist: cli.js - checksum: 64074bf6cf0a9ae3094d753270e3eae9cf925149db45d646f0bc67bacc2e46d7ded64a4e835b95f5fdcf0350f63a83c3755b32f80831f643a47f0886deb8a065 + checksum: 69310ade58b0cb2b2871022fdaba8388902f9a2d17a6fa05f383d046d6da87fd9f83018a66fe1c6296648ca7d52e3208c3fc68c82f17a0fd4bf12a452c036247 languageName: node linkType: hard @@ -3768,6 +4110,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.2.1 + checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 + languageName: node + linkType: hard + "but-unzip@npm:^0.1.4": version: 0.1.4 resolution: "but-unzip@npm:0.1.4" @@ -3802,6 +4154,26 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": ^4.0.0 + fs-minipass: ^3.0.0 + glob: ^10.2.2 + lru-cache: ^10.0.1 + minipass: ^7.0.3 + minipass-collect: ^2.0.1 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + p-map: ^7.0.2 + ssri: ^12.0.0 + tar: ^7.4.3 + unique-filename: ^4.0.0 + checksum: e95684717de6881b4cdaa949fa7574e3171946421cd8291769dd3d2417dbf7abf4aa557d1f968cca83dcbc95bed2a281072b09abfc977c942413146ef7ed4525 + languageName: node + linkType: hard + "call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" @@ -3873,10 +4245,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001688": - version: 1.0.30001715 - resolution: "caniuse-lite@npm:1.0.30001715" - checksum: c8371dceca0177518e43de537c74a01e64428ea65250d597c13472cf8277ffbc800c9a729ff0e7d271c8445ae90976ba64a170232b4498aee9552d993287a4c4 +"caniuse-lite@npm:^1.0.30001716": + version: 1.0.30001718 + resolution: "caniuse-lite@npm:1.0.30001718" + checksum: c6598b6eb2c4358fc9f8ead8982bf5f9efdc1f29bb74948b9481d314ced10675bd0beb99771094ac52d56c2cec121049d1f18e9405cab7d81807816d1836b38a languageName: node linkType: hard @@ -3890,6 +4262,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:4.1.1": + version: 4.1.1 + resolution: "chalk@npm:4.1.1" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 036e973e665ba1a32c975e291d5f3d549bceeb7b1b983320d4598fb75d70fe20c5db5d62971ec0fe76cdbce83985a00ee42372416abfc3a5584465005a7855ed + languageName: node + linkType: hard + "chalk@npm:^2.3.0, chalk@npm:^2.4.1": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -3918,6 +4300,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^1.1.1": + version: 1.1.4 + resolution: "chownr@npm:1.1.4" + checksum: 115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -3925,6 +4314,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: fd73a4bab48b79e66903fe1cafbdc208956f41ea4f856df883d0c7277b7ab29fd33ee65f93b2ec9192fc0169238f2f8307b7735d27c155821d886b84aa97aa8d + languageName: node + linkType: hard + "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -4323,9 +4719,9 @@ __metadata: linkType: hard "core-js-pure@npm:^3.6.5": - version: 3.41.0 - resolution: "core-js-pure@npm:3.41.0" - checksum: 611faf7b49d6de65ffd7b364cdc78482846cbefb43d4dc185219ebef33aa92c43a981284f45c6230d6711bf5d48c529013a6665835b6bdd149bad1c11bbd54a1 + version: 3.42.0 + resolution: "core-js-pure@npm:3.42.0" + checksum: 37f2488e810db5ea23f623458b8d5861a5a858cde1b4d5777c89b531b00775a3df2cf814f69af0d9d16a421094f6c640c4466b9f86a8580d65263e3219c75440 languageName: node linkType: hard @@ -4532,14 +4928,14 @@ __metadata: linkType: hard "debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.4.0 - resolution: "debug@npm:4.4.0" + version: 4.4.1 + resolution: "debug@npm:4.4.1" dependencies: ms: ^2.1.3 peerDependenciesMeta: supports-color: optional: true - checksum: fb42df878dd0e22816fc56e1fdca9da73caa85212fbe40c868b1295a6878f9101ae684f4eeef516c13acfc700f5ea07f1136954f43d4cd2d477a811144136479 + checksum: a43826a01cda685ee4cec00fb2d3322eaa90ccadbef60d9287debc2a886be3e835d9199c80070ede75a409ee57828c4c6cd80e4b154f2843f0dc95a570dc0729 languageName: node linkType: hard @@ -4560,6 +4956,15 @@ __metadata: languageName: node linkType: hard +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: ^3.1.0 + checksum: d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 + languageName: node + linkType: hard + "dedent@npm:1.5.3": version: 1.5.3 resolution: "dedent@npm:1.5.3" @@ -4572,6 +4977,13 @@ __metadata: languageName: node linkType: hard +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 + languageName: node + linkType: hard + "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -4645,6 +5057,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.0": + version: 2.0.4 + resolution: "detect-libc@npm:2.0.4" + checksum: 3d186b7d4e16965e10e21db596c78a4e131f9eee69c0081d13b85e6a61d7448d3ba23fe7997648022bdfa3b0eb4cc3c289a44c8188df949445a20852689abef6 + languageName: node + linkType: hard + "detect-node@npm:^2.1.0": version: 2.1.0 resolution: "detect-node@npm:2.1.0" @@ -4758,7 +5177,7 @@ __metadata: languageName: node linkType: hard -"duplexer@npm:^0.1.1": +"duplexer@npm:^0.1.1, duplexer@npm:~0.1.1": version: 0.1.2 resolution: "duplexer@npm:0.1.2" checksum: 62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 @@ -4802,10 +5221,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.73": - version: 1.5.142 - resolution: "electron-to-chromium@npm:1.5.142" - checksum: 447d813ac6a58f26b0cb85c9b9cb2a41c3788fad07859bc848cdeef8b003ef3c5cb37768c4ad3e83eee2e66fb285dc339f87a50c27b3fa4738187ab0ed850f38 +"electron-to-chromium@npm:^1.5.149": + version: 1.5.155 + resolution: "electron-to-chromium@npm:1.5.155" + checksum: 6e8f666d4ea0b70e1dd94e2ae588a4e38545beab1d9de7875e19a771f333549cf304fe6cbf19d773d7ac79dffae1c479b9d4291cf6f1523e5d24109ae79f610c languageName: node linkType: hard @@ -4839,7 +5258,7 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.4.1": +"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": version: 1.4.4 resolution: "end-of-stream@npm:1.4.4" dependencies: @@ -5105,8 +5524,8 @@ __metadata: linkType: hard "eslint-plugin-prettier@npm:^5.0.1": - version: 5.2.6 - resolution: "eslint-plugin-prettier@npm:5.2.6" + version: 5.4.0 + resolution: "eslint-plugin-prettier@npm:5.4.0" dependencies: prettier-linter-helpers: ^1.0.0 synckit: ^0.11.0 @@ -5120,7 +5539,7 @@ __metadata: optional: true eslint-config-prettier: optional: true - checksum: 2626c123916c4afe88d423bac9c3644d30af8beac4963b77bf447f42ba75ab592076716dfa9d43333bfde0ac482d8f8b6a49699403d128aee5effd609ca54bec + checksum: 1d71d4fb42b8f9654232c6f9c6805549f7e9da6ee3207069dac122ab1c55eae90a0840f5c109e821e3a5145ec223dbbdfa7cfd3c3a28267316d08d55d5812e21 languageName: node linkType: hard @@ -5281,6 +5700,28 @@ __metadata: languageName: node linkType: hard +"event-stream@npm:^4.0.0": + version: 4.0.1 + resolution: "event-stream@npm:4.0.1" + dependencies: + duplexer: ^0.1.1 + from: ^0.1.7 + map-stream: 0.0.7 + pause-stream: ^0.0.11 + split: ^1.0.1 + stream-combiner: ^0.2.2 + through: ^2.3.8 + checksum: 515cdff30c8dd74d5869cf53133b8851deba012605d2a15a1bc77b777b9d237ebf06d99ec62be2c6fc8adb2c89bf392771e2809239b278e5e70ba2f88cd1955c + languageName: node + linkType: hard + +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 + languageName: node + linkType: hard + "eventemitter3@npm:^4.0.4": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" @@ -5288,7 +5729,7 @@ __metadata: languageName: node linkType: hard -"events@npm:^3.2.0": +"events@npm:^3.2.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 @@ -5319,6 +5760,13 @@ __metadata: languageName: node linkType: hard +"expand-template@npm:^2.0.3": + version: 2.0.3 + resolution: "expand-template@npm:2.0.3" + checksum: 588c19847216421ed92befb521767b7018dc88f88b0576df98cb242f20961425e96a92cbece525ef28cc5becceae5d544ae0f5b9b5e2aa05acb13716ca5b3099 + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.2 resolution: "exponential-backoff@npm:3.1.2" @@ -5410,6 +5858,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 79043610236579ffbd0647c508b43bd030a2d034a17c43cf96813a00e8e92e51acdb115c6ddecef3b5812cc2692b976155b4f6413e51e3761f1e772fa019a321 + languageName: node + linkType: hard + "fflate@npm:^0.8.0": version: 0.8.2 resolution: "fflate@npm:0.8.2" @@ -5435,8 +5895,26 @@ __metadata: languageName: node linkType: hard -"filelist@npm:^1.0.4": - version: 1.0.4 +"file-type@npm:^16.5.4": + version: 16.5.4 + resolution: "file-type@npm:16.5.4" + dependencies: + readable-web-to-node-stream: ^3.0.0 + strtok3: ^6.2.4 + token-types: ^4.1.1 + checksum: d983c0f36491c57fcb6cc70fcb02c36d6b53f312a15053263e1924e28ca8314adf0db32170801ad777f09432c32155f31715ceaee66310947731588120d7ec27 + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 + languageName: node + linkType: hard + +"filelist@npm:^1.0.4": + version: 1.0.4 resolution: "filelist@npm:1.0.4" dependencies: minimatch: ^5.0.1 @@ -5564,6 +6042,13 @@ __metadata: languageName: node linkType: hard +"from@npm:^0.1.7": + version: 0.1.7 + resolution: "from@npm:0.1.7" + checksum: b85125b7890489656eb2e4f208f7654a93ec26e3aefaf3bbbcc0d496fc1941e4405834fcc9fe7333192aa2187905510ace70417bbf9ac6f6f4784a731d986939 + languageName: node + linkType: hard + "front-matter@npm:^4.0.2": version: 4.0.2 resolution: "front-matter@npm:4.0.2" @@ -5665,6 +6150,36 @@ __metadata: languageName: node linkType: hard +"geographiclib-geodesic@npm:^2.1.1": + version: 2.1.1 + resolution: "geographiclib-geodesic@npm:2.1.1" + checksum: 647f676f0409d0bc9b2b264a8179a85cedd53788a01659719cbb924e0653b45ff994b65b4f48580e26ed43f7acba25413260969b4ed5fe26966701234926ce34 + languageName: node + linkType: hard + +"geojson-rbush@npm:3.x": + version: 3.2.0 + resolution: "geojson-rbush@npm:3.2.0" + dependencies: + "@turf/bbox": "*" + "@turf/helpers": 6.x + "@turf/meta": 6.x + "@types/geojson": 7946.0.8 + rbush: ^3.0.1 + checksum: f373e646f3699b86e3f88b16783bb8835b75446f0be9d5cbefbb5a0197e657ebe85fecfd7ce0b9140feecf532a88716c1aacf4d6a0dbcce1b48d6fd29d507927 + languageName: node + linkType: hard + +"geojson-stream@npm:0.1.0": + version: 0.1.0 + resolution: "geojson-stream@npm:0.1.0" + dependencies: + JSONStream: ^1.0.0 + through: ^2.3.4 + checksum: 0de882f32eee5aecc3abbf748a46fa0a6ba4d023c7749a6cbda11a367ad5999cfc6e11eb25fb7702defabdb4a57a41cb8267ffe1a98534017da8605abf29d604 + languageName: node + linkType: hard + "geojson-vt@npm:^4.0.2": version: 4.0.2 resolution: "geojson-vt@npm:4.0.2" @@ -5839,6 +6354,13 @@ __metadata: languageName: node linkType: hard +"github-from-package@npm:0.0.0": + version: 0.0.0 + resolution: "github-from-package@npm:0.0.0" + checksum: 14e448192a35c1e42efee94c9d01a10f42fe790375891a24b25261246ce9336ab9df5d274585aedd4568f7922246c2a78b8a8cd2571bfe99c693a9718e7dd0e3 + languageName: node + linkType: hard + "glob-parent@npm:6.0.2, glob-parent@npm:^6.0.1, glob-parent@npm:^6.0.2": version: 6.0.2 resolution: "glob-parent@npm:6.0.2" @@ -6156,9 +6678,9 @@ __metadata: linkType: hard "http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 7a7246ddfce629f96832791176fd643589d954e6f3b49548dadb4290451961237fab8fcea41cd2008fe819d95b41c1e8b97f47d088afc0a1c81705287b4ddbcc languageName: node linkType: hard @@ -6216,7 +6738,7 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13": +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e @@ -6239,6 +6761,17 @@ __metadata: languageName: node linkType: hard +"image-size@npm:0.8.3": + version: 0.8.3 + resolution: "image-size@npm:0.8.3" + dependencies: + queue: 6.0.1 + bin: + image-size: bin/image-size.js + checksum: e118dc6a738b26e9e9c17bf947205a93a734971970f0a8d1827faa019f414d20af088c1f3c92105c4ec4f596fbc105e1e33217881cb6791a5cc505183f2fac15 + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" @@ -6297,14 +6830,14 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 languageName: node linkType: hard -"ini@npm:^1.3.2, ini@npm:^1.3.8": +"ini@npm:^1.3.2, ini@npm:^1.3.8, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -6333,6 +6866,27 @@ __metadata: languageName: node linkType: hard +"inquirer@npm:8.0.0": + version: 8.0.0 + resolution: "inquirer@npm:8.0.0" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^4.1.0 + cli-cursor: ^3.1.0 + cli-width: ^3.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.21 + mute-stream: 0.0.8 + run-async: ^2.4.0 + rxjs: ^6.6.6 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + through: ^2.3.6 + checksum: 289a485752922998118668ae1c15001bd5ff1cb61e02d101da78c47dd9c9f4d46d2fcbcc9ebcae22dcdb820323636021508c723550394043dfde0e4f213596ec + languageName: node + linkType: hard + "inquirer@npm:^8.2.4": version: 8.2.6 resolution: "inquirer@npm:8.2.6" @@ -7220,15 +7774,15 @@ __metadata: linkType: hard "lib0@npm:^0.2.76, lib0@npm:^0.2.85, lib0@npm:^0.2.99": - version: 0.2.104 - resolution: "lib0@npm:0.2.104" + version: 0.2.108 + resolution: "lib0@npm:0.2.108" dependencies: isomorphic.js: ^0.2.4 bin: 0ecdsa-generate-keypair: bin/0ecdsa-generate-keypair.js 0gentesthtml: bin/gentesthtml.js 0serve: bin/0serve.js - checksum: 0a6e26f585feebc0ebce00879dd19aa295dc5bb889147237299bea911bae75fedfdc7a748e30b93aba0f73048d74c030861cb968c83e80df93b79ffa5acd0d60 + checksum: 0a0c26e4f0ad0c7f9296ece0279cf2d93b7529e6e48bee0599316de2d98ad4cfea23ecd967713d09c50d33f1eea7fa1ff245ae347598bf38701afab5f4e7a2af languageName: node linkType: hard @@ -7390,7 +7944,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": +"lodash@npm:4.17.21, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -7482,6 +8036,25 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": ^3.0.0 + cacache: ^19.0.1 + http-cache-semantics: ^4.1.1 + minipass: ^7.0.2 + minipass-fetch: ^4.0.0 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^1.0.0 + proc-log: ^5.0.0 + promise-retry: ^2.0.1 + ssri: ^12.0.0 + checksum: 6fb2fee6da3d98f1953b03d315826b5c5a4ea1f908481afc113782d8027e19f080c85ae998454de4e5f27a681d3ec58d57278f0868d4e0b736f51d396b661691 + languageName: node + linkType: hard + "map-obj@npm:^1.0.0": version: 1.0.1 resolution: "map-obj@npm:1.0.1" @@ -7496,6 +8069,13 @@ __metadata: languageName: node linkType: hard +"map-stream@npm:0.0.7": + version: 0.0.7 + resolution: "map-stream@npm:0.0.7" + checksum: 74596bc701abb3e328e0783d70fcfdc5204798d945662a1824b57b7f10f3c36835edee5881bdd68618f96c992594bcbe09233f12b04d3a6a55a76e1a5793b76e + languageName: node + linkType: hard + "markdown-to-jsx@npm:^7.4.1": version: 7.7.6 resolution: "markdown-to-jsx@npm:7.7.6" @@ -7608,6 +8188,13 @@ __metadata: languageName: node linkType: hard +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 25739fee32c17f433626bf19f016df9036b75b3d84a3046c7d156e72ec963dd29d7fc8a302f55a3d6c5a4ff24259676b15d915aad6480815a969ff2ec0836867 + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -7701,7 +8288,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.0": +"minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.0": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 @@ -7732,6 +8319,21 @@ __metadata: languageName: node linkType: hard +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: ^0.1.13 + minipass: ^7.0.3 + minipass-sized: ^1.0.3 + minizlib: ^3.0.1 + dependenciesMeta: + encoding: + optional: true + checksum: 3dfca705ce887ca9ff14d73e8d8593996dea1a1ecd8101fdbb9c10549d1f9670bc8fb66ad0192769ead4c2dc01b4f9ca1cf567ded365adff17827a303b948140 + languageName: node + linkType: hard + "minipass-flush@npm:^1.0.5": version: 1.0.5 resolution: "minipass-flush@npm:1.0.5" @@ -7782,7 +8384,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3 @@ -7799,6 +8401,22 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: ^7.1.2 + checksum: 493bed14dcb6118da7f8af356a8947cf1473289c09658e5aabd69a737800a8c3b1736fb7d7931b722268a9c9bc038a6d53c049b6a6af24b34a121823bb709996 + languageName: node + linkType: hard + +"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": + version: 0.5.3 + resolution: "mkdirp-classic@npm:0.5.3" + checksum: 3f4e088208270bbcc148d53b73e9a5bd9eef05ad2cbf3b3d0ff8795278d50dd1d11a8ef1875ff5aea3fa888931f95bfcb2ad5b7c1061cfefd6284d199e6776ac + languageName: node + linkType: hard + "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -7808,6 +8426,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 972deb188e8fb55547f1e58d66bd6b4a3623bf0c7137802582602d73e6480c1c2268dcbafbfb1be466e00cc7e56ac514d7fd9334b7cf33e3e2ab547c16f83a8d + languageName: node + linkType: hard + "modify-values@npm:^1.0.1": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -7878,6 +8505,13 @@ __metadata: languageName: node linkType: hard +"napi-build-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "napi-build-utils@npm:2.0.0" + checksum: 532121efd2dd2272595580bca48859e404bdd4ed455a72a28432ba44868c38d0e64fac3026a8f82bf8563d2a18b32eb9a1d59e601a9da4e84ba4d45b922297f5 + languageName: node + linkType: hard + "natural-compare-lite@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare-lite@npm:1.4.0" @@ -7899,6 +8533,13 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 20ebfe79b2d2e7cf9cbc8239a72662b584f71164096e6e8896c8325055497c96f6b80cd22c258e8a2f2aa382a787795ec3ee8b37b422a302c7d4381b0d5ecfbb + languageName: node + linkType: hard + "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -7920,6 +8561,15 @@ __metadata: languageName: node linkType: hard +"node-abi@npm:^3.3.0": + version: 3.75.0 + resolution: "node-abi@npm:3.75.0" + dependencies: + semver: ^7.3.5 + checksum: b86021c748b316b31efda4f1f4a74db9fd411b0ae63fa50be5b0247546285ae7e31c737e92013478877eaf39a3fd0a06072d48b1cace21ad629862373410416f + languageName: node + linkType: hard + "node-fetch@npm:2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" @@ -7954,6 +8604,26 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: ^2.2.0 + exponential-backoff: ^3.1.1 + graceful-fs: ^4.2.6 + make-fetch-happen: ^14.0.3 + nopt: ^8.0.0 + proc-log: ^5.0.0 + semver: ^7.3.5 + tar: ^7.4.3 + tinyglobby: ^0.2.12 + which: ^5.0.0 + bin: + node-gyp: bin/node-gyp.js + checksum: 2536282ba81f8a94b29482d3622b6ab298611440619e46de4512a6f32396a68b5530357c474b859787069d84a4c537d99e0c71078cce5b9f808bf84eeb78e8fb + languageName: node + linkType: hard + "node-machine-id@npm:1.1.12": version: 1.1.12 resolution: "node-machine-id@npm:1.1.12" @@ -7979,6 +8649,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: ^3.0.0 + bin: + nopt: bin/nopt.js + checksum: 49cfd3eb6f565e292bf61f2ff1373a457238804d5a5a63a8d786c923007498cba89f3648e3b952bc10203e3e7285752abf5b14eaf012edb821e84f24e881a92a + languageName: node + linkType: hard + "normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" @@ -8280,7 +8961,7 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.4.0": +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -8451,6 +9132,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 8c92d533acf82f0d12f7e196edccff773f384098bbb048acdd55a08778ce4fc8889d8f1bde72969487bd96f9c63212698d79744c20bedfce36c5b00b46d369f8 + languageName: node + linkType: hard + "p-pipe@npm:3.1.0": version: 3.1.0 resolution: "p-pipe@npm:3.1.0" @@ -8704,6 +9392,15 @@ __metadata: languageName: node linkType: hard +"pause-stream@npm:^0.0.11": + version: 0.0.11 + resolution: "pause-stream@npm:0.0.11" + dependencies: + through: ~2.3 + checksum: 3c4a14052a638b92e0c96eb00c0d7977df7f79ea28395250c525d197f1fc02d34ce1165d5362e2e6ebbb251524b94a76f3f0d4abc39ab8b016d97449fe15583c + languageName: node + linkType: hard + "pbf@npm:4.0.1, pbf@npm:^4.0.1": version: 4.0.1 resolution: "pbf@npm:4.0.1" @@ -8715,7 +9412,14 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": +"peek-readable@npm:^4.1.0": + version: 4.1.0 + resolution: "peek-readable@npm:4.1.0" + checksum: 02c673f9bc816f8e4e74a054c097225ad38d457d745b775e2b96faf404a54473b2f62f5bcd496f5ebc28696708bcc5e95bed409856f4bef5ed62eae9b4ac0dab + languageName: node + linkType: hard + +"picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -8729,6 +9433,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: a7a5188c954f82c6585720e9143297ccd0e35ad8072231608086ca950bee672d51b0ef676254af0788205e59bd4e4deb4e7708769226bed725bf13370a7d1464 + languageName: node + linkType: hard + "pidtree@npm:^0.3.0": version: 0.3.1 resolution: "pidtree@npm:0.3.1" @@ -8785,6 +9496,16 @@ __metadata: languageName: node linkType: hard +"polygon-clipping@npm:^0.15.3": + version: 0.15.7 + resolution: "polygon-clipping@npm:0.15.7" + dependencies: + robust-predicates: ^3.0.2 + splaytree: ^3.1.0 + checksum: b68fb71d1770b362026f5e956919f5ebb1245bc6b24d7926ead1c55beaa2f539e19c22e47d2aa31587dcb4318c695020f9ccd0e63d0f0425ef34f4cb02228d42 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.1.0 resolution: "possible-typed-array-names@npm:1.1.0" @@ -8874,6 +9595,28 @@ __metadata: languageName: node linkType: hard +"prebuild-install@npm:^7.1.1": + version: 7.1.3 + resolution: "prebuild-install@npm:7.1.3" + dependencies: + detect-libc: ^2.0.0 + expand-template: ^2.0.3 + github-from-package: 0.0.0 + minimist: ^1.2.3 + mkdirp-classic: ^0.5.3 + napi-build-utils: ^2.0.0 + node-abi: ^3.3.0 + pump: ^3.0.0 + rc: ^1.2.7 + simple-get: ^4.0.0 + tar-fs: ^2.0.0 + tunnel-agent: ^0.6.0 + bin: + prebuild-install: bin.js + checksum: 300740ca415e9ddbf2bd363f1a6d2673cc11dd0665c5ec431bbb5bf024c2f13c56791fb939ce2b2a2c12f2d2a09c91316169e8063a80eb4482a44b8fe5b265e1 + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -8926,6 +9669,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: c78b26ecef6d5cce4a7489a1e9923d7b4b1679028c8654aef0463b27f4a90b0946cd598f55799da602895c52feb085ec76381d007ab8dcceebd40b89c2f9dfe0 + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -8954,13 +9704,24 @@ __metadata: languageName: node linkType: hard -"proj4@npm:^2.1.4, proj4@npm:^2.14.0": - version: 2.15.0 - resolution: "proj4@npm:2.15.0" +"proj4@npm:2.8.0": + version: 2.8.0 + resolution: "proj4@npm:2.8.0" dependencies: mgrs: 1.0.0 - wkt-parser: ^1.4.0 - checksum: a7197f33b4ba8cb9233c0e4a3363a71fc988dfdc69915a274e69952901441cc0721ef9a91febccff2d55d34e3f24a169f93451a1397b8965e4668060fb94702c + wkt-parser: ^1.3.1 + checksum: 05c46387ac866bba699d50291507f9cfd2eece4806e375e7bc536c28c03af4d4ae8c386ab53a0c4a26a4b1718d5d0b30a6cf972614f4fb997e89bd262348c6b1 + languageName: node + linkType: hard + +"proj4@npm:^2.1.4, proj4@npm:^2.14.0, proj4@npm:^2.4.4": + version: 2.16.2 + resolution: "proj4@npm:2.16.2" + dependencies: + geographiclib-geodesic: ^2.1.1 + mgrs: 1.0.0 + wkt-parser: ^1.5.1 + checksum: a2b62f04f5d00c4f73e2726a8b1bf323ea1380364cb20f0217a45a657ed4a9584261b0a1f8ee405351bcc2940962b7c864983288847ac21f7b3783b0921e9212 languageName: node linkType: hard @@ -9036,6 +9797,16 @@ __metadata: languageName: node linkType: hard +"pump@npm:^3.0.0": + version: 3.0.2 + resolution: "pump@npm:3.0.2" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: e0c4216874b96bd25ddf31a0b61a5613e26cc7afa32379217cf39d3915b0509def3565f5f6968fafdad2894c8bbdbd67d340e84f3634b2a29b950cffb6442d9f + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -9057,6 +9828,15 @@ __metadata: languageName: node linkType: hard +"queue@npm:6.0.1": + version: 6.0.1 + resolution: "queue@npm:6.0.1" + dependencies: + inherits: ~2.0.3 + checksum: f39f70b030f9aebf4b32b0db5b7b11d2b799cdaedb190849532983fb31ba45a94d2ee48308e545e8452826b29a4ac996946579af7b42072f04ded3ce40c41703 + languageName: node + linkType: hard + "quick-lru@npm:^4.0.1": version: 4.0.1 resolution: "quick-lru@npm:4.0.1" @@ -9071,6 +9851,13 @@ __metadata: languageName: node linkType: hard +"quickselect@npm:^2.0.0": + version: 2.0.0 + resolution: "quickselect@npm:2.0.0" + checksum: ed2e78431050d223fb75da20ee98011aef1a03f7cb04e1a32ee893402e640be3cfb76d72e9dbe01edf3bb457ff6a62e5c2d85748424d1aa531f6ba50daef098c + languageName: node + linkType: hard + "quickselect@npm:^3.0.0": version: 3.0.0 resolution: "quickselect@npm:3.0.0" @@ -9087,6 +9874,15 @@ __metadata: languageName: node linkType: hard +"rbush@npm:^3.0.1": + version: 3.0.1 + resolution: "rbush@npm:3.0.1" + dependencies: + quickselect: ^2.0.0 + checksum: b7def5ba762ca01b6c7c032098ef61b86bd4fef4afb82e4a1d70a07a929b39e779290446c2d4730f577e8a1c8fd0dfd349605b5ea0229258d5f013debdffa65a + languageName: node + linkType: hard + "rbush@npm:^4.0.0": version: 4.0.1 resolution: "rbush@npm:4.0.1" @@ -9096,6 +9892,20 @@ __metadata: languageName: node linkType: hard +"rc@npm:^1.2.7": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: ^0.6.0 + ini: ~1.3.0 + minimist: ^1.2.0 + strip-json-comments: ~2.0.1 + bin: + rc: ./cli.js + checksum: 2e26e052f8be2abd64e6d1dabfbd7be03f80ec18ccbc49562d31f617d0015fbdbcf0f9eed30346ea6ab789e0fdfe4337f033f8016efdbee0df5354751842080e + languageName: node + linkType: hard + "react-dom@npm:^18.2.0": version: 18.3.1 resolution: "react-dom@npm:18.3.1" @@ -9221,7 +10031,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0": +"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -9232,6 +10042,19 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^4.7.0": + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" + dependencies: + abort-controller: ^3.0.0 + buffer: ^6.0.3 + events: ^3.3.0 + process: ^0.11.10 + string_decoder: ^1.3.0 + checksum: 03ec762faed8e149dc6452798b60394a8650861a1bb4bf936fa07b94044826bc25abe73696f5f45372abc404eec01876c560f64b479eba108b56397312dbe2ae + languageName: node + linkType: hard + "readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -9247,6 +10070,15 @@ __metadata: languageName: node linkType: hard +"readable-web-to-node-stream@npm:^3.0.0": + version: 3.0.4 + resolution: "readable-web-to-node-stream@npm:3.0.4" + dependencies: + readable-stream: ^4.7.0 + checksum: a11704035cab9ad857a3081e7663dca28a7befd7328e5b2eb2c124e4150e08534ea00c3159e5f7ff2588fca366b348a7d8d2bc0bc7d5eabc6b7108dd753886b7 + languageName: node + linkType: hard + "rechoir@npm:^0.8.0": version: 0.8.0 resolution: "rechoir@npm:0.8.0" @@ -9296,6 +10128,21 @@ __metadata: languageName: node linkType: hard +"reproject@npm:1.2.5": + version: 1.2.5 + resolution: "reproject@npm:1.2.5" + dependencies: + concat-stream: ^2.0.0 + event-stream: ^4.0.0 + geojson-stream: 0.1.0 + minimist: ^1.2.0 + proj4: ^2.4.4 + bin: + reproject: cli.js + checksum: 5cc5f8d7cc0f16f3395a40044323f678f5f6f40d74073feb18fb2296b490f1f757d965cc03ebcc3e65461713c3d062223fc0c936dee71135b0e4733996c252f7 + languageName: node + linkType: hard + "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -9428,6 +10275,20 @@ __metadata: languageName: node linkType: hard +"robust-predicates@npm:^3.0.2": + version: 3.0.2 + resolution: "robust-predicates@npm:3.0.2" + checksum: 36854c1321548ceca96d36ad9d6e0a5a512986029ec6929ad6ed3ec1612c22cc8b46cc72d2c5674af42e8074a119d793f6f0ea3a5b51373e3ab926c64b172d7a + languageName: node + linkType: hard + +"rtree-sql.js@npm:1.7.0": + version: 1.7.0 + resolution: "rtree-sql.js@npm:1.7.0" + checksum: feac8cef720348dcd3aad1d87f35588a302c96c4d2c86ce474a26f687419d49edfd18323c2f2de332909b781623d7c7047b166c2e39e3a7717214052064bef50 + languageName: node + linkType: hard + "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -9444,6 +10305,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^6.6.6": + version: 6.6.7 + resolution: "rxjs@npm:6.6.7" + dependencies: + tslib: ^1.9.0 + checksum: bc334edef1bb8bbf56590b0b25734ba0deaf8825b703256a93714308ea36dff8a11d25533671adf8e104e5e8f256aa6fdfe39b2e248cdbd7a5f90c260acbbd1b + languageName: node + linkType: hard + "rxjs@npm:^7.5.5": version: 7.8.2 resolution: "rxjs@npm:7.8.2" @@ -9466,7 +10336,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -9582,11 +10452,11 @@ __metadata: linkType: hard "semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4": - version: 7.7.1 - resolution: "semver@npm:7.7.1" + version: 7.7.2 + resolution: "semver@npm:7.7.2" bin: semver: bin/semver.js - checksum: 586b825d36874007c9382d9e1ad8f93888d8670040add24a28e06a910aeebd673a2eb9e3bf169c6679d9245e66efb9057e0852e70d9daa6c27372aab1dda7104 + checksum: dd94ba8f1cbc903d8eeb4dd8bf19f46b3deb14262b6717d0de3c804b594058ae785ef2e4b46c5c3b58733c99c83339068203002f9e37cfe44f7e2cc5e3d2f621 languageName: node linkType: hard @@ -9785,6 +10655,31 @@ __metadata: languageName: node linkType: hard +"simple-concat@npm:^1.0.0": + version: 1.0.1 + resolution: "simple-concat@npm:1.0.1" + checksum: 4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a + languageName: node + linkType: hard + +"simple-get@npm:^4.0.0": + version: 4.0.1 + resolution: "simple-get@npm:4.0.1" + dependencies: + decompress-response: ^6.0.0 + once: ^1.3.1 + simple-concat: ^1.0.0 + checksum: e4132fd27cf7af230d853fa45c1b8ce900cb430dd0a3c6d3829649fe4f2b26574c803698076c4006450efb0fad2ba8c5455fbb5755d4b0a5ec42d4f12b31d27e + languageName: node + linkType: hard + +"simplify-js@npm:1.2.4": + version: 1.2.4 + resolution: "simplify-js@npm:1.2.4" + checksum: 5bbc7b6223565ce7e1aa636405a973fc6a34b3b2704d697682d3023cf2582a8a7c5fdb42f1b251749d6377b44465d3c33d60aa98306192d9ba069d71dc778735 + languageName: node + linkType: hard + "slash@npm:3.0.0, slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -9936,6 +10831,13 @@ __metadata: languageName: node linkType: hard +"splaytree@npm:^3.1.0": + version: 3.1.2 + resolution: "splaytree@npm:3.1.2" + checksum: 7b90a52e02036699b0c7228bb86c784aa674618909622da652c80a809694dafa068b73c97309ecb719783b7c1e1092ac6917acf2213defc0fa9027f92b2afa62 + languageName: node + linkType: hard + "split2@npm:^3.2.2": version: 3.2.2 resolution: "split2@npm:3.2.2" @@ -9977,6 +10879,35 @@ __metadata: languageName: node linkType: hard +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: ^7.0.3 + checksum: ef4b6b0ae47b4a69896f5f1c4375f953b9435388c053c36d27998bc3d73e046969ccde61ab659e679142971a0b08e50478a1228f62edb994105b280f17900c98 + languageName: node + linkType: hard + +"stream-browserify@npm:^3.0.0": + version: 3.0.0 + resolution: "stream-browserify@npm:3.0.0" + dependencies: + inherits: ~2.0.4 + readable-stream: ^3.5.0 + checksum: 4c47ef64d6f03815a9ca3874e2319805e8e8a85f3550776c47ce523b6f4c6cd57f40e46ec6a9ab8ad260fde61863c2718f250d3bedb3fe9052444eb9abfd9921 + languageName: node + linkType: hard + +"stream-combiner@npm:^0.2.2": + version: 0.2.2 + resolution: "stream-combiner@npm:0.2.2" + dependencies: + duplexer: ~0.1.1 + through: ~2.3.4 + checksum: 5d3f4f6dd3604b3c5acf16150eabbbd131247378b54719c39cac5b5793150a92842306f662b58df65f2bd2e64bf8081f21449489591fed440c2b280021474e7d + languageName: node + linkType: hard + "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -10049,7 +10980,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -10122,6 +11053,13 @@ __metadata: languageName: node linkType: hard +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 + languageName: node + linkType: hard + "strong-log-transformer@npm:2.1.0": version: 2.1.0 resolution: "strong-log-transformer@npm:2.1.0" @@ -10135,6 +11073,16 @@ __metadata: languageName: node linkType: hard +"strtok3@npm:^6.2.4": + version: 6.3.0 + resolution: "strtok3@npm:6.3.0" + dependencies: + "@tokenizer/token": ^0.3.0 + peek-readable: ^4.1.0 + checksum: 90732cff3f325aef7c47c511f609b593e0873ec77b5081810071cde941344e6a0ee3ccb0cae1a9f5b4e12c81a2546fd6b322fabcdfbd1dd08362c2ce5291334a + languageName: node + linkType: hard + "style-loader@npm:^3.3.1, style-loader@npm:~3.3.1": version: 3.3.4 resolution: "style-loader@npm:3.3.4" @@ -10208,12 +11156,12 @@ __metadata: linkType: hard "synckit@npm:^0.11.0": - version: 0.11.4 - resolution: "synckit@npm:0.11.4" + version: 0.11.5 + resolution: "synckit@npm:0.11.5" dependencies: - "@pkgr/core": ^0.2.3 + "@pkgr/core": ^0.2.4 tslib: ^2.8.1 - checksum: ebbc345153c5cadcdd5b15b3a97ced98cfcff7cb6c2ef4c448e60814dd64e9dea0e0e77a7f0dd3daf6c4c287e170b83cbed8f4d5c08c8566152b293c4d889e11 + checksum: 249189ba9b48a6f22a025559f9370901d55492470cb74ba51bcc5cc0930187a28f98a966b46b71ae7d2ade5510b6df6495504a2e54b3943eacdfc30a8f4543ab languageName: node linkType: hard @@ -10231,7 +11179,19 @@ __metadata: languageName: node linkType: hard -"tar-stream@npm:~2.2.0": +"tar-fs@npm:^2.0.0": + version: 2.1.2 + resolution: "tar-fs@npm:2.1.2" + dependencies: + chownr: ^1.1.1 + mkdirp-classic: ^0.5.2 + pump: ^3.0.0 + tar-stream: ^2.1.4 + checksum: 6b4fcd38a644b5cd3325f687b9f1f48cd19809b63cbc8376fe794f68361849a17120d036833b3a97de6acb1df588844476309b8c2d0bcaf53f19da2d56ac07de + languageName: node + linkType: hard + +"tar-stream@npm:^2.1.4, tar-stream@npm:~2.2.0": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" dependencies: @@ -10258,6 +11218,20 @@ __metadata: languageName: node linkType: hard +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": ^4.0.0 + chownr: ^3.0.0 + minipass: ^7.1.2 + minizlib: ^3.0.1 + mkdirp: ^3.0.1 + yallist: ^5.0.0 + checksum: 8485350c0688331c94493031f417df069b778aadb25598abdad51862e007c39d1dd5310702c7be4a6784731a174799d8885d2fde0484269aea205b724d7b2ffa + languageName: node + linkType: hard + "temp-dir@npm:1.0.0": version: 1.0.0 resolution: "temp-dir@npm:1.0.0" @@ -10288,16 +11262,16 @@ __metadata: linkType: hard "terser@npm:^5.31.1": - version: 5.39.0 - resolution: "terser@npm:5.39.0" + version: 5.39.2 + resolution: "terser@npm:5.39.2" dependencies: "@jridgewell/source-map": ^0.3.3 - acorn: ^8.8.2 + acorn: ^8.14.0 commander: ^2.20.0 source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: e39c302aed7a70273c8b03032c37c68c8d9d3b432a7b6abe89caf9d087f7dd94d743c01ee5ba1431a095ad347c4a680b60d258f298a097cf512346d6041eb661 + checksum: 986a47896503c5bc6475c751d9445d4326de2e6f8b0be2c943b7726426ad0fe2385aacb9dce1dbc3aee13171595a0234411479bc855e6c730a51f23175132c84 languageName: node linkType: hard @@ -10359,7 +11333,7 @@ __metadata: languageName: node linkType: hard -"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6": +"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3, through@npm:~2.3.4": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd @@ -10376,6 +11350,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.12": + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" + dependencies: + fdir: ^6.4.4 + picomatch: ^4.0.2 + checksum: 3a2e87a2518cb3616057b0aa58be4f17771ae78c6890556516ae1e631f8ce4cfee1ba1dcb62fcc54a64e2bdd6c3104f4f3d021e1a3e3f8fb0875bca380b913e5 + languageName: node + linkType: hard + "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -10401,6 +11385,16 @@ __metadata: languageName: node linkType: hard +"token-types@npm:^4.1.1": + version: 4.2.1 + resolution: "token-types@npm:4.2.1" + dependencies: + "@tokenizer/token": ^0.3.0 + ieee754: ^1.2.1 + checksum: cce256766b33e0f08ceffefa2198fb4961a417866d00780e58625999ab5c0699821407053e64eadc41b00bbb6c0d0c4d02fbd2199940d8a3ccb71e1b148ab9a2 + languageName: node + linkType: hard + "tr46@npm:^2.1.0": version: 2.1.0 resolution: "tr46@npm:2.1.0" @@ -10458,7 +11452,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.13.0, tslib@npm:^1.8.1": +"tslib@npm:^1.13.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd @@ -10494,6 +11488,15 @@ __metadata: languageName: node linkType: hard +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: ^5.0.1 + checksum: 05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -10686,6 +11689,15 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: ^5.0.0 + checksum: 6a62094fcac286b9ec39edbd1f8f64ff92383baa430af303dfed1ffda5e47a08a6b316408554abfddd9730c78b6106bef4ca4d02c1231a735ddd56ced77573df + languageName: node + linkType: hard + "unique-slug@npm:^4.0.0": version: 4.0.0 resolution: "unique-slug@npm:4.0.0" @@ -10695,6 +11707,15 @@ __metadata: languageName: node linkType: hard +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 222d0322bc7bbf6e45c08967863212398313ef73423f4125e075f893a02405a5ffdbaaf150f7dd1e99f8861348a486dd079186d27c5f2c60e465b7dcbb1d3e5b + languageName: node + linkType: hard + "universal-user-agent@npm:^6.0.0": version: 6.0.1 resolution: "universal-user-agent@npm:6.0.1" @@ -10716,7 +11737,7 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.1": +"update-browserslist-db@npm:^1.1.3": version: 1.1.3 resolution: "update-browserslist-db@npm:1.1.3" dependencies: @@ -11015,8 +12036,8 @@ __metadata: linkType: hard "webpack@npm:^5.76.1, webpack@npm:^5.76.3, webpack@npm:^5.77.0": - version: 5.99.7 - resolution: "webpack@npm:5.99.7" + version: 5.99.8 + resolution: "webpack@npm:5.99.8" dependencies: "@types/eslint-scope": ^3.7.7 "@types/estree": ^1.0.6 @@ -11047,7 +12068,14 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 691b0a57c5a4e9dc1bf99188c4b68a4ff3cf10c23ea8e726e6bf36643f40ecb0fb7a4d7a92f01b187184b8c9f3bc27ee0efc6973cf46ef3913ee6ee8fe806521 + checksum: 40388883f17bb8c68fe0cc10cf158c350a90e52495c9ae465002b83a5eb0106079f42544bd7b177fb2a79fd9cd9c63f4a5a72c71474411bdccec3cfb53a597a5 + languageName: node + linkType: hard + +"webworkify@npm:1.5.0": + version: 1.5.0 + resolution: "webworkify@npm:1.5.0" + checksum: 426c10e0b94cac0678aed05fdf1abce98e8e11a523380537bab99fcd63df7c4b71b3630e61ab8052fdbd8d6e55e53700523b423cd475b258f95be5189d8cde49 languageName: node linkType: hard @@ -11173,6 +12201,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: ^3.1.1 + bin: + node-which: bin/which.js + checksum: 6ec99e89ba32c7e748b8a3144e64bfc74aa63e2b2eacbb61a0060ad0b961eb1a632b08fb1de067ed59b002cec3e21de18299216ebf2325ef0f78e0f121e14e90 + languageName: node + linkType: hard + "wide-align@npm:1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" @@ -11189,10 +12228,19 @@ __metadata: languageName: node linkType: hard -"wkt-parser@npm:^1.4.0": - version: 1.4.0 - resolution: "wkt-parser@npm:1.4.0" - checksum: 52d1b59ea0345f7d921a40547848fd51751ab20afed1c79ae1b9fb2434df4e8d79c91db0456edca58063b0ce6fb760d8d25bbc4de7e4b85c6be238e247632938 +"wkt-parser@npm:^1.3.1, wkt-parser@npm:^1.5.1": + version: 1.5.2 + resolution: "wkt-parser@npm:1.5.2" + checksum: 0055b11008bf47c390ae7c517ee3e2aa093b0c1149c8039c2d86d3dd3d33908e3ead31839addfbcd3fa4abf035348fc192cfae985296848f8eb6644c810108c9 + languageName: node + linkType: hard + +"wkx@npm:0.4.8": + version: 0.4.8 + resolution: "wkx@npm:0.4.8" + dependencies: + "@types/node": "*" + checksum: c11a165d3d2effe0764eb04f2cb634528a485b2215aa373ca535bded9bfe016a107f3e96fd99b6f771e579b0603a378f4746d68661b22e70929660eb6b01dd69 languageName: node linkType: hard @@ -11309,8 +12357,8 @@ __metadata: linkType: hard "ws@npm:^8.11.0": - version: 8.18.1 - resolution: "ws@npm:8.18.1" + version: 8.18.2 + resolution: "ws@npm:8.18.2" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -11319,7 +12367,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 4658357185d891bc45cc2d42a84f9e192d047e8476fb5cba25b604f7d75ca87ca0dd54cd0b2cc49aeee57c79045a741cb7d0b14501953ac60c790cd105c42f23 + checksum: e38beae19ba4d68577ec24eb34fbfab376333fedd10f99b07511a8e842e22dbc102de39adac333a18e4c58868d0703cd5f239b04b345e22402d0ed8c34ea0aa0 languageName: node linkType: hard @@ -11373,12 +12421,19 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: eba51182400b9f35b017daa7f419f434424410691bbc5de4f4240cc830fdef906b504424992700dc047f16b4d99100a6f8b8b11175c193f38008e9c96322b6a5 + languageName: node + linkType: hard + "yaml@npm:^2.6.0": - version: 2.7.1 - resolution: "yaml@npm:2.7.1" + version: 2.8.0 + resolution: "yaml@npm:2.8.0" bin: yaml: bin.mjs - checksum: 385f8115ddfafdf8e599813cca8b2bf4e3f6a01b919fff5ae7da277e164df684d7dfe558b4085172094792b5a04786d3c55fa8b74abb0ee029873f031150bb80 + checksum: 66f103ca5a2f02dac0526895cc7ae7626d91aa8c43aad6fdcff15edf68b1199be4012140b390063877913441aaa5288fdf57eca30e06268a8282dd741525e626 languageName: node linkType: hard @@ -11449,11 +12504,11 @@ __metadata: linkType: hard "yjs@npm:^13.5.0, yjs@npm:^13.5.40": - version: 13.6.26 - resolution: "yjs@npm:13.6.26" + version: 13.6.27 + resolution: "yjs@npm:13.6.27" dependencies: lib0: ^0.2.99 - checksum: 86def6cce6410aa929d1ba62dc712d8f73261f16b4526589b5a2354c206d936bb922e28fff93391f49c23fef251d911d34475e52c7998a77be0b8536a36825c7 + checksum: 3c934464cf28027278fa0d000568148d02af04d89d9debae7781aa50f09e20895de071120f9bd2b40faa115322a7ed8933518537344d78fb2a470e6d06df95a0 languageName: node linkType: hard From dd000819238135cc15c500a0850a30f845d0df21 Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 19 May 2025 13:07:33 +0200 Subject: [PATCH 02/26] Fix formatting --- packages/base/src/constants.ts | 1 - python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py | 4 ++-- .../jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py | 2 ++ 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/base/src/constants.ts b/packages/base/src/constants.ts index 0fc4d4e25..4af34dbae 100644 --- a/packages/base/src/constants.ts +++ b/packages/base/src/constants.ts @@ -4,7 +4,6 @@ import { clockIcon, geoJSONIcon, geoPackageIcon, - infoIcon, moundIcon, rasterIcon, diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py index 0be8b7363..993882ef2 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py @@ -571,7 +571,7 @@ def add_geopackage_layer( source = { "type": SourceType.GeoPackageSource, "name": f"{name} Source", - "parameters": {'path':path}, + "parameters": {"path": path}, } source_id = self._add_source(OBJECT_FACTORY.create_source(source, self)) @@ -882,7 +882,7 @@ class Config: IVideoSource, IGeoTiffSource, IRasterDemSource, - IGeoPackageSource + IGeoPackageSource, ] _parent = Optional[GISDocument] diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py index a20883dc7..ba224c650 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py @@ -7,6 +7,7 @@ TEST_TIF = "https://s2downloads.eox.at/demo/EOxCloudless/2020/rgbnir/s2cloudless2020-16bits_sinlge-file_z0-4.tif" TEST_GPKG = "https://raw.githubusercontent.com/ngageoint/GeoPackage/master/docs/examples/java/example.gpkg" + class TestDocument: def setup_method(self): self.doc = GISDocument() @@ -37,6 +38,7 @@ def test_sourcelayer(self): gpkg_layer = self.doc.add_geopackage_layer(TEST_GPKG, color_expr=color) assert self.doc.layers[gpkg_layer]["parameters"]["color"] == color + class TestLayerManipulation(TestDocument): def test_add_and_remove_layer_and_source(self): layer_id = self.doc.add_tiff_layer(url=TEST_TIF) From a1998f740fffc91186c8e80527f324fd8c5ead85 Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 19 May 2025 14:53:29 +0200 Subject: [PATCH 03/26] Fix merge conflicts and adapt code to updated branch --- packages/base/src/menus.ts | 5 + packages/base/src/tools.ts | 12 +- .../jupytergis_core/schema/__init__.py | 1 + yarn.lock | 1144 ++++++++++++++++- 4 files changed, 1138 insertions(+), 24 deletions(-) diff --git a/packages/base/src/menus.ts b/packages/base/src/menus.ts index a207c0144..991f6ad71 100644 --- a/packages/base/src/menus.ts +++ b/packages/base/src/menus.ts @@ -26,6 +26,11 @@ export const vectorSubMenu = (commands: CommandRegistry) => { command: CommandIDs.newShapefileEntry }); + subMenu.addItem({ + type: 'command', + command: CommandIDs.newGeoPackageEntry + }); + return subMenu; }; diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 5b7132405..d73bb5c11 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -602,10 +602,14 @@ export const loadFile = async (fileInfo: { return cached.file; } - const geojson = await fetchWithProxies(filepath, async response => { - const arrayBuffer = await response.arrayBuffer(); - return await loadGeoPackageFile(arrayBuffer); - }); + const geojson = await fetchWithProxies( + filepath, + model, + async response => { + const arrayBuffer = await response.arrayBuffer(); + return await loadGeoPackageFile(arrayBuffer); + } + ); if (geojson) { await saveToIndexedDB(filepath, geojson); diff --git a/python/jupytergis_core/jupytergis_core/schema/__init__.py b/python/jupytergis_core/jupytergis_core/schema/__init__.py index 844a68f9d..3aef6436a 100644 --- a/python/jupytergis_core/jupytergis_core/schema/__init__.py +++ b/python/jupytergis_core/jupytergis_core/schema/__init__.py @@ -15,6 +15,7 @@ from .interfaces.project.sources.imageSource import IImageSource # noqa from .interfaces.project.sources.geoTiffSource import IGeoTiffSource # noqa from .interfaces.project.sources.rasterDemSource import IRasterDemSource # noqa +from .interfaces.project.sources.geoPackageSource import IGeoPackageSource # noqa from .interfaces.processing.buffer import IBuffer # noqa diff --git a/yarn.lock b/yarn.lock index 228c5e4b1..bf8c1c5f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -603,6 +603,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: ^7.0.4 + checksum: 5d36d289960e886484362d9eb6a51d1ea28baed5f5d0140bbe62b99bac52eaf06cc01c2bc0d3575977962f84f6b2c4387b043ee632216643d4787b0999465bf2 + languageName: node + linkType: hard + "@isaacs/string-locale-compare@npm:^1.1.0": version: 1.1.0 resolution: "@isaacs/string-locale-compare@npm:1.1.0" @@ -756,6 +765,7 @@ __metadata: "@lumino/widgets": ^2.0.0 "@mapbox/vector-tile": ^2.0.3 "@naisutech/react-tree": ^3.0.1 + "@ngageoint/geopackage": ^4.2.6 "@rjsf/core": ^4.2.0 "@rjsf/validator-ajv8": ^5.23.1 "@types/colormap": ^2.3.4 @@ -809,11 +819,14 @@ __metadata: "@types/json-schema": ^7.0.11 "@types/react": ^18.0.26 "@types/react-addons-linked-state-mixin": ^0.14.22 + buffer: ^6.0.3 copy-webpack-plugin: ^10.0.0 css-loader: ^6.7.1 mkdirp: ^1.0.3 npm-run-all: ^4.1.5 + process: ^0.11.10 rimraf: ^3.0.2 + stream-browserify: ^3.0.0 style-loader: ^3.3.1 typescript: ^5 util: ^0.12.5 @@ -2081,6 +2094,47 @@ __metadata: languageName: node linkType: hard +"@ngageoint/geopackage@npm:^4.2.6": + version: 4.2.6 + resolution: "@ngageoint/geopackage@npm:4.2.6" + dependencies: + "@turf/bbox": 6.3.0 + "@turf/boolean-clockwise": 6.5.0 + "@turf/boolean-point-in-polygon": 6.5.0 + "@turf/boolean-within": 6.5.0 + "@turf/distance": 6.5.0 + "@turf/helpers": 6.5.0 + "@turf/intersect": 6.5.0 + "@turf/line-intersect": 6.5.0 + "@turf/point-to-line-distance": 6.5.0 + "@turf/polygon-to-line": 6.5.0 + "@types/geojson": 7946.0.8 + "@types/proj4": 2.5.2 + better-sqlite3: ^9.1.1 + chalk: 4.1.1 + file-type: ^16.5.4 + image-size: 0.8.3 + inquirer: 8.0.0 + lodash: 4.17.21 + proj4: 2.8.0 + reproject: 1.2.5 + rtree-sql.js: 1.7.0 + simplify-js: 1.2.4 + webworkify: 1.5.0 + wkx: 0.4.8 + dependenciesMeta: + better-sqlite3: + optional: true + chalk: + optional: true + inquirer: + optional: true + bin: + geopackage: cli + checksum: 6fdd4bf3f9057b1c78949885a44a5e65b9fbe73180cbc6963508263a4f89ed1b53996ad4c4a9fe56c2eeda8f7eead0e6f81fe39a89d213c9a3aba4094cc8994b + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2121,6 +2175,19 @@ __metadata: languageName: node linkType: hard +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: ^7.1.0 + http-proxy-agent: ^7.0.0 + https-proxy-agent: ^7.0.1 + lru-cache: ^10.0.1 + socks-proxy-agent: ^8.0.3 + checksum: e8fc25d536250ed3e669813b36e8c6d805628b472353c57afd8c4fde0fcfcf3dda4ffe22f7af8c9070812ec2e7a03fb41d7151547cef3508efe661a5a3add20f + languageName: node + linkType: hard + "@npmcli/arborist@npm:7.5.4": version: 7.5.4 resolution: "@npmcli/arborist@npm:7.5.4" @@ -2175,6 +2242,15 @@ __metadata: languageName: node linkType: hard +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: ^7.3.5 + checksum: 68951c589e9a4328698a35fd82fe71909a257d6f2ede0434d236fa55634f0fbcad9bb8755553ce5849bd25ee6f019f4d435921ac715c853582c4a7f5983c8d4a + languageName: node + linkType: hard + "@npmcli/git@npm:^5.0.0": version: 5.0.8 resolution: "@npmcli/git@npm:5.0.8" @@ -2683,6 +2759,13 @@ __metadata: languageName: node linkType: hard +"@tokenizer/token@npm:^0.3.0": + version: 0.3.0 + resolution: "@tokenizer/token@npm:0.3.0" + checksum: 1d575d02d2a9f0c5a4ca5180635ebd2ad59e0f18b42a65f3d04844148b49b3db35cf00b6012a1af2d59c2ab3caca59451c5689f747ba8667ee586ad717ee58e1 + languageName: node + linkType: hard + "@tufjs/canonical-json@npm:2.0.0": version: 2.0.0 resolution: "@tufjs/canonical-json@npm:2.0.0" @@ -2700,6 +2783,247 @@ __metadata: languageName: node linkType: hard +"@turf/bbox@npm:*": + version: 7.2.0 + resolution: "@turf/bbox@npm:7.2.0" + dependencies: + "@turf/helpers": ^7.2.0 + "@turf/meta": ^7.2.0 + "@types/geojson": ^7946.0.10 + tslib: ^2.8.1 + checksum: 34dfb634d04bc20be292a211e0fdef610556bead4bb5a38174fe040c59f041b4a0e2f586148c2c8b88677b1c5af08a07de5745235233dbaa0197fd67bf21e0da + languageName: node + linkType: hard + +"@turf/bbox@npm:6.3.0": + version: 6.3.0 + resolution: "@turf/bbox@npm:6.3.0" + dependencies: + "@turf/helpers": ^6.3.0 + "@turf/meta": ^6.3.0 + checksum: d229c70b66d49128dd611b888f4b701b3a9d374d2925a699df116c296cddb778879702626c7855d73ced8155b3f5b3954e7535b55f793f5919639877ed4a1003 + languageName: node + linkType: hard + +"@turf/bbox@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/bbox@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: 537be56ae0c5ad44e71a691717b35745e947e19a6bd9f20fdac2ab4318caf98cd88472d7dbf576e8b32ead5da034d273ffb3f4559d6d386820ddcb88a1f7fedd + languageName: node + linkType: hard + +"@turf/bearing@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/bearing@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: f2883fb56d3017f9d0190937a92a2dae174e48f5165ea5540a5032caa03dd7980e5a95d298fd25e6bcc74cdf812d411af0e0c146112518ed3cd0d19795a1b645 + languageName: node + linkType: hard + +"@turf/boolean-clockwise@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-clockwise@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: a359550683425a21256a833a95363861c44e8f2884dd09d79e2847b2bc5b1e83a150730b6de3d31763dd845fd577b156a75071dbaf8574b712f933aa2af7eb80 + languageName: node + linkType: hard + +"@turf/boolean-point-in-polygon@npm:6.5.0, @turf/boolean-point-in-polygon@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-point-in-polygon@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 624e54d9956b8f9d955285065f44c80ae66cd4a87e5d893f85871009b62ad9721cca520245a56f8c4401467767c153dda58f67fec0968e3971c7bb3a39617105 + languageName: node + linkType: hard + +"@turf/boolean-point-on-line@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-point-on-line@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 469bc39dfe8cdd50be654d3dc1ed94c130e27d5724461333edc6d32352d31c955a1e4f2785994f0a255162fd6075657e49c90b9c805a644e88e05e2a51ead6bc + languageName: node + linkType: hard + +"@turf/boolean-within@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-within@npm:6.5.0" + dependencies: + "@turf/bbox": ^6.5.0 + "@turf/boolean-point-in-polygon": ^6.5.0 + "@turf/boolean-point-on-line": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 6cc36191e087106119e4c8beed03c0be108b2ddb79de3f357dd2c69c10ebc8b17125c6a2ace8a27eb5c120efa4025fc83a2c97fe45dd4f5b2bbc86966edeaf94 + languageName: node + linkType: hard + +"@turf/clone@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/clone@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: 8ef6f6ba8876bb32b35691b62554a74b1e8e2b9d04a1c4f7bcba9348163b4ae4cde774b9e8e9f63211e5eb816517d94b94c3d54e5f855691a84cd3556d3157e4 + languageName: node + linkType: hard + +"@turf/distance@npm:6.5.0, @turf/distance@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/distance@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: f311e19a5d489a11e2033f218723f6c2fae207cb03fbdd5dc64a44724d36851f5bb44d07ae31d479532db5f1df019845e19e2117c1948d9e832a6769f6bf0448 + languageName: node + linkType: hard + +"@turf/helpers@npm:6.5.0, @turf/helpers@npm:6.x, @turf/helpers@npm:^6.3.0, @turf/helpers@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/helpers@npm:6.5.0" + checksum: d57f746351357838c654e0a9b98be3285a14b447504fd6d59753d90c6d437410bb24805d61c65b612827f07f6c2ade823bb7e56e41a1a946217abccfbd64c117 + languageName: node + linkType: hard + +"@turf/helpers@npm:^7.2.0": + version: 7.2.0 + resolution: "@turf/helpers@npm:7.2.0" + dependencies: + "@types/geojson": ^7946.0.10 + tslib: ^2.8.1 + checksum: 44697cf00db81ef8c4a43d13c7fc59ad06a50a5fae78f8d5e735fcdf89822107611585dcec0e973ae56248327a0f8f835dfbee952ec08bb6b7154592ce14aa5e + languageName: node + linkType: hard + +"@turf/intersect@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/intersect@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + polygon-clipping: ^0.15.3 + checksum: 014e071cb3a2073bb4a1c82d9106a3e65b3761dc7c2b7226c88e6dbff9038556e821948b9d03202c1aabe7b6269fa90f47551393056f5e9e2b34131aa61c2f08 + languageName: node + linkType: hard + +"@turf/invariant@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/invariant@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: f45109ee41429d4aab49db9cfcc68f832cadf18b16c1b2c7031f0a6e52545bc4d64d0efd0a980f4d05f22532ed89d6e915aeaab9db44865898d4d030221d968e + languageName: node + linkType: hard + +"@turf/line-intersect@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/line-intersect@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/line-segment": ^6.5.0 + "@turf/meta": ^6.5.0 + geojson-rbush: 3.x + checksum: ae5eb762d879b18dfde0b7340fb34fe0158d83c9dee26d1d20bb9ef0111e3d042d1d2215ed6a8c04da1210011c85e45a513a64c3c2e6f641b17c58d43a017931 + languageName: node + linkType: hard + +"@turf/line-segment@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/line-segment@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: c58c91066fcc6632a2b97535bd5a3cc5c7d41f11bfd3cbfc3d3dae13b39c5fe1ccf14ecda6f8b9ff046d7a35ee4205b73ad30fea95fc03373f0831bb515e2ac1 + languageName: node + linkType: hard + +"@turf/meta@npm:6.x, @turf/meta@npm:^6.3.0, @turf/meta@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/meta@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: c6bb936aa92bf3365e87a50dc65f248e070c5767a36fac390754c00c89bf2d1583418686ab19a10332bfa9340b8cac6aaf2c55dad7f5fcf77f1a2dda75ccf363 + languageName: node + linkType: hard + +"@turf/meta@npm:^7.2.0": + version: 7.2.0 + resolution: "@turf/meta@npm:7.2.0" + dependencies: + "@turf/helpers": ^7.2.0 + "@types/geojson": ^7946.0.10 + checksum: 77de8b1e345511e62ea421581dcdaf0d46b20d2440137f116341ed2213ba519da39aba6fd041098eb63a65d52cefb179206cc663ab4d289f220cf00f49f95bb0 + languageName: node + linkType: hard + +"@turf/point-to-line-distance@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/point-to-line-distance@npm:6.5.0" + dependencies: + "@turf/bearing": ^6.5.0 + "@turf/distance": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/meta": ^6.5.0 + "@turf/projection": ^6.5.0 + "@turf/rhumb-bearing": ^6.5.0 + "@turf/rhumb-distance": ^6.5.0 + checksum: addea96dbd3458d2dc3fa8ede3061f0a9d560e9ef1dba4f6d1ec84f9203fc930ff3f668573e9679edc555c9185e63c96447f1825ff7f907caf499e2bf5ab0458 + languageName: node + linkType: hard + +"@turf/polygon-to-line@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/polygon-to-line@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: ba189ff22a9a7a281da1dfb707909ce114339b14f8f61fd237f72a9ff056fcf5eeb7019fd2d2a8b3bfc953169eb2caa818ecc9d8801cdb5615c3d274af2465d5 + languageName: node + linkType: hard + +"@turf/projection@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/projection@npm:6.5.0" + dependencies: + "@turf/clone": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: 31baafb27e3c2a7b639a08156b38c771d312236a9ab218133f7136b4f5ac94cec2465ad62b7da8a0b7f26d5afb09b79d122e56022c27fd17fc9994213fe61833 + languageName: node + linkType: hard + +"@turf/rhumb-bearing@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/rhumb-bearing@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 150b7e1a8e68b9411194b4eb2abff48a65a77b78dde19c1d1a5b5f148aa09c4cded19a531b4d625e4953c510e556238e623e5465f65c5c7435a60c978e843f7f + languageName: node + linkType: hard + +"@turf/rhumb-distance@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/rhumb-distance@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: b9b78ee6f05cbfcf2bb3582746523a2cc4d70b004771c433004e650e4c5ccd74d7e35f80099ed59503b7cc731ce5277edfbb3e9b9ad82253267cba8bbf977d86 + languageName: node + linkType: hard + "@tybys/wasm-util@npm:^0.9.0": version: 0.9.0 resolution: "@tybys/wasm-util@npm:0.9.0" @@ -2759,13 +3083,20 @@ __metadata: languageName: node linkType: hard -"@types/geojson@npm:*, @types/geojson@npm:^7946.0.14": +"@types/geojson@npm:*, @types/geojson@npm:^7946.0.10, @types/geojson@npm:^7946.0.14": version: 7946.0.16 resolution: "@types/geojson@npm:7946.0.16" checksum: d66e5e023f43b3e7121448117af1930af7d06410a32a585a8bc9c6bb5d97e0d656cd93d99e31fa432976c32e98d4b780f82bf1fd1acd20ccf952eb6b8e39edf2 languageName: node linkType: hard +"@types/geojson@npm:7946.0.8": + version: 7946.0.8 + resolution: "@types/geojson@npm:7946.0.8" + checksum: 6049a39b025cfe323d5cf87333d87c133ec963cdbd349c49295bee779827ee4b46a3041fd8bd2e7a4b02d6d1e26f3002968875928941bbed08477bfd5f6f9284 + languageName: node + linkType: hard + "@types/glob@npm:*": version: 8.1.0 resolution: "@types/glob@npm:8.1.0" @@ -2852,6 +3183,13 @@ __metadata: languageName: node linkType: hard +"@types/proj4@npm:2.5.2": + version: 2.5.2 + resolution: "@types/proj4@npm:2.5.2" + checksum: f70fb89fe1e234faa164b57095624e054ead1b14653b1eb04e1aa50489ae9a6a30c90518efe571d53f5fcc12a25bee61e8cf8d9cc79b5a01586d051bdad4a992 + languageName: node + linkType: hard + "@types/proj4@npm:^2.5.5": version: 2.5.6 resolution: "@types/proj4@npm:2.5.6" @@ -3305,7 +3643,7 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:^1.3.5": +"JSONStream@npm:^1.0.0, JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" dependencies: @@ -3331,6 +3669,22 @@ __metadata: languageName: node linkType: hard +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: e70b209f5f408dd3a3bbd0eec4b10a2ffd64704a4a3821d0969d84928cc490a8eb60f85b78a95622c1841113edac10161c62e52f5e7d0027aa26786a8136e02e + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: ^5.0.0 + checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -3679,6 +4033,17 @@ __metadata: languageName: node linkType: hard +"better-sqlite3@npm:^9.1.1": + version: 9.6.0 + resolution: "better-sqlite3@npm:9.6.0" + dependencies: + bindings: ^1.5.0 + node-gyp: latest + prebuild-install: ^7.1.1 + checksum: be3a1d2a3f6f9b5141be6607a38c0a51fa5849495b071955e507bc0c2a2fb08430852c1bf03796eec1a53344b25645807db48dcb51c71b0662b74c5a70420bb0 + languageName: node + linkType: hard + "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -3698,6 +4063,15 @@ __metadata: languageName: node linkType: hard +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 + languageName: node + linkType: hard + "bl@npm:^4.0.3, bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -3768,6 +4142,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.2.1 + checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 + languageName: node + linkType: hard + "but-unzip@npm:^0.1.4": version: 0.1.4 resolution: "but-unzip@npm:0.1.4" @@ -3802,6 +4186,26 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": ^4.0.0 + fs-minipass: ^3.0.0 + glob: ^10.2.2 + lru-cache: ^10.0.1 + minipass: ^7.0.3 + minipass-collect: ^2.0.1 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + p-map: ^7.0.2 + ssri: ^12.0.0 + tar: ^7.4.3 + unique-filename: ^4.0.0 + checksum: e95684717de6881b4cdaa949fa7574e3171946421cd8291769dd3d2417dbf7abf4aa557d1f968cca83dcbc95bed2a281072b09abfc977c942413146ef7ed4525 + languageName: node + linkType: hard + "call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" @@ -3890,6 +4294,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:4.1.1": + version: 4.1.1 + resolution: "chalk@npm:4.1.1" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 036e973e665ba1a32c975e291d5f3d549bceeb7b1b983320d4598fb75d70fe20c5db5d62971ec0fe76cdbce83985a00ee42372416abfc3a5584465005a7855ed + languageName: node + linkType: hard + "chalk@npm:^2.3.0, chalk@npm:^2.4.1": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -3918,6 +4332,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^1.1.1": + version: 1.1.4 + resolution: "chownr@npm:1.1.4" + checksum: 115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -3925,6 +4346,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: fd73a4bab48b79e66903fe1cafbdc208956f41ea4f856df883d0c7277b7ab29fd33ee65f93b2ec9192fc0169238f2f8307b7735d27c155821d886b84aa97aa8d + languageName: node + linkType: hard + "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -4560,6 +4988,15 @@ __metadata: languageName: node linkType: hard +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: ^3.1.0 + checksum: d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 + languageName: node + linkType: hard + "dedent@npm:1.5.3": version: 1.5.3 resolution: "dedent@npm:1.5.3" @@ -4572,6 +5009,13 @@ __metadata: languageName: node linkType: hard +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 + languageName: node + linkType: hard + "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -4645,6 +5089,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.0": + version: 2.0.4 + resolution: "detect-libc@npm:2.0.4" + checksum: 3d186b7d4e16965e10e21db596c78a4e131f9eee69c0081d13b85e6a61d7448d3ba23fe7997648022bdfa3b0eb4cc3c289a44c8188df949445a20852689abef6 + languageName: node + linkType: hard + "detect-node@npm:^2.1.0": version: 2.1.0 resolution: "detect-node@npm:2.1.0" @@ -4758,7 +5209,7 @@ __metadata: languageName: node linkType: hard -"duplexer@npm:^0.1.1": +"duplexer@npm:^0.1.1, duplexer@npm:~0.1.1": version: 0.1.2 resolution: "duplexer@npm:0.1.2" checksum: 62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 @@ -4839,7 +5290,7 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.4.1": +"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": version: 1.4.4 resolution: "end-of-stream@npm:1.4.4" dependencies: @@ -5281,6 +5732,28 @@ __metadata: languageName: node linkType: hard +"event-stream@npm:^4.0.0": + version: 4.0.1 + resolution: "event-stream@npm:4.0.1" + dependencies: + duplexer: ^0.1.1 + from: ^0.1.7 + map-stream: 0.0.7 + pause-stream: ^0.0.11 + split: ^1.0.1 + stream-combiner: ^0.2.2 + through: ^2.3.8 + checksum: 515cdff30c8dd74d5869cf53133b8851deba012605d2a15a1bc77b777b9d237ebf06d99ec62be2c6fc8adb2c89bf392771e2809239b278e5e70ba2f88cd1955c + languageName: node + linkType: hard + +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 + languageName: node + linkType: hard + "eventemitter3@npm:^4.0.4": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" @@ -5288,7 +5761,7 @@ __metadata: languageName: node linkType: hard -"events@npm:^3.2.0": +"events@npm:^3.2.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 @@ -5319,6 +5792,13 @@ __metadata: languageName: node linkType: hard +"expand-template@npm:^2.0.3": + version: 2.0.3 + resolution: "expand-template@npm:2.0.3" + checksum: 588c19847216421ed92befb521767b7018dc88f88b0576df98cb242f20961425e96a92cbece525ef28cc5becceae5d544ae0f5b9b5e2aa05acb13716ca5b3099 + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.2 resolution: "exponential-backoff@npm:3.1.2" @@ -5410,6 +5890,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 79043610236579ffbd0647c508b43bd030a2d034a17c43cf96813a00e8e92e51acdb115c6ddecef3b5812cc2692b976155b4f6413e51e3761f1e772fa019a321 + languageName: node + linkType: hard + "fflate@npm:^0.8.0": version: 0.8.2 resolution: "fflate@npm:0.8.2" @@ -5435,6 +5927,24 @@ __metadata: languageName: node linkType: hard +"file-type@npm:^16.5.4": + version: 16.5.4 + resolution: "file-type@npm:16.5.4" + dependencies: + readable-web-to-node-stream: ^3.0.0 + strtok3: ^6.2.4 + token-types: ^4.1.1 + checksum: d983c0f36491c57fcb6cc70fcb02c36d6b53f312a15053263e1924e28ca8314adf0db32170801ad777f09432c32155f31715ceaee66310947731588120d7ec27 + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 + languageName: node + linkType: hard + "filelist@npm:^1.0.4": version: 1.0.4 resolution: "filelist@npm:1.0.4" @@ -5564,6 +6074,13 @@ __metadata: languageName: node linkType: hard +"from@npm:^0.1.7": + version: 0.1.7 + resolution: "from@npm:0.1.7" + checksum: b85125b7890489656eb2e4f208f7654a93ec26e3aefaf3bbbcc0d496fc1941e4405834fcc9fe7333192aa2187905510ace70417bbf9ac6f6f4784a731d986939 + languageName: node + linkType: hard + "front-matter@npm:^4.0.2": version: 4.0.2 resolution: "front-matter@npm:4.0.2" @@ -5665,6 +6182,36 @@ __metadata: languageName: node linkType: hard +"geographiclib-geodesic@npm:^2.1.1": + version: 2.1.1 + resolution: "geographiclib-geodesic@npm:2.1.1" + checksum: 647f676f0409d0bc9b2b264a8179a85cedd53788a01659719cbb924e0653b45ff994b65b4f48580e26ed43f7acba25413260969b4ed5fe26966701234926ce34 + languageName: node + linkType: hard + +"geojson-rbush@npm:3.x": + version: 3.2.0 + resolution: "geojson-rbush@npm:3.2.0" + dependencies: + "@turf/bbox": "*" + "@turf/helpers": 6.x + "@turf/meta": 6.x + "@types/geojson": 7946.0.8 + rbush: ^3.0.1 + checksum: f373e646f3699b86e3f88b16783bb8835b75446f0be9d5cbefbb5a0197e657ebe85fecfd7ce0b9140feecf532a88716c1aacf4d6a0dbcce1b48d6fd29d507927 + languageName: node + linkType: hard + +"geojson-stream@npm:0.1.0": + version: 0.1.0 + resolution: "geojson-stream@npm:0.1.0" + dependencies: + JSONStream: ^1.0.0 + through: ^2.3.4 + checksum: 0de882f32eee5aecc3abbf748a46fa0a6ba4d023c7749a6cbda11a367ad5999cfc6e11eb25fb7702defabdb4a57a41cb8267ffe1a98534017da8605abf29d604 + languageName: node + linkType: hard + "geojson-vt@npm:^4.0.2": version: 4.0.2 resolution: "geojson-vt@npm:4.0.2" @@ -5839,6 +6386,13 @@ __metadata: languageName: node linkType: hard +"github-from-package@npm:0.0.0": + version: 0.0.0 + resolution: "github-from-package@npm:0.0.0" + checksum: 14e448192a35c1e42efee94c9d01a10f42fe790375891a24b25261246ce9336ab9df5d274585aedd4568f7922246c2a78b8a8cd2571bfe99c693a9718e7dd0e3 + languageName: node + linkType: hard + "glob-parent@npm:6.0.2, glob-parent@npm:^6.0.1, glob-parent@npm:^6.0.2": version: 6.0.2 resolution: "glob-parent@npm:6.0.2" @@ -6216,7 +6770,7 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13": +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e @@ -6239,6 +6793,17 @@ __metadata: languageName: node linkType: hard +"image-size@npm:0.8.3": + version: 0.8.3 + resolution: "image-size@npm:0.8.3" + dependencies: + queue: 6.0.1 + bin: + image-size: bin/image-size.js + checksum: e118dc6a738b26e9e9c17bf947205a93a734971970f0a8d1827faa019f414d20af088c1f3c92105c4ec4f596fbc105e1e33217881cb6791a5cc505183f2fac15 + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" @@ -6297,14 +6862,14 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 languageName: node linkType: hard -"ini@npm:^1.3.2, ini@npm:^1.3.8": +"ini@npm:^1.3.2, ini@npm:^1.3.8, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -6333,8 +6898,29 @@ __metadata: languageName: node linkType: hard -"inquirer@npm:^8.2.4": - version: 8.2.6 +"inquirer@npm:8.0.0": + version: 8.0.0 + resolution: "inquirer@npm:8.0.0" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^4.1.0 + cli-cursor: ^3.1.0 + cli-width: ^3.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.21 + mute-stream: 0.0.8 + run-async: ^2.4.0 + rxjs: ^6.6.6 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + through: ^2.3.6 + checksum: 289a485752922998118668ae1c15001bd5ff1cb61e02d101da78c47dd9c9f4d46d2fcbcc9ebcae22dcdb820323636021508c723550394043dfde0e4f213596ec + languageName: node + linkType: hard + +"inquirer@npm:^8.2.4": + version: 8.2.6 resolution: "inquirer@npm:8.2.6" dependencies: ansi-escapes: ^4.2.1 @@ -7390,7 +7976,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": +"lodash@npm:4.17.21, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -7482,6 +8068,25 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": ^3.0.0 + cacache: ^19.0.1 + http-cache-semantics: ^4.1.1 + minipass: ^7.0.2 + minipass-fetch: ^4.0.0 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^1.0.0 + proc-log: ^5.0.0 + promise-retry: ^2.0.1 + ssri: ^12.0.0 + checksum: 6fb2fee6da3d98f1953b03d315826b5c5a4ea1f908481afc113782d8027e19f080c85ae998454de4e5f27a681d3ec58d57278f0868d4e0b736f51d396b661691 + languageName: node + linkType: hard + "map-obj@npm:^1.0.0": version: 1.0.1 resolution: "map-obj@npm:1.0.1" @@ -7496,6 +8101,13 @@ __metadata: languageName: node linkType: hard +"map-stream@npm:0.0.7": + version: 0.0.7 + resolution: "map-stream@npm:0.0.7" + checksum: 74596bc701abb3e328e0783d70fcfdc5204798d945662a1824b57b7f10f3c36835edee5881bdd68618f96c992594bcbe09233f12b04d3a6a55a76e1a5793b76e + languageName: node + linkType: hard + "markdown-to-jsx@npm:^7.4.1": version: 7.7.6 resolution: "markdown-to-jsx@npm:7.7.6" @@ -7608,6 +8220,13 @@ __metadata: languageName: node linkType: hard +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 25739fee32c17f433626bf19f016df9036b75b3d84a3046c7d156e72ec963dd29d7fc8a302f55a3d6c5a4ff24259676b15d915aad6480815a969ff2ec0836867 + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -7701,7 +8320,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.0": +"minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.0": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 @@ -7732,6 +8351,21 @@ __metadata: languageName: node linkType: hard +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: ^0.1.13 + minipass: ^7.0.3 + minipass-sized: ^1.0.3 + minizlib: ^3.0.1 + dependenciesMeta: + encoding: + optional: true + checksum: 3dfca705ce887ca9ff14d73e8d8593996dea1a1ecd8101fdbb9c10549d1f9670bc8fb66ad0192769ead4c2dc01b4f9ca1cf567ded365adff17827a303b948140 + languageName: node + linkType: hard + "minipass-flush@npm:^1.0.5": version: 1.0.5 resolution: "minipass-flush@npm:1.0.5" @@ -7782,7 +8416,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3 @@ -7799,6 +8433,22 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: ^7.1.2 + checksum: 493bed14dcb6118da7f8af356a8947cf1473289c09658e5aabd69a737800a8c3b1736fb7d7931b722268a9c9bc038a6d53c049b6a6af24b34a121823bb709996 + languageName: node + linkType: hard + +"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": + version: 0.5.3 + resolution: "mkdirp-classic@npm:0.5.3" + checksum: 3f4e088208270bbcc148d53b73e9a5bd9eef05ad2cbf3b3d0ff8795278d50dd1d11a8ef1875ff5aea3fa888931f95bfcb2ad5b7c1061cfefd6284d199e6776ac + languageName: node + linkType: hard + "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -7808,6 +8458,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 972deb188e8fb55547f1e58d66bd6b4a3623bf0c7137802582602d73e6480c1c2268dcbafbfb1be466e00cc7e56ac514d7fd9334b7cf33e3e2ab547c16f83a8d + languageName: node + linkType: hard + "modify-values@npm:^1.0.1": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -7878,6 +8537,13 @@ __metadata: languageName: node linkType: hard +"napi-build-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "napi-build-utils@npm:2.0.0" + checksum: 532121efd2dd2272595580bca48859e404bdd4ed455a72a28432ba44868c38d0e64fac3026a8f82bf8563d2a18b32eb9a1d59e601a9da4e84ba4d45b922297f5 + languageName: node + linkType: hard + "natural-compare-lite@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare-lite@npm:1.4.0" @@ -7899,6 +8565,13 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 20ebfe79b2d2e7cf9cbc8239a72662b584f71164096e6e8896c8325055497c96f6b80cd22c258e8a2f2aa382a787795ec3ee8b37b422a302c7d4381b0d5ecfbb + languageName: node + linkType: hard + "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -7920,6 +8593,15 @@ __metadata: languageName: node linkType: hard +"node-abi@npm:^3.3.0": + version: 3.75.0 + resolution: "node-abi@npm:3.75.0" + dependencies: + semver: ^7.3.5 + checksum: b86021c748b316b31efda4f1f4a74db9fd411b0ae63fa50be5b0247546285ae7e31c737e92013478877eaf39a3fd0a06072d48b1cace21ad629862373410416f + languageName: node + linkType: hard + "node-fetch@npm:2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" @@ -7954,6 +8636,26 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: ^2.2.0 + exponential-backoff: ^3.1.1 + graceful-fs: ^4.2.6 + make-fetch-happen: ^14.0.3 + nopt: ^8.0.0 + proc-log: ^5.0.0 + semver: ^7.3.5 + tar: ^7.4.3 + tinyglobby: ^0.2.12 + which: ^5.0.0 + bin: + node-gyp: bin/node-gyp.js + checksum: 2536282ba81f8a94b29482d3622b6ab298611440619e46de4512a6f32396a68b5530357c474b859787069d84a4c537d99e0c71078cce5b9f808bf84eeb78e8fb + languageName: node + linkType: hard + "node-machine-id@npm:1.1.12": version: 1.1.12 resolution: "node-machine-id@npm:1.1.12" @@ -7979,6 +8681,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: ^3.0.0 + bin: + nopt: bin/nopt.js + checksum: 49cfd3eb6f565e292bf61f2ff1373a457238804d5a5a63a8d786c923007498cba89f3648e3b952bc10203e3e7285752abf5b14eaf012edb821e84f24e881a92a + languageName: node + linkType: hard + "normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" @@ -8280,7 +8993,7 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.4.0": +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -8451,6 +9164,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 8c92d533acf82f0d12f7e196edccff773f384098bbb048acdd55a08778ce4fc8889d8f1bde72969487bd96f9c63212698d79744c20bedfce36c5b00b46d369f8 + languageName: node + linkType: hard + "p-pipe@npm:3.1.0": version: 3.1.0 resolution: "p-pipe@npm:3.1.0" @@ -8704,6 +9424,15 @@ __metadata: languageName: node linkType: hard +"pause-stream@npm:^0.0.11": + version: 0.0.11 + resolution: "pause-stream@npm:0.0.11" + dependencies: + through: ~2.3 + checksum: 3c4a14052a638b92e0c96eb00c0d7977df7f79ea28395250c525d197f1fc02d34ce1165d5362e2e6ebbb251524b94a76f3f0d4abc39ab8b016d97449fe15583c + languageName: node + linkType: hard + "pbf@npm:4.0.1, pbf@npm:^4.0.1": version: 4.0.1 resolution: "pbf@npm:4.0.1" @@ -8715,6 +9444,13 @@ __metadata: languageName: node linkType: hard +"peek-readable@npm:^4.1.0": + version: 4.1.0 + resolution: "peek-readable@npm:4.1.0" + checksum: 02c673f9bc816f8e4e74a054c097225ad38d457d745b775e2b96faf404a54473b2f62f5bcd496f5ebc28696708bcc5e95bed409856f4bef5ed62eae9b4ac0dab + languageName: node + linkType: hard + "picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" @@ -8729,6 +9465,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: a7a5188c954f82c6585720e9143297ccd0e35ad8072231608086ca950bee672d51b0ef676254af0788205e59bd4e4deb4e7708769226bed725bf13370a7d1464 + languageName: node + linkType: hard + "pidtree@npm:^0.3.0": version: 0.3.1 resolution: "pidtree@npm:0.3.1" @@ -8785,6 +9528,16 @@ __metadata: languageName: node linkType: hard +"polygon-clipping@npm:^0.15.3": + version: 0.15.7 + resolution: "polygon-clipping@npm:0.15.7" + dependencies: + robust-predicates: ^3.0.2 + splaytree: ^3.1.0 + checksum: b68fb71d1770b362026f5e956919f5ebb1245bc6b24d7926ead1c55beaa2f539e19c22e47d2aa31587dcb4318c695020f9ccd0e63d0f0425ef34f4cb02228d42 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.1.0 resolution: "possible-typed-array-names@npm:1.1.0" @@ -8874,6 +9627,28 @@ __metadata: languageName: node linkType: hard +"prebuild-install@npm:^7.1.1": + version: 7.1.3 + resolution: "prebuild-install@npm:7.1.3" + dependencies: + detect-libc: ^2.0.0 + expand-template: ^2.0.3 + github-from-package: 0.0.0 + minimist: ^1.2.3 + mkdirp-classic: ^0.5.3 + napi-build-utils: ^2.0.0 + node-abi: ^3.3.0 + pump: ^3.0.0 + rc: ^1.2.7 + simple-get: ^4.0.0 + tar-fs: ^2.0.0 + tunnel-agent: ^0.6.0 + bin: + prebuild-install: bin.js + checksum: 300740ca415e9ddbf2bd363f1a6d2673cc11dd0665c5ec431bbb5bf024c2f13c56791fb939ce2b2a2c12f2d2a09c91316169e8063a80eb4482a44b8fe5b265e1 + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -8926,6 +9701,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: c78b26ecef6d5cce4a7489a1e9923d7b4b1679028c8654aef0463b27f4a90b0946cd598f55799da602895c52feb085ec76381d007ab8dcceebd40b89c2f9dfe0 + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -8954,6 +9736,16 @@ __metadata: languageName: node linkType: hard +"proj4@npm:2.8.0": + version: 2.8.0 + resolution: "proj4@npm:2.8.0" + dependencies: + mgrs: 1.0.0 + wkt-parser: ^1.3.1 + checksum: 05c46387ac866bba699d50291507f9cfd2eece4806e375e7bc536c28c03af4d4ae8c386ab53a0c4a26a4b1718d5d0b30a6cf972614f4fb997e89bd262348c6b1 + languageName: node + linkType: hard + "proj4@npm:^2.1.4, proj4@npm:^2.14.0": version: 2.15.0 resolution: "proj4@npm:2.15.0" @@ -8964,6 +9756,17 @@ __metadata: languageName: node linkType: hard +"proj4@npm:^2.4.4": + version: 2.17.0 + resolution: "proj4@npm:2.17.0" + dependencies: + geographiclib-geodesic: ^2.1.1 + mgrs: 1.0.0 + wkt-parser: ^1.5.1 + checksum: 99662c6d32469860ec0a6ea39ba0be5d074bd1a3eab8e01b367c18b1c5efcbce8d5705cea96726b6e40613d168d932230ded0793144ec5ac401e8790dce95283 + languageName: node + linkType: hard + "promise-all-reject-late@npm:^1.0.0": version: 1.0.1 resolution: "promise-all-reject-late@npm:1.0.1" @@ -9036,6 +9839,16 @@ __metadata: languageName: node linkType: hard +"pump@npm:^3.0.0": + version: 3.0.2 + resolution: "pump@npm:3.0.2" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: e0c4216874b96bd25ddf31a0b61a5613e26cc7afa32379217cf39d3915b0509def3565f5f6968fafdad2894c8bbdbd67d340e84f3634b2a29b950cffb6442d9f + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -9057,6 +9870,15 @@ __metadata: languageName: node linkType: hard +"queue@npm:6.0.1": + version: 6.0.1 + resolution: "queue@npm:6.0.1" + dependencies: + inherits: ~2.0.3 + checksum: f39f70b030f9aebf4b32b0db5b7b11d2b799cdaedb190849532983fb31ba45a94d2ee48308e545e8452826b29a4ac996946579af7b42072f04ded3ce40c41703 + languageName: node + linkType: hard + "quick-lru@npm:^4.0.1": version: 4.0.1 resolution: "quick-lru@npm:4.0.1" @@ -9071,6 +9893,13 @@ __metadata: languageName: node linkType: hard +"quickselect@npm:^2.0.0": + version: 2.0.0 + resolution: "quickselect@npm:2.0.0" + checksum: ed2e78431050d223fb75da20ee98011aef1a03f7cb04e1a32ee893402e640be3cfb76d72e9dbe01edf3bb457ff6a62e5c2d85748424d1aa531f6ba50daef098c + languageName: node + linkType: hard + "quickselect@npm:^3.0.0": version: 3.0.0 resolution: "quickselect@npm:3.0.0" @@ -9087,6 +9916,15 @@ __metadata: languageName: node linkType: hard +"rbush@npm:^3.0.1": + version: 3.0.1 + resolution: "rbush@npm:3.0.1" + dependencies: + quickselect: ^2.0.0 + checksum: b7def5ba762ca01b6c7c032098ef61b86bd4fef4afb82e4a1d70a07a929b39e779290446c2d4730f577e8a1c8fd0dfd349605b5ea0229258d5f013debdffa65a + languageName: node + linkType: hard + "rbush@npm:^4.0.0": version: 4.0.1 resolution: "rbush@npm:4.0.1" @@ -9096,6 +9934,20 @@ __metadata: languageName: node linkType: hard +"rc@npm:^1.2.7": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: ^0.6.0 + ini: ~1.3.0 + minimist: ^1.2.0 + strip-json-comments: ~2.0.1 + bin: + rc: ./cli.js + checksum: 2e26e052f8be2abd64e6d1dabfbd7be03f80ec18ccbc49562d31f617d0015fbdbcf0f9eed30346ea6ab789e0fdfe4337f033f8016efdbee0df5354751842080e + languageName: node + linkType: hard + "react-dom@npm:^18.2.0": version: 18.3.1 resolution: "react-dom@npm:18.3.1" @@ -9221,7 +10073,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0": +"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -9232,6 +10084,19 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^4.7.0": + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" + dependencies: + abort-controller: ^3.0.0 + buffer: ^6.0.3 + events: ^3.3.0 + process: ^0.11.10 + string_decoder: ^1.3.0 + checksum: 03ec762faed8e149dc6452798b60394a8650861a1bb4bf936fa07b94044826bc25abe73696f5f45372abc404eec01876c560f64b479eba108b56397312dbe2ae + languageName: node + linkType: hard + "readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -9247,6 +10112,15 @@ __metadata: languageName: node linkType: hard +"readable-web-to-node-stream@npm:^3.0.0": + version: 3.0.4 + resolution: "readable-web-to-node-stream@npm:3.0.4" + dependencies: + readable-stream: ^4.7.0 + checksum: a11704035cab9ad857a3081e7663dca28a7befd7328e5b2eb2c124e4150e08534ea00c3159e5f7ff2588fca366b348a7d8d2bc0bc7d5eabc6b7108dd753886b7 + languageName: node + linkType: hard + "rechoir@npm:^0.8.0": version: 0.8.0 resolution: "rechoir@npm:0.8.0" @@ -9296,6 +10170,21 @@ __metadata: languageName: node linkType: hard +"reproject@npm:1.2.5": + version: 1.2.5 + resolution: "reproject@npm:1.2.5" + dependencies: + concat-stream: ^2.0.0 + event-stream: ^4.0.0 + geojson-stream: 0.1.0 + minimist: ^1.2.0 + proj4: ^2.4.4 + bin: + reproject: cli.js + checksum: 5cc5f8d7cc0f16f3395a40044323f678f5f6f40d74073feb18fb2296b490f1f757d965cc03ebcc3e65461713c3d062223fc0c936dee71135b0e4733996c252f7 + languageName: node + linkType: hard + "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -9428,6 +10317,20 @@ __metadata: languageName: node linkType: hard +"robust-predicates@npm:^3.0.2": + version: 3.0.2 + resolution: "robust-predicates@npm:3.0.2" + checksum: 36854c1321548ceca96d36ad9d6e0a5a512986029ec6929ad6ed3ec1612c22cc8b46cc72d2c5674af42e8074a119d793f6f0ea3a5b51373e3ab926c64b172d7a + languageName: node + linkType: hard + +"rtree-sql.js@npm:1.7.0": + version: 1.7.0 + resolution: "rtree-sql.js@npm:1.7.0" + checksum: feac8cef720348dcd3aad1d87f35588a302c96c4d2c86ce474a26f687419d49edfd18323c2f2de332909b781623d7c7047b166c2e39e3a7717214052064bef50 + languageName: node + linkType: hard + "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -9444,6 +10347,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^6.6.6": + version: 6.6.7 + resolution: "rxjs@npm:6.6.7" + dependencies: + tslib: ^1.9.0 + checksum: bc334edef1bb8bbf56590b0b25734ba0deaf8825b703256a93714308ea36dff8a11d25533671adf8e104e5e8f256aa6fdfe39b2e248cdbd7a5f90c260acbbd1b + languageName: node + linkType: hard + "rxjs@npm:^7.5.5": version: 7.8.2 resolution: "rxjs@npm:7.8.2" @@ -9466,7 +10378,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -9785,6 +10697,31 @@ __metadata: languageName: node linkType: hard +"simple-concat@npm:^1.0.0": + version: 1.0.1 + resolution: "simple-concat@npm:1.0.1" + checksum: 4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a + languageName: node + linkType: hard + +"simple-get@npm:^4.0.0": + version: 4.0.1 + resolution: "simple-get@npm:4.0.1" + dependencies: + decompress-response: ^6.0.0 + once: ^1.3.1 + simple-concat: ^1.0.0 + checksum: e4132fd27cf7af230d853fa45c1b8ce900cb430dd0a3c6d3829649fe4f2b26574c803698076c4006450efb0fad2ba8c5455fbb5755d4b0a5ec42d4f12b31d27e + languageName: node + linkType: hard + +"simplify-js@npm:1.2.4": + version: 1.2.4 + resolution: "simplify-js@npm:1.2.4" + checksum: 5bbc7b6223565ce7e1aa636405a973fc6a34b3b2704d697682d3023cf2582a8a7c5fdb42f1b251749d6377b44465d3c33d60aa98306192d9ba069d71dc778735 + languageName: node + linkType: hard + "slash@npm:3.0.0, slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -9936,6 +10873,13 @@ __metadata: languageName: node linkType: hard +"splaytree@npm:^3.1.0": + version: 3.1.2 + resolution: "splaytree@npm:3.1.2" + checksum: 7b90a52e02036699b0c7228bb86c784aa674618909622da652c80a809694dafa068b73c97309ecb719783b7c1e1092ac6917acf2213defc0fa9027f92b2afa62 + languageName: node + linkType: hard + "split2@npm:^3.2.2": version: 3.2.2 resolution: "split2@npm:3.2.2" @@ -9977,6 +10921,35 @@ __metadata: languageName: node linkType: hard +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: ^7.0.3 + checksum: ef4b6b0ae47b4a69896f5f1c4375f953b9435388c053c36d27998bc3d73e046969ccde61ab659e679142971a0b08e50478a1228f62edb994105b280f17900c98 + languageName: node + linkType: hard + +"stream-browserify@npm:^3.0.0": + version: 3.0.0 + resolution: "stream-browserify@npm:3.0.0" + dependencies: + inherits: ~2.0.4 + readable-stream: ^3.5.0 + checksum: 4c47ef64d6f03815a9ca3874e2319805e8e8a85f3550776c47ce523b6f4c6cd57f40e46ec6a9ab8ad260fde61863c2718f250d3bedb3fe9052444eb9abfd9921 + languageName: node + linkType: hard + +"stream-combiner@npm:^0.2.2": + version: 0.2.2 + resolution: "stream-combiner@npm:0.2.2" + dependencies: + duplexer: ~0.1.1 + through: ~2.3.4 + checksum: 5d3f4f6dd3604b3c5acf16150eabbbd131247378b54719c39cac5b5793150a92842306f662b58df65f2bd2e64bf8081f21449489591fed440c2b280021474e7d + languageName: node + linkType: hard + "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -10049,7 +11022,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -10122,6 +11095,13 @@ __metadata: languageName: node linkType: hard +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 + languageName: node + linkType: hard + "strong-log-transformer@npm:2.1.0": version: 2.1.0 resolution: "strong-log-transformer@npm:2.1.0" @@ -10135,6 +11115,16 @@ __metadata: languageName: node linkType: hard +"strtok3@npm:^6.2.4": + version: 6.3.0 + resolution: "strtok3@npm:6.3.0" + dependencies: + "@tokenizer/token": ^0.3.0 + peek-readable: ^4.1.0 + checksum: 90732cff3f325aef7c47c511f609b593e0873ec77b5081810071cde941344e6a0ee3ccb0cae1a9f5b4e12c81a2546fd6b322fabcdfbd1dd08362c2ce5291334a + languageName: node + linkType: hard + "style-loader@npm:^3.3.1, style-loader@npm:~3.3.1": version: 3.3.4 resolution: "style-loader@npm:3.3.4" @@ -10231,7 +11221,19 @@ __metadata: languageName: node linkType: hard -"tar-stream@npm:~2.2.0": +"tar-fs@npm:^2.0.0": + version: 2.1.2 + resolution: "tar-fs@npm:2.1.2" + dependencies: + chownr: ^1.1.1 + mkdirp-classic: ^0.5.2 + pump: ^3.0.0 + tar-stream: ^2.1.4 + checksum: 6b4fcd38a644b5cd3325f687b9f1f48cd19809b63cbc8376fe794f68361849a17120d036833b3a97de6acb1df588844476309b8c2d0bcaf53f19da2d56ac07de + languageName: node + linkType: hard + +"tar-stream@npm:^2.1.4, tar-stream@npm:~2.2.0": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" dependencies: @@ -10258,6 +11260,20 @@ __metadata: languageName: node linkType: hard +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": ^4.0.0 + chownr: ^3.0.0 + minipass: ^7.1.2 + minizlib: ^3.0.1 + mkdirp: ^3.0.1 + yallist: ^5.0.0 + checksum: 8485350c0688331c94493031f417df069b778aadb25598abdad51862e007c39d1dd5310702c7be4a6784731a174799d8885d2fde0484269aea205b724d7b2ffa + languageName: node + linkType: hard + "temp-dir@npm:1.0.0": version: 1.0.0 resolution: "temp-dir@npm:1.0.0" @@ -10359,7 +11375,7 @@ __metadata: languageName: node linkType: hard -"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6": +"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3, through@npm:~2.3.4": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd @@ -10376,6 +11392,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.12": + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" + dependencies: + fdir: ^6.4.4 + picomatch: ^4.0.2 + checksum: 3a2e87a2518cb3616057b0aa58be4f17771ae78c6890556516ae1e631f8ce4cfee1ba1dcb62fcc54a64e2bdd6c3104f4f3d021e1a3e3f8fb0875bca380b913e5 + languageName: node + linkType: hard + "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -10401,6 +11427,16 @@ __metadata: languageName: node linkType: hard +"token-types@npm:^4.1.1": + version: 4.2.1 + resolution: "token-types@npm:4.2.1" + dependencies: + "@tokenizer/token": ^0.3.0 + ieee754: ^1.2.1 + checksum: cce256766b33e0f08ceffefa2198fb4961a417866d00780e58625999ab5c0699821407053e64eadc41b00bbb6c0d0c4d02fbd2199940d8a3ccb71e1b148ab9a2 + languageName: node + linkType: hard + "tr46@npm:^2.1.0": version: 2.1.0 resolution: "tr46@npm:2.1.0" @@ -10458,7 +11494,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.13.0, tslib@npm:^1.8.1": +"tslib@npm:^1.13.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd @@ -10494,6 +11530,15 @@ __metadata: languageName: node linkType: hard +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: ^5.0.1 + checksum: 05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -10686,6 +11731,15 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: ^5.0.0 + checksum: 6a62094fcac286b9ec39edbd1f8f64ff92383baa430af303dfed1ffda5e47a08a6b316408554abfddd9730c78b6106bef4ca4d02c1231a735ddd56ced77573df + languageName: node + linkType: hard + "unique-slug@npm:^4.0.0": version: 4.0.0 resolution: "unique-slug@npm:4.0.0" @@ -10695,6 +11749,15 @@ __metadata: languageName: node linkType: hard +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 222d0322bc7bbf6e45c08967863212398313ef73423f4125e075f893a02405a5ffdbaaf150f7dd1e99f8861348a486dd079186d27c5f2c60e465b7dcbb1d3e5b + languageName: node + linkType: hard + "universal-user-agent@npm:^6.0.0": version: 6.0.1 resolution: "universal-user-agent@npm:6.0.1" @@ -11051,6 +12114,13 @@ __metadata: languageName: node linkType: hard +"webworkify@npm:1.5.0": + version: 1.5.0 + resolution: "webworkify@npm:1.5.0" + checksum: 426c10e0b94cac0678aed05fdf1abce98e8e11a523380537bab99fcd63df7c4b71b3630e61ab8052fdbd8d6e55e53700523b423cd475b258f95be5189d8cde49 + languageName: node + linkType: hard + "whatwg-mimetype@npm:^2.3.0": version: 2.3.0 resolution: "whatwg-mimetype@npm:2.3.0" @@ -11173,6 +12243,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: ^3.1.1 + bin: + node-which: bin/which.js + checksum: 6ec99e89ba32c7e748b8a3144e64bfc74aa63e2b2eacbb61a0060ad0b961eb1a632b08fb1de067ed59b002cec3e21de18299216ebf2325ef0f78e0f121e14e90 + languageName: node + linkType: hard + "wide-align@npm:1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" @@ -11189,6 +12270,13 @@ __metadata: languageName: node linkType: hard +"wkt-parser@npm:^1.3.1, wkt-parser@npm:^1.5.1": + version: 1.5.2 + resolution: "wkt-parser@npm:1.5.2" + checksum: 0055b11008bf47c390ae7c517ee3e2aa093b0c1149c8039c2d86d3dd3d33908e3ead31839addfbcd3fa4abf035348fc192cfae985296848f8eb6644c810108c9 + languageName: node + linkType: hard + "wkt-parser@npm:^1.4.0": version: 1.4.0 resolution: "wkt-parser@npm:1.4.0" @@ -11196,6 +12284,15 @@ __metadata: languageName: node linkType: hard +"wkx@npm:0.4.8": + version: 0.4.8 + resolution: "wkx@npm:0.4.8" + dependencies: + "@types/node": "*" + checksum: c11a165d3d2effe0764eb04f2cb634528a485b2215aa373ca535bded9bfe016a107f3e96fd99b6f771e579b0603a378f4746d68661b22e70929660eb6b01dd69 + languageName: node + linkType: hard + "word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" @@ -11373,6 +12470,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: eba51182400b9f35b017daa7f419f434424410691bbc5de4f4240cc830fdef906b504424992700dc047f16b4d99100a6f8b8b11175c193f38008e9c96322b6a5 + languageName: node + linkType: hard + "yaml@npm:^2.6.0": version: 2.7.1 resolution: "yaml@npm:2.7.1" From 7ce7535305f9b1305d4733d78bde23848cefae62 Mon Sep 17 00:00:00 2001 From: elifsu Date: Sat, 14 Jun 2025 01:57:57 +0200 Subject: [PATCH 04/26] Use ol-load-geopackage to read file --- packages/base/package.json | 2 +- .../base/src/formbuilder/creationform.tsx | 42 +- packages/base/src/mainview/mainView.tsx | 36 +- packages/base/src/tools.ts | 88 +- .../base/src/types/ol-load-geopackage.d.ts | 10 + python/jupytergis_core/package.json | 2 + python/jupytergis_core/src/plugin.ts | 5 - yarn.lock | 1146 +---------------- 8 files changed, 154 insertions(+), 1177 deletions(-) create mode 100644 packages/base/src/types/ol-load-geopackage.d.ts diff --git a/packages/base/package.json b/packages/base/package.json index 888692832..d5742e1bf 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -63,7 +63,6 @@ "@lumino/widgets": "^2.0.0", "@mapbox/vector-tile": "^2.0.3", "@naisutech/react-tree": "^3.0.1", - "@ngageoint/geopackage": "^4.2.6", "@rjsf/core": "^4.2.0", "@rjsf/validator-ajv8": "^5.23.1", "ajv": "^8.14.0", @@ -74,6 +73,7 @@ "geojson-vt": "^4.0.2", "geotiff": "^2.1.3", "ol": "^10.1.0", + "ol-load-geopackage": "^1.0.3", "ol-pmtiles": "^0.5.0", "pbf": "^4.0.1", "pmtiles": "^3.0.7", diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index 646b13dcc..48015e0b3 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -8,7 +8,7 @@ import { SourceType } from '@jupytergis/schema'; -import { deepCopy } from '../tools'; +import { deepCopy, loadGeoPackageFile } from '../tools'; import { Dialog } from '@jupyterlab/apputils'; import { PromiseDelegate, UUID } from '@lumino/coreutils'; @@ -153,6 +153,46 @@ export class CreationForm extends React.Component { // Perform the layer/source creation Promise.all(creationPromises).then(async () => { + // We add multiple tables from GeoPackage file as different sources and layers + if (this.props.sourceType === 'GeoPackageSource') { + const source = await sourceCreationPromise?.promise; + + if (!source) { + console.error(`Cannot find source for ${this.props.sourceType}`); + return; + } + + const tableMap = await loadGeoPackageFile( + source.path, + source.projection + ); + + for (const tableName of Object.keys(tableMap)) { + const childId = `${sourceId}/${tableName}`; + + if (this.props.createSource) { + const sourceModel: IJGISSource = { + type: this.props.sourceType || 'GeoPackageSource', + name: `${source.name} ${tableName} Source`, + parameters: { + path: source.path, + table: tableName + } + }; + this.props.model.sharedModel.addSource(childId, sourceModel); + } + if (this.props.createLayer) { + const layerModel: IJGISLayer = { + type: this.props.layerType || 'VectorLayer', + parameters: { source: childId }, + visible: true, + name: `${source.name} ${tableName} Layer` + }; + this.jGISModel.addLayer(UUID.uuid4(), layerModel); + } + } + return; + } if (this.props.createSource) { let actualName = ''; const { name, ...sourceData } = diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index 58a003100..f56306e46 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -2,7 +2,6 @@ import { MapChange } from '@jupyter/ydoc'; import { IAnnotation, IDict, - IGeoPackageSource, IGeoTiffSource, IHeatmapLayer, IHillshadeLayer, @@ -80,7 +79,7 @@ import * as React from 'react'; import AnnotationFloater from '../annotations/components/AnnotationFloater'; import { CommandIDs } from '../constants'; import StatusBar from '../statusbar/StatusBar'; -import { isLightTheme, loadFile, throttle } from '../tools'; +import { loadGeoPackageFile, isLightTheme, loadFile, throttle } from '../tools'; import CollaboratorPointers, { ClientPointer } from './CollaboratorPointers'; import { FollowIndicator } from './FollowIndicator'; import TemporalSlider from './TemporalSlider'; @@ -697,24 +696,25 @@ export class MainView extends React.Component { break; } case 'GeoPackageSource': { - const parameters = source.parameters as IGeoPackageSource; + const parameters = source.parameters; - const geojson = await loadFile({ - filepath: parameters.path, - type: 'GeoPackageSource', - model: this._model - }); + if (!parameters) { + throw new Error('GeoPackageSource has no parameters'); + } - const geojsonData = Array.isArray(geojson) ? geojson[0] : geojson; + if (parameters.vectorSource) { + //TODO: parameters.vectorSource is always undefined + newSource = parameters.vectorSource; + break; + } - const format = new GeoJSON(); + const projection = this._Map.getView().getProjection().getCode(); + const tableMap = await loadGeoPackageFile(parameters.path, projection); + const table = tableMap[parameters.table]; - newSource = new VectorSource({ - features: format.readFeatures(geojsonData, { - dataProjection: parameters.projection, - featureProjection: this._Map.getView().getProjection() - }) - }); + const vectorSource = table.source; + parameters.vectorSource = vectorSource; + newSource = vectorSource; break; } } @@ -806,6 +806,10 @@ export class MainView extends React.Component { const layerId = layerIds[targetLayerPosition]; const layer = this._model.sharedModel.getLayer(layerId); + if (this._loadingLayers.has(layerId)) { + continue; + } + if (!layer) { console.warn( `Layer with ID ${layerId} does not exist in the shared model.` diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index d73bb5c11..9d56a94f0 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -8,6 +8,7 @@ import { showErrorMessage } from '@jupyterlab/apputils'; import * as d3Color from 'd3-color'; import shp from 'shpjs'; import { getGdal } from './gdal'; +import loadGpkg from 'ol-load-geopackage'; import { IDict, @@ -19,7 +20,7 @@ import { SourceType } from '@jupytergis/schema'; import RASTER_LAYER_GALLERY from '../rasterlayer_gallery/raster_layer_gallery.json'; -import { GeoPackageAPI } from '@ngageoint/geopackage'; +import { Source } from 'ol/source'; export const debounce = ( func: CallableFunction, @@ -490,30 +491,37 @@ export const loadGeoTiff = async ( }; }; -/** - * Read a GeoPackage file - * - * @param file The GeoPackage file content as an ArrayBuffer - * - * @returns A promise that resolves to a GeoJSON FeatureCollection - * - */ -const loadGeoPackageFile = async (file: ArrayBuffer) => { - const bytes = new Uint8Array(file); - const gpkg = await GeoPackageAPI.open(bytes); - - const tables = gpkg.getFeatureTables(); - const features: GeoJSON.Feature[] = []; - for (const tableName of tables) { - const dao = gpkg.getFeatureDao(tableName); - const bbox = dao.getBoundingBox(); - const iter = gpkg.queryForGeoJSONFeaturesInTable(tableName, bbox); - for (const feat of iter) { - features.push(feat); - } +type TableMap = Record; +const cache = new Map>(); + +export function loadGeoPackageFile( + filepath: string, + projection: string +): Promise { + if (!cache.has(filepath)) { + cache.set( + filepath, + (async () => { + const [tables, slds] = await loadGpkg(filepath, projection); + const tableMap: TableMap = {}; + for (const name of Object.keys(tables)) { + tableMap[name] = { + source: tables[name] as Source, + sld: slds[name] + }; + } + return tableMap; + })() + ); } - return { type: 'FeatureCollection', features }; -}; + return cache.get(filepath)!; +} + +export interface IGpkgLayer { + name: string; + source: Source; + sld?: string; +} /** * Generalized file reader for different source types. @@ -597,27 +605,11 @@ export const loadFile = async (fileInfo: { } case 'GeoPackageSource': { - const cached = await getFromIndexedDB(filepath); - if (cached) { - return cached.file; - } - - const geojson = await fetchWithProxies( - filepath, - model, - async response => { - const arrayBuffer = await response.arrayBuffer(); - return await loadGeoPackageFile(arrayBuffer); - } - ); - - if (geojson) { - await saveToIndexedDB(filepath, geojson); - return geojson; + const projection = model.sharedModel.options.projection; + if (!projection) { + throw new Error(`Projection is not specified for ${filepath}`); } - - showErrorMessage('Network error', `Failed to fetch ${filepath}`); - throw new Error(`Failed to fetch ${filepath}`); + return loadGeoPackageFile(filepath, projection); } default: { @@ -687,12 +679,8 @@ export const loadFile = async (fileInfo: { } case 'GeoPackageSource': { - if (typeof file.content === 'string') { - const arrayBuffer = await stringToArrayBuffer(file.content); - return await loadGeoPackageFile(arrayBuffer); - } else { - throw new Error('Invalid file format for GeoPackage content.'); - } + //TODO: currently used library function (loadGpkg from 'ol-load-geopackage') takes URL as argument + throw new Error('Please provide URL of the source.'); } default: { diff --git a/packages/base/src/types/ol-load-geopackage.d.ts b/packages/base/src/types/ol-load-geopackage.d.ts new file mode 100644 index 000000000..7575ea691 --- /dev/null +++ b/packages/base/src/types/ol-load-geopackage.d.ts @@ -0,0 +1,10 @@ +declare module 'ol-load-geopackage' { + import { Source } from 'ol/source'; + + function loadGpkg( + filepath: string, + displayProjection: string + ): Promise<[Record, Record]>; + + export = loadGpkg; +} diff --git a/python/jupytergis_core/package.json b/python/jupytergis_core/package.json index 5287b722e..372081622 100644 --- a/python/jupytergis_core/package.json +++ b/python/jupytergis_core/package.json @@ -43,6 +43,8 @@ "install:extension": "jlpm build", "lint": "jlpm stylelint && jlpm prettier && jlpm eslint", "lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check", + "prebuild:labextension": "cp ../../node_modules/sql.js/dist/sql-wasm.wasm static/", + "prebuild:build:labextension:dev": "cp ../../node_modules/sql.js/dist/sql-wasm.wasm static/", "prettier": "jlpm prettier:base --write", "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"", "prettier:check": "jlpm prettier:base --check", diff --git a/python/jupytergis_core/src/plugin.ts b/python/jupytergis_core/src/plugin.ts index 3027f1429..87c9ee85b 100644 --- a/python/jupytergis_core/src/plugin.ts +++ b/python/jupytergis_core/src/plugin.ts @@ -25,11 +25,6 @@ import { JupyterGISExternalCommandRegistry } from './externalcommand'; import { JupyterGISLayerBrowserRegistry } from './layerBrowserRegistry'; import { JupyterGISFormSchemaRegistry } from './schemaregistry'; -import { SqljsAdapter } from '@ngageoint/geopackage'; -import wasmURL from 'rtree-sql.js/dist/sql-wasm.wasm'; - -SqljsAdapter.setSqljsWasmLocateFile(() => wasmURL); - const NAME_SPACE = 'jupytergis'; export const trackerPlugin: JupyterFrontEndPlugin = { diff --git a/yarn.lock b/yarn.lock index bf8c1c5f6..c787b0508 100644 --- a/yarn.lock +++ b/yarn.lock @@ -603,15 +603,6 @@ __metadata: languageName: node linkType: hard -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: ^7.0.4 - checksum: 5d36d289960e886484362d9eb6a51d1ea28baed5f5d0140bbe62b99bac52eaf06cc01c2bc0d3575977962f84f6b2c4387b043ee632216643d4787b0999465bf2 - languageName: node - linkType: hard - "@isaacs/string-locale-compare@npm:^1.1.0": version: 1.1.0 resolution: "@isaacs/string-locale-compare@npm:1.1.0" @@ -765,7 +756,6 @@ __metadata: "@lumino/widgets": ^2.0.0 "@mapbox/vector-tile": ^2.0.3 "@naisutech/react-tree": ^3.0.1 - "@ngageoint/geopackage": ^4.2.6 "@rjsf/core": ^4.2.0 "@rjsf/validator-ajv8": ^5.23.1 "@types/colormap": ^2.3.4 @@ -782,6 +772,7 @@ __metadata: geojson-vt: ^4.0.2 geotiff: ^2.1.3 ol: ^10.1.0 + ol-load-geopackage: ^1.0.3 ol-pmtiles: ^0.5.0 pbf: ^4.0.1 pmtiles: ^3.0.7 @@ -2094,47 +2085,6 @@ __metadata: languageName: node linkType: hard -"@ngageoint/geopackage@npm:^4.2.6": - version: 4.2.6 - resolution: "@ngageoint/geopackage@npm:4.2.6" - dependencies: - "@turf/bbox": 6.3.0 - "@turf/boolean-clockwise": 6.5.0 - "@turf/boolean-point-in-polygon": 6.5.0 - "@turf/boolean-within": 6.5.0 - "@turf/distance": 6.5.0 - "@turf/helpers": 6.5.0 - "@turf/intersect": 6.5.0 - "@turf/line-intersect": 6.5.0 - "@turf/point-to-line-distance": 6.5.0 - "@turf/polygon-to-line": 6.5.0 - "@types/geojson": 7946.0.8 - "@types/proj4": 2.5.2 - better-sqlite3: ^9.1.1 - chalk: 4.1.1 - file-type: ^16.5.4 - image-size: 0.8.3 - inquirer: 8.0.0 - lodash: 4.17.21 - proj4: 2.8.0 - reproject: 1.2.5 - rtree-sql.js: 1.7.0 - simplify-js: 1.2.4 - webworkify: 1.5.0 - wkx: 0.4.8 - dependenciesMeta: - better-sqlite3: - optional: true - chalk: - optional: true - inquirer: - optional: true - bin: - geopackage: cli - checksum: 6fdd4bf3f9057b1c78949885a44a5e65b9fbe73180cbc6963508263a4f89ed1b53996ad4c4a9fe56c2eeda8f7eead0e6f81fe39a89d213c9a3aba4094cc8994b - languageName: node - linkType: hard - "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2175,19 +2125,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" - dependencies: - agent-base: ^7.1.0 - http-proxy-agent: ^7.0.0 - https-proxy-agent: ^7.0.1 - lru-cache: ^10.0.1 - socks-proxy-agent: ^8.0.3 - checksum: e8fc25d536250ed3e669813b36e8c6d805628b472353c57afd8c4fde0fcfcf3dda4ffe22f7af8c9070812ec2e7a03fb41d7151547cef3508efe661a5a3add20f - languageName: node - linkType: hard - "@npmcli/arborist@npm:7.5.4": version: 7.5.4 resolution: "@npmcli/arborist@npm:7.5.4" @@ -2242,15 +2179,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" - dependencies: - semver: ^7.3.5 - checksum: 68951c589e9a4328698a35fd82fe71909a257d6f2ede0434d236fa55634f0fbcad9bb8755553ce5849bd25ee6f019f4d435921ac715c853582c4a7f5983c8d4a - languageName: node - linkType: hard - "@npmcli/git@npm:^5.0.0": version: 5.0.8 resolution: "@npmcli/git@npm:5.0.8" @@ -2759,13 +2687,6 @@ __metadata: languageName: node linkType: hard -"@tokenizer/token@npm:^0.3.0": - version: 0.3.0 - resolution: "@tokenizer/token@npm:0.3.0" - checksum: 1d575d02d2a9f0c5a4ca5180635ebd2ad59e0f18b42a65f3d04844148b49b3db35cf00b6012a1af2d59c2ab3caca59451c5689f747ba8667ee586ad717ee58e1 - languageName: node - linkType: hard - "@tufjs/canonical-json@npm:2.0.0": version: 2.0.0 resolution: "@tufjs/canonical-json@npm:2.0.0" @@ -2783,247 +2704,6 @@ __metadata: languageName: node linkType: hard -"@turf/bbox@npm:*": - version: 7.2.0 - resolution: "@turf/bbox@npm:7.2.0" - dependencies: - "@turf/helpers": ^7.2.0 - "@turf/meta": ^7.2.0 - "@types/geojson": ^7946.0.10 - tslib: ^2.8.1 - checksum: 34dfb634d04bc20be292a211e0fdef610556bead4bb5a38174fe040c59f041b4a0e2f586148c2c8b88677b1c5af08a07de5745235233dbaa0197fd67bf21e0da - languageName: node - linkType: hard - -"@turf/bbox@npm:6.3.0": - version: 6.3.0 - resolution: "@turf/bbox@npm:6.3.0" - dependencies: - "@turf/helpers": ^6.3.0 - "@turf/meta": ^6.3.0 - checksum: d229c70b66d49128dd611b888f4b701b3a9d374d2925a699df116c296cddb778879702626c7855d73ced8155b3f5b3954e7535b55f793f5919639877ed4a1003 - languageName: node - linkType: hard - -"@turf/bbox@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/bbox@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/meta": ^6.5.0 - checksum: 537be56ae0c5ad44e71a691717b35745e947e19a6bd9f20fdac2ab4318caf98cd88472d7dbf576e8b32ead5da034d273ffb3f4559d6d386820ddcb88a1f7fedd - languageName: node - linkType: hard - -"@turf/bearing@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/bearing@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - checksum: f2883fb56d3017f9d0190937a92a2dae174e48f5165ea5540a5032caa03dd7980e5a95d298fd25e6bcc74cdf812d411af0e0c146112518ed3cd0d19795a1b645 - languageName: node - linkType: hard - -"@turf/boolean-clockwise@npm:6.5.0": - version: 6.5.0 - resolution: "@turf/boolean-clockwise@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - checksum: a359550683425a21256a833a95363861c44e8f2884dd09d79e2847b2bc5b1e83a150730b6de3d31763dd845fd577b156a75071dbaf8574b712f933aa2af7eb80 - languageName: node - linkType: hard - -"@turf/boolean-point-in-polygon@npm:6.5.0, @turf/boolean-point-in-polygon@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/boolean-point-in-polygon@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - checksum: 624e54d9956b8f9d955285065f44c80ae66cd4a87e5d893f85871009b62ad9721cca520245a56f8c4401467767c153dda58f67fec0968e3971c7bb3a39617105 - languageName: node - linkType: hard - -"@turf/boolean-point-on-line@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/boolean-point-on-line@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - checksum: 469bc39dfe8cdd50be654d3dc1ed94c130e27d5724461333edc6d32352d31c955a1e4f2785994f0a255162fd6075657e49c90b9c805a644e88e05e2a51ead6bc - languageName: node - linkType: hard - -"@turf/boolean-within@npm:6.5.0": - version: 6.5.0 - resolution: "@turf/boolean-within@npm:6.5.0" - dependencies: - "@turf/bbox": ^6.5.0 - "@turf/boolean-point-in-polygon": ^6.5.0 - "@turf/boolean-point-on-line": ^6.5.0 - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - checksum: 6cc36191e087106119e4c8beed03c0be108b2ddb79de3f357dd2c69c10ebc8b17125c6a2ace8a27eb5c120efa4025fc83a2c97fe45dd4f5b2bbc86966edeaf94 - languageName: node - linkType: hard - -"@turf/clone@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/clone@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - checksum: 8ef6f6ba8876bb32b35691b62554a74b1e8e2b9d04a1c4f7bcba9348163b4ae4cde774b9e8e9f63211e5eb816517d94b94c3d54e5f855691a84cd3556d3157e4 - languageName: node - linkType: hard - -"@turf/distance@npm:6.5.0, @turf/distance@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/distance@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - checksum: f311e19a5d489a11e2033f218723f6c2fae207cb03fbdd5dc64a44724d36851f5bb44d07ae31d479532db5f1df019845e19e2117c1948d9e832a6769f6bf0448 - languageName: node - linkType: hard - -"@turf/helpers@npm:6.5.0, @turf/helpers@npm:6.x, @turf/helpers@npm:^6.3.0, @turf/helpers@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/helpers@npm:6.5.0" - checksum: d57f746351357838c654e0a9b98be3285a14b447504fd6d59753d90c6d437410bb24805d61c65b612827f07f6c2ade823bb7e56e41a1a946217abccfbd64c117 - languageName: node - linkType: hard - -"@turf/helpers@npm:^7.2.0": - version: 7.2.0 - resolution: "@turf/helpers@npm:7.2.0" - dependencies: - "@types/geojson": ^7946.0.10 - tslib: ^2.8.1 - checksum: 44697cf00db81ef8c4a43d13c7fc59ad06a50a5fae78f8d5e735fcdf89822107611585dcec0e973ae56248327a0f8f835dfbee952ec08bb6b7154592ce14aa5e - languageName: node - linkType: hard - -"@turf/intersect@npm:6.5.0": - version: 6.5.0 - resolution: "@turf/intersect@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - polygon-clipping: ^0.15.3 - checksum: 014e071cb3a2073bb4a1c82d9106a3e65b3761dc7c2b7226c88e6dbff9038556e821948b9d03202c1aabe7b6269fa90f47551393056f5e9e2b34131aa61c2f08 - languageName: node - linkType: hard - -"@turf/invariant@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/invariant@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - checksum: f45109ee41429d4aab49db9cfcc68f832cadf18b16c1b2c7031f0a6e52545bc4d64d0efd0a980f4d05f22532ed89d6e915aeaab9db44865898d4d030221d968e - languageName: node - linkType: hard - -"@turf/line-intersect@npm:6.5.0": - version: 6.5.0 - resolution: "@turf/line-intersect@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - "@turf/line-segment": ^6.5.0 - "@turf/meta": ^6.5.0 - geojson-rbush: 3.x - checksum: ae5eb762d879b18dfde0b7340fb34fe0158d83c9dee26d1d20bb9ef0111e3d042d1d2215ed6a8c04da1210011c85e45a513a64c3c2e6f641b17c58d43a017931 - languageName: node - linkType: hard - -"@turf/line-segment@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/line-segment@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - "@turf/meta": ^6.5.0 - checksum: c58c91066fcc6632a2b97535bd5a3cc5c7d41f11bfd3cbfc3d3dae13b39c5fe1ccf14ecda6f8b9ff046d7a35ee4205b73ad30fea95fc03373f0831bb515e2ac1 - languageName: node - linkType: hard - -"@turf/meta@npm:6.x, @turf/meta@npm:^6.3.0, @turf/meta@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/meta@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - checksum: c6bb936aa92bf3365e87a50dc65f248e070c5767a36fac390754c00c89bf2d1583418686ab19a10332bfa9340b8cac6aaf2c55dad7f5fcf77f1a2dda75ccf363 - languageName: node - linkType: hard - -"@turf/meta@npm:^7.2.0": - version: 7.2.0 - resolution: "@turf/meta@npm:7.2.0" - dependencies: - "@turf/helpers": ^7.2.0 - "@types/geojson": ^7946.0.10 - checksum: 77de8b1e345511e62ea421581dcdaf0d46b20d2440137f116341ed2213ba519da39aba6fd041098eb63a65d52cefb179206cc663ab4d289f220cf00f49f95bb0 - languageName: node - linkType: hard - -"@turf/point-to-line-distance@npm:6.5.0": - version: 6.5.0 - resolution: "@turf/point-to-line-distance@npm:6.5.0" - dependencies: - "@turf/bearing": ^6.5.0 - "@turf/distance": ^6.5.0 - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - "@turf/meta": ^6.5.0 - "@turf/projection": ^6.5.0 - "@turf/rhumb-bearing": ^6.5.0 - "@turf/rhumb-distance": ^6.5.0 - checksum: addea96dbd3458d2dc3fa8ede3061f0a9d560e9ef1dba4f6d1ec84f9203fc930ff3f668573e9679edc555c9185e63c96447f1825ff7f907caf499e2bf5ab0458 - languageName: node - linkType: hard - -"@turf/polygon-to-line@npm:6.5.0": - version: 6.5.0 - resolution: "@turf/polygon-to-line@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - checksum: ba189ff22a9a7a281da1dfb707909ce114339b14f8f61fd237f72a9ff056fcf5eeb7019fd2d2a8b3bfc953169eb2caa818ecc9d8801cdb5615c3d274af2465d5 - languageName: node - linkType: hard - -"@turf/projection@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/projection@npm:6.5.0" - dependencies: - "@turf/clone": ^6.5.0 - "@turf/helpers": ^6.5.0 - "@turf/meta": ^6.5.0 - checksum: 31baafb27e3c2a7b639a08156b38c771d312236a9ab218133f7136b4f5ac94cec2465ad62b7da8a0b7f26d5afb09b79d122e56022c27fd17fc9994213fe61833 - languageName: node - linkType: hard - -"@turf/rhumb-bearing@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/rhumb-bearing@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - checksum: 150b7e1a8e68b9411194b4eb2abff48a65a77b78dde19c1d1a5b5f148aa09c4cded19a531b4d625e4953c510e556238e623e5465f65c5c7435a60c978e843f7f - languageName: node - linkType: hard - -"@turf/rhumb-distance@npm:^6.5.0": - version: 6.5.0 - resolution: "@turf/rhumb-distance@npm:6.5.0" - dependencies: - "@turf/helpers": ^6.5.0 - "@turf/invariant": ^6.5.0 - checksum: b9b78ee6f05cbfcf2bb3582746523a2cc4d70b004771c433004e650e4c5ccd74d7e35f80099ed59503b7cc731ce5277edfbb3e9b9ad82253267cba8bbf977d86 - languageName: node - linkType: hard - "@tybys/wasm-util@npm:^0.9.0": version: 0.9.0 resolution: "@tybys/wasm-util@npm:0.9.0" @@ -3083,20 +2763,13 @@ __metadata: languageName: node linkType: hard -"@types/geojson@npm:*, @types/geojson@npm:^7946.0.10, @types/geojson@npm:^7946.0.14": +"@types/geojson@npm:*, @types/geojson@npm:^7946.0.14": version: 7946.0.16 resolution: "@types/geojson@npm:7946.0.16" checksum: d66e5e023f43b3e7121448117af1930af7d06410a32a585a8bc9c6bb5d97e0d656cd93d99e31fa432976c32e98d4b780f82bf1fd1acd20ccf952eb6b8e39edf2 languageName: node linkType: hard -"@types/geojson@npm:7946.0.8": - version: 7946.0.8 - resolution: "@types/geojson@npm:7946.0.8" - checksum: 6049a39b025cfe323d5cf87333d87c133ec963cdbd349c49295bee779827ee4b46a3041fd8bd2e7a4b02d6d1e26f3002968875928941bbed08477bfd5f6f9284 - languageName: node - linkType: hard - "@types/glob@npm:*": version: 8.1.0 resolution: "@types/glob@npm:8.1.0" @@ -3183,13 +2856,6 @@ __metadata: languageName: node linkType: hard -"@types/proj4@npm:2.5.2": - version: 2.5.2 - resolution: "@types/proj4@npm:2.5.2" - checksum: f70fb89fe1e234faa164b57095624e054ead1b14653b1eb04e1aa50489ae9a6a30c90518efe571d53f5fcc12a25bee61e8cf8d9cc79b5a01586d051bdad4a992 - languageName: node - linkType: hard - "@types/proj4@npm:^2.5.5": version: 2.5.6 resolution: "@types/proj4@npm:2.5.6" @@ -3643,7 +3309,7 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:^1.0.0, JSONStream@npm:^1.3.5": +"JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" dependencies: @@ -3669,22 +3335,6 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^3.0.0": - version: 3.0.1 - resolution: "abbrev@npm:3.0.1" - checksum: e70b209f5f408dd3a3bbd0eec4b10a2ffd64704a4a3821d0969d84928cc490a8eb60f85b78a95622c1841113edac10161c62e52f5e7d0027aa26786a8136e02e - languageName: node - linkType: hard - -"abort-controller@npm:^3.0.0": - version: 3.0.0 - resolution: "abort-controller@npm:3.0.0" - dependencies: - event-target-shim: ^5.0.0 - checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 - languageName: node - linkType: hard - "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -4033,17 +3683,6 @@ __metadata: languageName: node linkType: hard -"better-sqlite3@npm:^9.1.1": - version: 9.6.0 - resolution: "better-sqlite3@npm:9.6.0" - dependencies: - bindings: ^1.5.0 - node-gyp: latest - prebuild-install: ^7.1.1 - checksum: be3a1d2a3f6f9b5141be6607a38c0a51fa5849495b071955e507bc0c2a2fb08430852c1bf03796eec1a53344b25645807db48dcb51c71b0662b74c5a70420bb0 - languageName: node - linkType: hard - "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -4063,15 +3702,6 @@ __metadata: languageName: node linkType: hard -"bindings@npm:^1.5.0": - version: 1.5.0 - resolution: "bindings@npm:1.5.0" - dependencies: - file-uri-to-path: 1.0.0 - checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 - languageName: node - linkType: hard - "bl@npm:^4.0.3, bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -4186,26 +3816,6 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" - dependencies: - "@npmcli/fs": ^4.0.0 - fs-minipass: ^3.0.0 - glob: ^10.2.2 - lru-cache: ^10.0.1 - minipass: ^7.0.3 - minipass-collect: ^2.0.1 - minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.4 - p-map: ^7.0.2 - ssri: ^12.0.0 - tar: ^7.4.3 - unique-filename: ^4.0.0 - checksum: e95684717de6881b4cdaa949fa7574e3171946421cd8291769dd3d2417dbf7abf4aa557d1f968cca83dcbc95bed2a281072b09abfc977c942413146ef7ed4525 - languageName: node - linkType: hard - "call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" @@ -4294,16 +3904,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:4.1.1": - version: 4.1.1 - resolution: "chalk@npm:4.1.1" - dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: 036e973e665ba1a32c975e291d5f3d549bceeb7b1b983320d4598fb75d70fe20c5db5d62971ec0fe76cdbce83985a00ee42372416abfc3a5584465005a7855ed - languageName: node - linkType: hard - "chalk@npm:^2.3.0, chalk@npm:^2.4.1": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -4332,13 +3932,6 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^1.1.1": - version: 1.1.4 - resolution: "chownr@npm:1.1.4" - checksum: 115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d - languageName: node - linkType: hard - "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -4346,13 +3939,6 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: fd73a4bab48b79e66903fe1cafbdc208956f41ea4f856df883d0c7277b7ab29fd33ee65f93b2ec9192fc0169238f2f8307b7735d27c155821d886b84aa97aa8d - languageName: node - linkType: hard - "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -4988,15 +4574,6 @@ __metadata: languageName: node linkType: hard -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: ^3.1.0 - checksum: d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 - languageName: node - linkType: hard - "dedent@npm:1.5.3": version: 1.5.3 resolution: "dedent@npm:1.5.3" @@ -5009,13 +4586,6 @@ __metadata: languageName: node linkType: hard -"deep-extend@npm:^0.6.0": - version: 0.6.0 - resolution: "deep-extend@npm:0.6.0" - checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 - languageName: node - linkType: hard - "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -5089,13 +4659,6 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.0": - version: 2.0.4 - resolution: "detect-libc@npm:2.0.4" - checksum: 3d186b7d4e16965e10e21db596c78a4e131f9eee69c0081d13b85e6a61d7448d3ba23fe7997648022bdfa3b0eb4cc3c289a44c8188df949445a20852689abef6 - languageName: node - linkType: hard - "detect-node@npm:^2.1.0": version: 2.1.0 resolution: "detect-node@npm:2.1.0" @@ -5209,7 +4772,7 @@ __metadata: languageName: node linkType: hard -"duplexer@npm:^0.1.1, duplexer@npm:~0.1.1": +"duplexer@npm:^0.1.1": version: 0.1.2 resolution: "duplexer@npm:0.1.2" checksum: 62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 @@ -5290,7 +4853,7 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": +"end-of-stream@npm:^1.4.1": version: 1.4.4 resolution: "end-of-stream@npm:1.4.4" dependencies: @@ -5732,28 +5295,6 @@ __metadata: languageName: node linkType: hard -"event-stream@npm:^4.0.0": - version: 4.0.1 - resolution: "event-stream@npm:4.0.1" - dependencies: - duplexer: ^0.1.1 - from: ^0.1.7 - map-stream: 0.0.7 - pause-stream: ^0.0.11 - split: ^1.0.1 - stream-combiner: ^0.2.2 - through: ^2.3.8 - checksum: 515cdff30c8dd74d5869cf53133b8851deba012605d2a15a1bc77b777b9d237ebf06d99ec62be2c6fc8adb2c89bf392771e2809239b278e5e70ba2f88cd1955c - languageName: node - linkType: hard - -"event-target-shim@npm:^5.0.0": - version: 5.0.1 - resolution: "event-target-shim@npm:5.0.1" - checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 - languageName: node - linkType: hard - "eventemitter3@npm:^4.0.4": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" @@ -5761,7 +5302,7 @@ __metadata: languageName: node linkType: hard -"events@npm:^3.2.0, events@npm:^3.3.0": +"events@npm:^3.2.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 @@ -5792,13 +5333,6 @@ __metadata: languageName: node linkType: hard -"expand-template@npm:^2.0.3": - version: 2.0.3 - resolution: "expand-template@npm:2.0.3" - checksum: 588c19847216421ed92befb521767b7018dc88f88b0576df98cb242f20961425e96a92cbece525ef28cc5becceae5d544ae0f5b9b5e2aa05acb13716ca5b3099 - languageName: node - linkType: hard - "exponential-backoff@npm:^3.1.1": version: 3.1.2 resolution: "exponential-backoff@npm:3.1.2" @@ -5890,18 +5424,6 @@ __metadata: languageName: node linkType: hard -"fdir@npm:^6.4.4": - version: 6.4.4 - resolution: "fdir@npm:6.4.4" - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - checksum: 79043610236579ffbd0647c508b43bd030a2d034a17c43cf96813a00e8e92e51acdb115c6ddecef3b5812cc2692b976155b4f6413e51e3761f1e772fa019a321 - languageName: node - linkType: hard - "fflate@npm:^0.8.0": version: 0.8.2 resolution: "fflate@npm:0.8.2" @@ -5927,24 +5449,6 @@ __metadata: languageName: node linkType: hard -"file-type@npm:^16.5.4": - version: 16.5.4 - resolution: "file-type@npm:16.5.4" - dependencies: - readable-web-to-node-stream: ^3.0.0 - strtok3: ^6.2.4 - token-types: ^4.1.1 - checksum: d983c0f36491c57fcb6cc70fcb02c36d6b53f312a15053263e1924e28ca8314adf0db32170801ad777f09432c32155f31715ceaee66310947731588120d7ec27 - languageName: node - linkType: hard - -"file-uri-to-path@npm:1.0.0": - version: 1.0.0 - resolution: "file-uri-to-path@npm:1.0.0" - checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 - languageName: node - linkType: hard - "filelist@npm:^1.0.4": version: 1.0.4 resolution: "filelist@npm:1.0.4" @@ -6074,13 +5578,6 @@ __metadata: languageName: node linkType: hard -"from@npm:^0.1.7": - version: 0.1.7 - resolution: "from@npm:0.1.7" - checksum: b85125b7890489656eb2e4f208f7654a93ec26e3aefaf3bbbcc0d496fc1941e4405834fcc9fe7333192aa2187905510ace70417bbf9ac6f6f4784a731d986939 - languageName: node - linkType: hard - "front-matter@npm:^4.0.2": version: 4.0.2 resolution: "front-matter@npm:4.0.2" @@ -6182,36 +5679,6 @@ __metadata: languageName: node linkType: hard -"geographiclib-geodesic@npm:^2.1.1": - version: 2.1.1 - resolution: "geographiclib-geodesic@npm:2.1.1" - checksum: 647f676f0409d0bc9b2b264a8179a85cedd53788a01659719cbb924e0653b45ff994b65b4f48580e26ed43f7acba25413260969b4ed5fe26966701234926ce34 - languageName: node - linkType: hard - -"geojson-rbush@npm:3.x": - version: 3.2.0 - resolution: "geojson-rbush@npm:3.2.0" - dependencies: - "@turf/bbox": "*" - "@turf/helpers": 6.x - "@turf/meta": 6.x - "@types/geojson": 7946.0.8 - rbush: ^3.0.1 - checksum: f373e646f3699b86e3f88b16783bb8835b75446f0be9d5cbefbb5a0197e657ebe85fecfd7ce0b9140feecf532a88716c1aacf4d6a0dbcce1b48d6fd29d507927 - languageName: node - linkType: hard - -"geojson-stream@npm:0.1.0": - version: 0.1.0 - resolution: "geojson-stream@npm:0.1.0" - dependencies: - JSONStream: ^1.0.0 - through: ^2.3.4 - checksum: 0de882f32eee5aecc3abbf748a46fa0a6ba4d023c7749a6cbda11a367ad5999cfc6e11eb25fb7702defabdb4a57a41cb8267ffe1a98534017da8605abf29d604 - languageName: node - linkType: hard - "geojson-vt@npm:^4.0.2": version: 4.0.2 resolution: "geojson-vt@npm:4.0.2" @@ -6386,13 +5853,6 @@ __metadata: languageName: node linkType: hard -"github-from-package@npm:0.0.0": - version: 0.0.0 - resolution: "github-from-package@npm:0.0.0" - checksum: 14e448192a35c1e42efee94c9d01a10f42fe790375891a24b25261246ce9336ab9df5d274585aedd4568f7922246c2a78b8a8cd2571bfe99c693a9718e7dd0e3 - languageName: node - linkType: hard - "glob-parent@npm:6.0.2, glob-parent@npm:^6.0.1, glob-parent@npm:^6.0.2": version: 6.0.2 resolution: "glob-parent@npm:6.0.2" @@ -6793,17 +6253,6 @@ __metadata: languageName: node linkType: hard -"image-size@npm:0.8.3": - version: 0.8.3 - resolution: "image-size@npm:0.8.3" - dependencies: - queue: 6.0.1 - bin: - image-size: bin/image-size.js - checksum: e118dc6a738b26e9e9c17bf947205a93a734971970f0a8d1827faa019f414d20af088c1f3c92105c4ec4f596fbc105e1e33217881cb6791a5cc505183f2fac15 - languageName: node - linkType: hard - "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" @@ -6869,7 +6318,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.2, ini@npm:^1.3.8, ini@npm:~1.3.0": +"ini@npm:^1.3.2, ini@npm:^1.3.8": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -6898,42 +6347,21 @@ __metadata: languageName: node linkType: hard -"inquirer@npm:8.0.0": - version: 8.0.0 - resolution: "inquirer@npm:8.0.0" +"inquirer@npm:^8.2.4": + version: 8.2.6 + resolution: "inquirer@npm:8.2.6" dependencies: ansi-escapes: ^4.2.1 - chalk: ^4.1.0 + chalk: ^4.1.1 cli-cursor: ^3.1.0 cli-width: ^3.0.0 external-editor: ^3.0.3 figures: ^3.0.0 lodash: ^4.17.21 mute-stream: 0.0.8 + ora: ^5.4.1 run-async: ^2.4.0 - rxjs: ^6.6.6 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - through: ^2.3.6 - checksum: 289a485752922998118668ae1c15001bd5ff1cb61e02d101da78c47dd9c9f4d46d2fcbcc9ebcae22dcdb820323636021508c723550394043dfde0e4f213596ec - languageName: node - linkType: hard - -"inquirer@npm:^8.2.4": - version: 8.2.6 - resolution: "inquirer@npm:8.2.6" - dependencies: - ansi-escapes: ^4.2.1 - chalk: ^4.1.1 - cli-cursor: ^3.1.0 - cli-width: ^3.0.0 - external-editor: ^3.0.3 - figures: ^3.0.0 - lodash: ^4.17.21 - mute-stream: 0.0.8 - ora: ^5.4.1 - run-async: ^2.4.0 - rxjs: ^7.5.5 + rxjs: ^7.5.5 string-width: ^4.1.0 strip-ansi: ^6.0.0 through: ^2.3.6 @@ -7976,7 +7404,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": +"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -8068,25 +7496,6 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" - dependencies: - "@npmcli/agent": ^3.0.0 - cacache: ^19.0.1 - http-cache-semantics: ^4.1.1 - minipass: ^7.0.2 - minipass-fetch: ^4.0.0 - minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.4 - negotiator: ^1.0.0 - proc-log: ^5.0.0 - promise-retry: ^2.0.1 - ssri: ^12.0.0 - checksum: 6fb2fee6da3d98f1953b03d315826b5c5a4ea1f908481afc113782d8027e19f080c85ae998454de4e5f27a681d3ec58d57278f0868d4e0b736f51d396b661691 - languageName: node - linkType: hard - "map-obj@npm:^1.0.0": version: 1.0.1 resolution: "map-obj@npm:1.0.1" @@ -8101,13 +7510,6 @@ __metadata: languageName: node linkType: hard -"map-stream@npm:0.0.7": - version: 0.0.7 - resolution: "map-stream@npm:0.0.7" - checksum: 74596bc701abb3e328e0783d70fcfdc5204798d945662a1824b57b7f10f3c36835edee5881bdd68618f96c992594bcbe09233f12b04d3a6a55a76e1a5793b76e - languageName: node - linkType: hard - "markdown-to-jsx@npm:^7.4.1": version: 7.7.6 resolution: "markdown-to-jsx@npm:7.7.6" @@ -8220,13 +7622,6 @@ __metadata: languageName: node linkType: hard -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 25739fee32c17f433626bf19f016df9036b75b3d84a3046c7d156e72ec963dd29d7fc8a302f55a3d6c5a4ff24259676b15d915aad6480815a969ff2ec0836867 - languageName: node - linkType: hard - "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -8320,7 +7715,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.0": +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.0": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 @@ -8351,21 +7746,6 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^4.0.0": - version: 4.0.1 - resolution: "minipass-fetch@npm:4.0.1" - dependencies: - encoding: ^0.1.13 - minipass: ^7.0.3 - minipass-sized: ^1.0.3 - minizlib: ^3.0.1 - dependenciesMeta: - encoding: - optional: true - checksum: 3dfca705ce887ca9ff14d73e8d8593996dea1a1ecd8101fdbb9c10549d1f9670bc8fb66ad0192769ead4c2dc01b4f9ca1cf567ded365adff17827a303b948140 - languageName: node - linkType: hard - "minipass-flush@npm:^1.0.5": version: 1.0.5 resolution: "minipass-flush@npm:1.0.5" @@ -8416,7 +7796,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3 @@ -8433,22 +7813,6 @@ __metadata: languageName: node linkType: hard -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" - dependencies: - minipass: ^7.1.2 - checksum: 493bed14dcb6118da7f8af356a8947cf1473289c09658e5aabd69a737800a8c3b1736fb7d7931b722268a9c9bc038a6d53c049b6a6af24b34a121823bb709996 - languageName: node - linkType: hard - -"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": - version: 0.5.3 - resolution: "mkdirp-classic@npm:0.5.3" - checksum: 3f4e088208270bbcc148d53b73e9a5bd9eef05ad2cbf3b3d0ff8795278d50dd1d11a8ef1875ff5aea3fa888931f95bfcb2ad5b7c1061cfefd6284d199e6776ac - languageName: node - linkType: hard - "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -8458,15 +7822,6 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 972deb188e8fb55547f1e58d66bd6b4a3623bf0c7137802582602d73e6480c1c2268dcbafbfb1be466e00cc7e56ac514d7fd9334b7cf33e3e2ab547c16f83a8d - languageName: node - linkType: hard - "modify-values@npm:^1.0.1": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -8537,13 +7892,6 @@ __metadata: languageName: node linkType: hard -"napi-build-utils@npm:^2.0.0": - version: 2.0.0 - resolution: "napi-build-utils@npm:2.0.0" - checksum: 532121efd2dd2272595580bca48859e404bdd4ed455a72a28432ba44868c38d0e64fac3026a8f82bf8563d2a18b32eb9a1d59e601a9da4e84ba4d45b922297f5 - languageName: node - linkType: hard - "natural-compare-lite@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare-lite@npm:1.4.0" @@ -8565,13 +7913,6 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 20ebfe79b2d2e7cf9cbc8239a72662b584f71164096e6e8896c8325055497c96f6b80cd22c258e8a2f2aa382a787795ec3ee8b37b422a302c7d4381b0d5ecfbb - languageName: node - linkType: hard - "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -8593,15 +7934,6 @@ __metadata: languageName: node linkType: hard -"node-abi@npm:^3.3.0": - version: 3.75.0 - resolution: "node-abi@npm:3.75.0" - dependencies: - semver: ^7.3.5 - checksum: b86021c748b316b31efda4f1f4a74db9fd411b0ae63fa50be5b0247546285ae7e31c737e92013478877eaf39a3fd0a06072d48b1cace21ad629862373410416f - languageName: node - linkType: hard - "node-fetch@npm:2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" @@ -8636,26 +7968,6 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:latest": - version: 11.2.0 - resolution: "node-gyp@npm:11.2.0" - dependencies: - env-paths: ^2.2.0 - exponential-backoff: ^3.1.1 - graceful-fs: ^4.2.6 - make-fetch-happen: ^14.0.3 - nopt: ^8.0.0 - proc-log: ^5.0.0 - semver: ^7.3.5 - tar: ^7.4.3 - tinyglobby: ^0.2.12 - which: ^5.0.0 - bin: - node-gyp: bin/node-gyp.js - checksum: 2536282ba81f8a94b29482d3622b6ab298611440619e46de4512a6f32396a68b5530357c474b859787069d84a4c537d99e0c71078cce5b9f808bf84eeb78e8fb - languageName: node - linkType: hard - "node-machine-id@npm:1.1.12": version: 1.1.12 resolution: "node-machine-id@npm:1.1.12" @@ -8681,17 +7993,6 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" - dependencies: - abbrev: ^3.0.0 - bin: - nopt: bin/nopt.js - checksum: 49cfd3eb6f565e292bf61f2ff1373a457238804d5a5a63a8d786c923007498cba89f3648e3b952bc10203e3e7285752abf5b14eaf012edb821e84f24e881a92a - languageName: node - linkType: hard - "normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" @@ -8969,6 +8270,17 @@ __metadata: languageName: node linkType: hard +"ol-load-geopackage@npm:^1.0.3": + version: 1.0.3 + resolution: "ol-load-geopackage@npm:1.0.3" + dependencies: + ol: ">=6.7.0" + sql.js: ^1.6.1 + util: ^0.12.4 + checksum: f37cf93eed86bc19bc9f504bf68dc8ae8adef6d8eaa7adfe717de59636b4418618c53185b42bc215cf08d25ba26cf1b25559911ba90abeb150a74e56f077c819 + languageName: node + linkType: hard + "ol-pmtiles@npm:^0.5.0": version: 0.5.0 resolution: "ol-pmtiles@npm:0.5.0" @@ -8980,7 +8292,7 @@ __metadata: languageName: node linkType: hard -"ol@npm:^10.1.0": +"ol@npm:>=6.7.0, ol@npm:^10.1.0": version: 10.5.0 resolution: "ol@npm:10.5.0" dependencies: @@ -8993,7 +8305,7 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": +"once@npm:^1.3.0, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -9164,13 +8476,6 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 8c92d533acf82f0d12f7e196edccff773f384098bbb048acdd55a08778ce4fc8889d8f1bde72969487bd96f9c63212698d79744c20bedfce36c5b00b46d369f8 - languageName: node - linkType: hard - "p-pipe@npm:3.1.0": version: 3.1.0 resolution: "p-pipe@npm:3.1.0" @@ -9424,15 +8729,6 @@ __metadata: languageName: node linkType: hard -"pause-stream@npm:^0.0.11": - version: 0.0.11 - resolution: "pause-stream@npm:0.0.11" - dependencies: - through: ~2.3 - checksum: 3c4a14052a638b92e0c96eb00c0d7977df7f79ea28395250c525d197f1fc02d34ce1165d5362e2e6ebbb251524b94a76f3f0d4abc39ab8b016d97449fe15583c - languageName: node - linkType: hard - "pbf@npm:4.0.1, pbf@npm:^4.0.1": version: 4.0.1 resolution: "pbf@npm:4.0.1" @@ -9444,13 +8740,6 @@ __metadata: languageName: node linkType: hard -"peek-readable@npm:^4.1.0": - version: 4.1.0 - resolution: "peek-readable@npm:4.1.0" - checksum: 02c673f9bc816f8e4e74a054c097225ad38d457d745b775e2b96faf404a54473b2f62f5bcd496f5ebc28696708bcc5e95bed409856f4bef5ed62eae9b4ac0dab - languageName: node - linkType: hard - "picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" @@ -9465,13 +8754,6 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^4.0.2": - version: 4.0.2 - resolution: "picomatch@npm:4.0.2" - checksum: a7a5188c954f82c6585720e9143297ccd0e35ad8072231608086ca950bee672d51b0ef676254af0788205e59bd4e4deb4e7708769226bed725bf13370a7d1464 - languageName: node - linkType: hard - "pidtree@npm:^0.3.0": version: 0.3.1 resolution: "pidtree@npm:0.3.1" @@ -9528,16 +8810,6 @@ __metadata: languageName: node linkType: hard -"polygon-clipping@npm:^0.15.3": - version: 0.15.7 - resolution: "polygon-clipping@npm:0.15.7" - dependencies: - robust-predicates: ^3.0.2 - splaytree: ^3.1.0 - checksum: b68fb71d1770b362026f5e956919f5ebb1245bc6b24d7926ead1c55beaa2f539e19c22e47d2aa31587dcb4318c695020f9ccd0e63d0f0425ef34f4cb02228d42 - languageName: node - linkType: hard - "possible-typed-array-names@npm:^1.0.0": version: 1.1.0 resolution: "possible-typed-array-names@npm:1.1.0" @@ -9627,28 +8899,6 @@ __metadata: languageName: node linkType: hard -"prebuild-install@npm:^7.1.1": - version: 7.1.3 - resolution: "prebuild-install@npm:7.1.3" - dependencies: - detect-libc: ^2.0.0 - expand-template: ^2.0.3 - github-from-package: 0.0.0 - minimist: ^1.2.3 - mkdirp-classic: ^0.5.3 - napi-build-utils: ^2.0.0 - node-abi: ^3.3.0 - pump: ^3.0.0 - rc: ^1.2.7 - simple-get: ^4.0.0 - tar-fs: ^2.0.0 - tunnel-agent: ^0.6.0 - bin: - prebuild-install: bin.js - checksum: 300740ca415e9ddbf2bd363f1a6d2673cc11dd0665c5ec431bbb5bf024c2f13c56791fb939ce2b2a2c12f2d2a09c91316169e8063a80eb4482a44b8fe5b265e1 - languageName: node - linkType: hard - "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -9701,13 +8951,6 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: c78b26ecef6d5cce4a7489a1e9923d7b4b1679028c8654aef0463b27f4a90b0946cd598f55799da602895c52feb085ec76381d007ab8dcceebd40b89c2f9dfe0 - languageName: node - linkType: hard - "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -9736,16 +8979,6 @@ __metadata: languageName: node linkType: hard -"proj4@npm:2.8.0": - version: 2.8.0 - resolution: "proj4@npm:2.8.0" - dependencies: - mgrs: 1.0.0 - wkt-parser: ^1.3.1 - checksum: 05c46387ac866bba699d50291507f9cfd2eece4806e375e7bc536c28c03af4d4ae8c386ab53a0c4a26a4b1718d5d0b30a6cf972614f4fb997e89bd262348c6b1 - languageName: node - linkType: hard - "proj4@npm:^2.1.4, proj4@npm:^2.14.0": version: 2.15.0 resolution: "proj4@npm:2.15.0" @@ -9756,17 +8989,6 @@ __metadata: languageName: node linkType: hard -"proj4@npm:^2.4.4": - version: 2.17.0 - resolution: "proj4@npm:2.17.0" - dependencies: - geographiclib-geodesic: ^2.1.1 - mgrs: 1.0.0 - wkt-parser: ^1.5.1 - checksum: 99662c6d32469860ec0a6ea39ba0be5d074bd1a3eab8e01b367c18b1c5efcbce8d5705cea96726b6e40613d168d932230ded0793144ec5ac401e8790dce95283 - languageName: node - linkType: hard - "promise-all-reject-late@npm:^1.0.0": version: 1.0.1 resolution: "promise-all-reject-late@npm:1.0.1" @@ -9839,16 +9061,6 @@ __metadata: languageName: node linkType: hard -"pump@npm:^3.0.0": - version: 3.0.2 - resolution: "pump@npm:3.0.2" - dependencies: - end-of-stream: ^1.1.0 - once: ^1.3.1 - checksum: e0c4216874b96bd25ddf31a0b61a5613e26cc7afa32379217cf39d3915b0509def3565f5f6968fafdad2894c8bbdbd67d340e84f3634b2a29b950cffb6442d9f - languageName: node - linkType: hard - "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -9870,15 +9082,6 @@ __metadata: languageName: node linkType: hard -"queue@npm:6.0.1": - version: 6.0.1 - resolution: "queue@npm:6.0.1" - dependencies: - inherits: ~2.0.3 - checksum: f39f70b030f9aebf4b32b0db5b7b11d2b799cdaedb190849532983fb31ba45a94d2ee48308e545e8452826b29a4ac996946579af7b42072f04ded3ce40c41703 - languageName: node - linkType: hard - "quick-lru@npm:^4.0.1": version: 4.0.1 resolution: "quick-lru@npm:4.0.1" @@ -9893,13 +9096,6 @@ __metadata: languageName: node linkType: hard -"quickselect@npm:^2.0.0": - version: 2.0.0 - resolution: "quickselect@npm:2.0.0" - checksum: ed2e78431050d223fb75da20ee98011aef1a03f7cb04e1a32ee893402e640be3cfb76d72e9dbe01edf3bb457ff6a62e5c2d85748424d1aa531f6ba50daef098c - languageName: node - linkType: hard - "quickselect@npm:^3.0.0": version: 3.0.0 resolution: "quickselect@npm:3.0.0" @@ -9916,15 +9112,6 @@ __metadata: languageName: node linkType: hard -"rbush@npm:^3.0.1": - version: 3.0.1 - resolution: "rbush@npm:3.0.1" - dependencies: - quickselect: ^2.0.0 - checksum: b7def5ba762ca01b6c7c032098ef61b86bd4fef4afb82e4a1d70a07a929b39e779290446c2d4730f577e8a1c8fd0dfd349605b5ea0229258d5f013debdffa65a - languageName: node - linkType: hard - "rbush@npm:^4.0.0": version: 4.0.1 resolution: "rbush@npm:4.0.1" @@ -9934,20 +9121,6 @@ __metadata: languageName: node linkType: hard -"rc@npm:^1.2.7": - version: 1.2.8 - resolution: "rc@npm:1.2.8" - dependencies: - deep-extend: ^0.6.0 - ini: ~1.3.0 - minimist: ^1.2.0 - strip-json-comments: ~2.0.1 - bin: - rc: ./cli.js - checksum: 2e26e052f8be2abd64e6d1dabfbd7be03f80ec18ccbc49562d31f617d0015fbdbcf0f9eed30346ea6ab789e0fdfe4337f033f8016efdbee0df5354751842080e - languageName: node - linkType: hard - "react-dom@npm:^18.2.0": version: 18.3.1 resolution: "react-dom@npm:18.3.1" @@ -10084,19 +9257,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^4.7.0": - version: 4.7.0 - resolution: "readable-stream@npm:4.7.0" - dependencies: - abort-controller: ^3.0.0 - buffer: ^6.0.3 - events: ^3.3.0 - process: ^0.11.10 - string_decoder: ^1.3.0 - checksum: 03ec762faed8e149dc6452798b60394a8650861a1bb4bf936fa07b94044826bc25abe73696f5f45372abc404eec01876c560f64b479eba108b56397312dbe2ae - languageName: node - linkType: hard - "readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -10112,15 +9272,6 @@ __metadata: languageName: node linkType: hard -"readable-web-to-node-stream@npm:^3.0.0": - version: 3.0.4 - resolution: "readable-web-to-node-stream@npm:3.0.4" - dependencies: - readable-stream: ^4.7.0 - checksum: a11704035cab9ad857a3081e7663dca28a7befd7328e5b2eb2c124e4150e08534ea00c3159e5f7ff2588fca366b348a7d8d2bc0bc7d5eabc6b7108dd753886b7 - languageName: node - linkType: hard - "rechoir@npm:^0.8.0": version: 0.8.0 resolution: "rechoir@npm:0.8.0" @@ -10170,21 +9321,6 @@ __metadata: languageName: node linkType: hard -"reproject@npm:1.2.5": - version: 1.2.5 - resolution: "reproject@npm:1.2.5" - dependencies: - concat-stream: ^2.0.0 - event-stream: ^4.0.0 - geojson-stream: 0.1.0 - minimist: ^1.2.0 - proj4: ^2.4.4 - bin: - reproject: cli.js - checksum: 5cc5f8d7cc0f16f3395a40044323f678f5f6f40d74073feb18fb2296b490f1f757d965cc03ebcc3e65461713c3d062223fc0c936dee71135b0e4733996c252f7 - languageName: node - linkType: hard - "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -10317,20 +9453,6 @@ __metadata: languageName: node linkType: hard -"robust-predicates@npm:^3.0.2": - version: 3.0.2 - resolution: "robust-predicates@npm:3.0.2" - checksum: 36854c1321548ceca96d36ad9d6e0a5a512986029ec6929ad6ed3ec1612c22cc8b46cc72d2c5674af42e8074a119d793f6f0ea3a5b51373e3ab926c64b172d7a - languageName: node - linkType: hard - -"rtree-sql.js@npm:1.7.0": - version: 1.7.0 - resolution: "rtree-sql.js@npm:1.7.0" - checksum: feac8cef720348dcd3aad1d87f35588a302c96c4d2c86ce474a26f687419d49edfd18323c2f2de332909b781623d7c7047b166c2e39e3a7717214052064bef50 - languageName: node - linkType: hard - "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -10347,15 +9469,6 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^6.6.6": - version: 6.6.7 - resolution: "rxjs@npm:6.6.7" - dependencies: - tslib: ^1.9.0 - checksum: bc334edef1bb8bbf56590b0b25734ba0deaf8825b703256a93714308ea36dff8a11d25533671adf8e104e5e8f256aa6fdfe39b2e248cdbd7a5f90c260acbbd1b - languageName: node - linkType: hard - "rxjs@npm:^7.5.5": version: 7.8.2 resolution: "rxjs@npm:7.8.2" @@ -10378,7 +9491,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -10697,31 +9810,6 @@ __metadata: languageName: node linkType: hard -"simple-concat@npm:^1.0.0": - version: 1.0.1 - resolution: "simple-concat@npm:1.0.1" - checksum: 4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a - languageName: node - linkType: hard - -"simple-get@npm:^4.0.0": - version: 4.0.1 - resolution: "simple-get@npm:4.0.1" - dependencies: - decompress-response: ^6.0.0 - once: ^1.3.1 - simple-concat: ^1.0.0 - checksum: e4132fd27cf7af230d853fa45c1b8ce900cb430dd0a3c6d3829649fe4f2b26574c803698076c4006450efb0fad2ba8c5455fbb5755d4b0a5ec42d4f12b31d27e - languageName: node - linkType: hard - -"simplify-js@npm:1.2.4": - version: 1.2.4 - resolution: "simplify-js@npm:1.2.4" - checksum: 5bbc7b6223565ce7e1aa636405a973fc6a34b3b2704d697682d3023cf2582a8a7c5fdb42f1b251749d6377b44465d3c33d60aa98306192d9ba069d71dc778735 - languageName: node - linkType: hard - "slash@npm:3.0.0, slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -10873,13 +9961,6 @@ __metadata: languageName: node linkType: hard -"splaytree@npm:^3.1.0": - version: 3.1.2 - resolution: "splaytree@npm:3.1.2" - checksum: 7b90a52e02036699b0c7228bb86c784aa674618909622da652c80a809694dafa068b73c97309ecb719783b7c1e1092ac6917acf2213defc0fa9027f92b2afa62 - languageName: node - linkType: hard - "split2@npm:^3.2.2": version: 3.2.2 resolution: "split2@npm:3.2.2" @@ -10912,6 +9993,13 @@ __metadata: languageName: node linkType: hard +"sql.js@npm:^1.6.1": + version: 1.13.0 + resolution: "sql.js@npm:1.13.0" + checksum: ea74dc129ed0a6c77ce9a767c66f38aceba62e0b3950d8edc93790c5098688b133f34e6df7b67912a812d277735c2127935b9f783ca45b91f618fcd9c2ce5061 + languageName: node + linkType: hard + "ssri@npm:^10.0.0, ssri@npm:^10.0.6": version: 10.0.6 resolution: "ssri@npm:10.0.6" @@ -10921,15 +10009,6 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" - dependencies: - minipass: ^7.0.3 - checksum: ef4b6b0ae47b4a69896f5f1c4375f953b9435388c053c36d27998bc3d73e046969ccde61ab659e679142971a0b08e50478a1228f62edb994105b280f17900c98 - languageName: node - linkType: hard - "stream-browserify@npm:^3.0.0": version: 3.0.0 resolution: "stream-browserify@npm:3.0.0" @@ -10940,16 +10019,6 @@ __metadata: languageName: node linkType: hard -"stream-combiner@npm:^0.2.2": - version: 0.2.2 - resolution: "stream-combiner@npm:0.2.2" - dependencies: - duplexer: ~0.1.1 - through: ~2.3.4 - checksum: 5d3f4f6dd3604b3c5acf16150eabbbd131247378b54719c39cac5b5793150a92842306f662b58df65f2bd2e64bf8081f21449489591fed440c2b280021474e7d - languageName: node - linkType: hard - "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -11022,7 +10091,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": +"string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -11095,13 +10164,6 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:~2.0.1": - version: 2.0.1 - resolution: "strip-json-comments@npm:2.0.1" - checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 - languageName: node - linkType: hard - "strong-log-transformer@npm:2.1.0": version: 2.1.0 resolution: "strong-log-transformer@npm:2.1.0" @@ -11115,16 +10177,6 @@ __metadata: languageName: node linkType: hard -"strtok3@npm:^6.2.4": - version: 6.3.0 - resolution: "strtok3@npm:6.3.0" - dependencies: - "@tokenizer/token": ^0.3.0 - peek-readable: ^4.1.0 - checksum: 90732cff3f325aef7c47c511f609b593e0873ec77b5081810071cde941344e6a0ee3ccb0cae1a9f5b4e12c81a2546fd6b322fabcdfbd1dd08362c2ce5291334a - languageName: node - linkType: hard - "style-loader@npm:^3.3.1, style-loader@npm:~3.3.1": version: 3.3.4 resolution: "style-loader@npm:3.3.4" @@ -11221,19 +10273,7 @@ __metadata: languageName: node linkType: hard -"tar-fs@npm:^2.0.0": - version: 2.1.2 - resolution: "tar-fs@npm:2.1.2" - dependencies: - chownr: ^1.1.1 - mkdirp-classic: ^0.5.2 - pump: ^3.0.0 - tar-stream: ^2.1.4 - checksum: 6b4fcd38a644b5cd3325f687b9f1f48cd19809b63cbc8376fe794f68361849a17120d036833b3a97de6acb1df588844476309b8c2d0bcaf53f19da2d56ac07de - languageName: node - linkType: hard - -"tar-stream@npm:^2.1.4, tar-stream@npm:~2.2.0": +"tar-stream@npm:~2.2.0": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" dependencies: @@ -11260,20 +10300,6 @@ __metadata: languageName: node linkType: hard -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" - dependencies: - "@isaacs/fs-minipass": ^4.0.0 - chownr: ^3.0.0 - minipass: ^7.1.2 - minizlib: ^3.0.1 - mkdirp: ^3.0.1 - yallist: ^5.0.0 - checksum: 8485350c0688331c94493031f417df069b778aadb25598abdad51862e007c39d1dd5310702c7be4a6784731a174799d8885d2fde0484269aea205b724d7b2ffa - languageName: node - linkType: hard - "temp-dir@npm:1.0.0": version: 1.0.0 resolution: "temp-dir@npm:1.0.0" @@ -11375,7 +10401,7 @@ __metadata: languageName: node linkType: hard -"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3, through@npm:~2.3.4": +"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd @@ -11392,16 +10418,6 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.12": - version: 0.2.13 - resolution: "tinyglobby@npm:0.2.13" - dependencies: - fdir: ^6.4.4 - picomatch: ^4.0.2 - checksum: 3a2e87a2518cb3616057b0aa58be4f17771ae78c6890556516ae1e631f8ce4cfee1ba1dcb62fcc54a64e2bdd6c3104f4f3d021e1a3e3f8fb0875bca380b913e5 - languageName: node - linkType: hard - "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -11427,16 +10443,6 @@ __metadata: languageName: node linkType: hard -"token-types@npm:^4.1.1": - version: 4.2.1 - resolution: "token-types@npm:4.2.1" - dependencies: - "@tokenizer/token": ^0.3.0 - ieee754: ^1.2.1 - checksum: cce256766b33e0f08ceffefa2198fb4961a417866d00780e58625999ab5c0699821407053e64eadc41b00bbb6c0d0c4d02fbd2199940d8a3ccb71e1b148ab9a2 - languageName: node - linkType: hard - "tr46@npm:^2.1.0": version: 2.1.0 resolution: "tr46@npm:2.1.0" @@ -11494,7 +10500,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.13.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0": +"tslib@npm:^1.13.0, tslib@npm:^1.8.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd @@ -11530,15 +10536,6 @@ __metadata: languageName: node linkType: hard -"tunnel-agent@npm:^0.6.0": - version: 0.6.0 - resolution: "tunnel-agent@npm:0.6.0" - dependencies: - safe-buffer: ^5.0.1 - checksum: 05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711 - languageName: node - linkType: hard - "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -11731,15 +10728,6 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" - dependencies: - unique-slug: ^5.0.0 - checksum: 6a62094fcac286b9ec39edbd1f8f64ff92383baa430af303dfed1ffda5e47a08a6b316408554abfddd9730c78b6106bef4ca4d02c1231a735ddd56ced77573df - languageName: node - linkType: hard - "unique-slug@npm:^4.0.0": version: 4.0.0 resolution: "unique-slug@npm:4.0.0" @@ -11749,15 +10737,6 @@ __metadata: languageName: node linkType: hard -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" - dependencies: - imurmurhash: ^0.1.4 - checksum: 222d0322bc7bbf6e45c08967863212398313ef73423f4125e075f893a02405a5ffdbaaf150f7dd1e99f8861348a486dd079186d27c5f2c60e465b7dcbb1d3e5b - languageName: node - linkType: hard - "universal-user-agent@npm:^6.0.0": version: 6.0.1 resolution: "universal-user-agent@npm:6.0.1" @@ -11819,7 +10798,7 @@ __metadata: languageName: node linkType: hard -"util@npm:^0.12.5": +"util@npm:^0.12.4, util@npm:^0.12.5": version: 0.12.5 resolution: "util@npm:0.12.5" dependencies: @@ -12114,13 +11093,6 @@ __metadata: languageName: node linkType: hard -"webworkify@npm:1.5.0": - version: 1.5.0 - resolution: "webworkify@npm:1.5.0" - checksum: 426c10e0b94cac0678aed05fdf1abce98e8e11a523380537bab99fcd63df7c4b71b3630e61ab8052fdbd8d6e55e53700523b423cd475b258f95be5189d8cde49 - languageName: node - linkType: hard - "whatwg-mimetype@npm:^2.3.0": version: 2.3.0 resolution: "whatwg-mimetype@npm:2.3.0" @@ -12243,17 +11215,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" - dependencies: - isexe: ^3.1.1 - bin: - node-which: bin/which.js - checksum: 6ec99e89ba32c7e748b8a3144e64bfc74aa63e2b2eacbb61a0060ad0b961eb1a632b08fb1de067ed59b002cec3e21de18299216ebf2325ef0f78e0f121e14e90 - languageName: node - linkType: hard - "wide-align@npm:1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" @@ -12270,13 +11231,6 @@ __metadata: languageName: node linkType: hard -"wkt-parser@npm:^1.3.1, wkt-parser@npm:^1.5.1": - version: 1.5.2 - resolution: "wkt-parser@npm:1.5.2" - checksum: 0055b11008bf47c390ae7c517ee3e2aa093b0c1149c8039c2d86d3dd3d33908e3ead31839addfbcd3fa4abf035348fc192cfae985296848f8eb6644c810108c9 - languageName: node - linkType: hard - "wkt-parser@npm:^1.4.0": version: 1.4.0 resolution: "wkt-parser@npm:1.4.0" @@ -12284,15 +11238,6 @@ __metadata: languageName: node linkType: hard -"wkx@npm:0.4.8": - version: 0.4.8 - resolution: "wkx@npm:0.4.8" - dependencies: - "@types/node": "*" - checksum: c11a165d3d2effe0764eb04f2cb634528a485b2215aa373ca535bded9bfe016a107f3e96fd99b6f771e579b0603a378f4746d68661b22e70929660eb6b01dd69 - languageName: node - linkType: hard - "word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" @@ -12470,13 +11415,6 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: eba51182400b9f35b017daa7f419f434424410691bbc5de4f4240cc830fdef906b504424992700dc047f16b4d99100a6f8b8b11175c193f38008e9c96322b6a5 - languageName: node - linkType: hard - "yaml@npm:^2.6.0": version: 2.7.1 resolution: "yaml@npm:2.7.1" From 973d27cdfe9523edc08761f494534e560df3f8ce Mon Sep 17 00:00:00 2001 From: elifsu Date: Fri, 11 Jul 2025 14:58:13 +0200 Subject: [PATCH 05/26] Fix copying sql wasm --- python/jupytergis_core/package.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/python/jupytergis_core/package.json b/python/jupytergis_core/package.json index 372081622..d9ca0fc19 100644 --- a/python/jupytergis_core/package.json +++ b/python/jupytergis_core/package.json @@ -28,8 +28,8 @@ "scripts": { "build": "jlpm build:lib && jlpm build:labextension:dev", "build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension", - "build:labextension": "jupyter labextension build .", - "build:labextension:dev": "jupyter labextension build --development True .", + "build:labextension": "jupyter labextension build . && jlpm cp:sqlwasm", + "build:labextension:dev": "jupyter labextension build --development True . && jlpm cp:sqlwasm", "build:lib": "tsc --sourceMap", "build:lib:prod": "tsc", "build:dev": "jlpm run build", @@ -43,8 +43,7 @@ "install:extension": "jlpm build", "lint": "jlpm stylelint && jlpm prettier && jlpm eslint", "lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check", - "prebuild:labextension": "cp ../../node_modules/sql.js/dist/sql-wasm.wasm static/", - "prebuild:build:labextension:dev": "cp ../../node_modules/sql.js/dist/sql-wasm.wasm static/", + "cp:sqlwasm": "cp ../../node_modules/sql.js/dist/sql-wasm.wasm jupytergis_core/labextension/static", "prettier": "jlpm prettier:base --write", "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"", "prettier:check": "jlpm prettier:base --check", From e8cc15c3405aa4db38752044bf0938ab9ac5c2ee Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 14 Jul 2025 14:10:15 +0200 Subject: [PATCH 06/26] Load local file --- .../base/src/formbuilder/creationform.tsx | 3 +- packages/base/src/mainview/mainView.tsx | 6 +++- packages/base/src/tools.ts | 28 ++++++++++--------- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index 48015e0b3..17d0690d5 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -164,7 +164,8 @@ export class CreationForm extends React.Component { const tableMap = await loadGeoPackageFile( source.path, - source.projection + source.projection, + source.path ); for (const tableName of Object.keys(tableMap)) { diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index f56306e46..6e5cfa2a3 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -709,7 +709,11 @@ export class MainView extends React.Component { } const projection = this._Map.getView().getProjection().getCode(); - const tableMap = await loadGeoPackageFile(parameters.path, projection); + const tableMap = await loadGeoPackageFile( + parameters.path, + projection, + parameters.path + ); const table = tableMap[parameters.table]; const vectorSource = table.source; diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 9d56a94f0..0453719e2 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -496,11 +496,12 @@ const cache = new Map>(); export function loadGeoPackageFile( filepath: string, - projection: string + projection: string, + cache_filename: string ): Promise { - if (!cache.has(filepath)) { + if (!cache.has(cache_filename)) { cache.set( - filepath, + cache_filename, (async () => { const [tables, slds] = await loadGpkg(filepath, projection); const tableMap: TableMap = {}; @@ -514,13 +515,7 @@ export function loadGeoPackageFile( })() ); } - return cache.get(filepath)!; -} - -export interface IGpkgLayer { - name: string; - source: Source; - sld?: string; + return cache.get(cache_filename)!; } /** @@ -609,7 +604,7 @@ export const loadFile = async (fileInfo: { if (!projection) { throw new Error(`Projection is not specified for ${filepath}`); } - return loadGeoPackageFile(filepath, projection); + return loadGeoPackageFile(filepath, projection, filepath); } default: { @@ -679,8 +674,14 @@ export const loadFile = async (fileInfo: { } case 'GeoPackageSource': { - //TODO: currently used library function (loadGpkg from 'ol-load-geopackage') takes URL as argument - throw new Error('Please provide URL of the source.'); + const projection = model.sharedModel.options.projection; + if (!projection) { + throw new Error(`Projection is not specified for ${filepath}`); + } + + const blob = await base64ToBlob(file.content, getMimeType(filepath)); + const url = URL.createObjectURL(blob); + return loadGeoPackageFile(url, projection, filepath); } default: { @@ -754,6 +755,7 @@ export const MIME_TYPES: { [ext: string]: string } = { '.etx': 'text/x-setext', '.exe': 'application/octet-stream', '.gif': 'image/gif', + '.gpkg': 'application/geopackage+vnd.sqlite3', '.gtar': 'application/x-gtar', '.h': 'text/plain', '.hdf': 'application/x-hdf', From aace235dcba757c12b607c0235c8cefb8b9eb3bc Mon Sep 17 00:00:00 2001 From: elifsu Date: Tue, 15 Jul 2025 13:08:23 +0200 Subject: [PATCH 07/26] Read gpkg URLs in Python API --- .../project/sources/geoPackageSource.json | 5 ++ .../jupytergis_lab/notebook/gis_document.py | 89 +++++++++++++------ 2 files changed, 68 insertions(+), 26 deletions(-) diff --git a/packages/schema/src/schema/project/sources/geoPackageSource.json b/packages/schema/src/schema/project/sources/geoPackageSource.json index 7e2e78b08..2d1f8fa69 100644 --- a/packages/schema/src/schema/project/sources/geoPackageSource.json +++ b/packages/schema/src/schema/project/sources/geoPackageSource.json @@ -19,6 +19,11 @@ "type": "string", "description": "The projection information for the GeoPackage data (optional).", "default": "EPSG:4326" + }, + "table": { + "type": "string", + "description": "The name of the table in the GeoPackage to use as a source.", + "default": "" } } } diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py index dd624ac0b..d1a50d082 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py @@ -2,6 +2,7 @@ import json import logging +import uuid from pathlib import Path from typing import Any, Dict, List, Literal, Optional, Union from uuid import uuid4 @@ -11,6 +12,9 @@ from sidecar import Sidecar from ypywidgets.comm import CommWidget +import sqlite3 +from urllib.request import urlopen, Request + from jupytergis_core.schema import ( IGeoJSONSource, IGeoPackageSource, @@ -39,6 +43,30 @@ def reversed_tree(root): return reversed([reversed_tree(el) for el in root]) return root +def _isURL(path: str) -> bool: + return path.startswith("http://") or path.startswith("https://") + +def _download_file(url: str, ext:str) -> str: + filename = f"downloaded_{uuid.uuid4().hex[:8]}.{ext}" + + req = Request(url, headers={"User-Agent": "python-urllib"}) + with urlopen(req) as resp, open(filename, "wb") as out: + out.write(resp.read()) + + return filename + + +def _get_gpkg_layers(gpkg_path: str) -> list[str]: + if _isURL(gpkg_path): + gpkg_path = _download_file(gpkg_path, "gpkg") + + conn = sqlite3.connect(gpkg_path) + cursor = conn.cursor() + cursor.execute("""SELECT table_name FROM gpkg_contents WHERE data_type = 'features'""") + layers = [row[0] for row in cursor.fetchall()] + conn.close() + return layers + class GISDocument(CommWidget): """ @@ -563,33 +591,42 @@ def add_geopackage_layer( :param color_expr: The style expression used to style the layer """ - source = { - "type": SourceType.GeoPackageSource, - "name": f"{name} Source", - "parameters": {"path": path}, - } + table_names = _get_gpkg_layers(path) + layer_ids = [] - source_id = self._add_source(OBJECT_FACTORY.create_source(source, self)) + for table_name in table_names: + source = { + "type": SourceType.GeoPackageSource, + "name": f"{name} {table_name} Source", + "parameters": {"path": path, 'table': table_name}, + } - layer = { - "type": LayerType.VectorLayer, - "name": name, - "visible": True, - "parameters": { - "source": source_id, - "type": type, - "opacity": opacity, - "color": color_expr, - }, - "filters": { - "appliedFilters": [ - {"feature": feature, "operator": operator, "value": value} - ], - "logicalOp": logical_op, - }, - } + source_id = str(uuid4()) + '/' + str(table_name) + + self._add_source(OBJECT_FACTORY.create_source(source, self), source_id) + + layer = { + "type": LayerType.VectorLayer, + "name": f"{name} {table_name} Layer", + "visible": True, + "parameters": { + "source": source_id, + "type": type, + "opacity": opacity, + "color": color_expr, + }, + "filters": { + "appliedFilters": [ + {"feature": feature, "operator": operator, "value": value} + ], + "logicalOp": logical_op, + }, + } - return self._add_layer(OBJECT_FACTORY.create_layer(layer, self)) + layer_id = str(uuid4()) + '/' + str(table_name) + layer_ids.append(self._add_layer(OBJECT_FACTORY.create_layer(layer, self), layer_id)) + + return layer_ids def remove_layer(self, layer_id: str): """ @@ -789,8 +826,8 @@ def _add_source(self, new_object: "JGISObject", id: str | None = None) -> str: self._sources[_id] = obj_dict return _id - def _add_layer(self, new_object: "JGISObject") -> str: - _id = str(uuid4()) + def _add_layer(self, new_object: "JGISObject", id: str | None = None) -> str: + _id = str(uuid4()) if id is None else id obj_dict = json.loads(new_object.json()) self._layers[_id] = obj_dict self._layerTree.append(_id) From 4300039443c3ed4ec75e015ed77c76aced91dcf2 Mon Sep 17 00:00:00 2001 From: elifsu Date: Tue, 15 Jul 2025 15:06:00 +0200 Subject: [PATCH 08/26] Read gpkg local files in Python API --- .../base/src/formbuilder/creationform.tsx | 12 +++-- packages/base/src/mainview/mainView.tsx | 11 ++--- packages/base/src/tools.ts | 13 +++--- .../project/sources/geoPackageSource.json | 4 +- .../jupytergis_lab/notebook/gis_document.py | 43 ++++++------------ .../jupytergis_lab/notebook/utils.py | 44 ++++++++++++++++++- 6 files changed, 74 insertions(+), 53 deletions(-) diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index 17d0690d5..31b27be32 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -162,13 +162,11 @@ export class CreationForm extends React.Component { return; } - const tableMap = await loadGeoPackageFile( - source.path, - source.projection, - source.path - ); + const tableNames: string[] = source.tables + ? source.tables.split(",").map((s: string) => s.trim()).filter(Boolean) + : Object.keys(await loadGeoPackageFile(source.path, source.projection, source.path)); - for (const tableName of Object.keys(tableMap)) { + for (const tableName of tableNames) { const childId = `${sourceId}/${tableName}`; if (this.props.createSource) { @@ -177,7 +175,7 @@ export class CreationForm extends React.Component { name: `${source.name} ${tableName} Source`, parameters: { path: source.path, - table: tableName + tables: tableName } }; this.props.model.sharedModel.addSource(childId, sourceModel); diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index 6e5cfa2a3..436e65f05 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -702,19 +702,14 @@ export class MainView extends React.Component { throw new Error('GeoPackageSource has no parameters'); } - if (parameters.vectorSource) { - //TODO: parameters.vectorSource is always undefined - newSource = parameters.vectorSource; - break; - } - const projection = this._Map.getView().getProjection().getCode(); const tableMap = await loadGeoPackageFile( parameters.path, projection, - parameters.path + parameters.path, + parameters.tables ); - const table = tableMap[parameters.table]; + const table = tableMap[parameters.tables]; const vectorSource = table.source; parameters.vectorSource = vectorSource; diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 0453719e2..19585e5c7 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -497,7 +497,8 @@ const cache = new Map>(); export function loadGeoPackageFile( filepath: string, projection: string, - cache_filename: string + cache_filename: string, + tables?: string[] ): Promise { if (!cache.has(cache_filename)) { cache.set( @@ -506,10 +507,12 @@ export function loadGeoPackageFile( const [tables, slds] = await loadGpkg(filepath, projection); const tableMap: TableMap = {}; for (const name of Object.keys(tables)) { - tableMap[name] = { - source: tables[name] as Source, - sld: slds[name] - }; + if (name in tables){ + tableMap[name] = { + source: tables[name] as Source, + sld: slds[name] + }; + } } return tableMap; })() diff --git a/packages/schema/src/schema/project/sources/geoPackageSource.json b/packages/schema/src/schema/project/sources/geoPackageSource.json index 2d1f8fa69..1a6479e74 100644 --- a/packages/schema/src/schema/project/sources/geoPackageSource.json +++ b/packages/schema/src/schema/project/sources/geoPackageSource.json @@ -20,9 +20,9 @@ "description": "The projection information for the GeoPackage data (optional).", "default": "EPSG:4326" }, - "table": { + "tables": { "type": "string", - "description": "The name of the table in the GeoPackage to use as a source.", + "description": "The names of the tables in the GeoPackage to use as a source (optional). If left empty, all tables will be used.", "default": "" } } diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py index d1a50d082..cb6356d1d 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py @@ -2,7 +2,6 @@ import json import logging -import uuid from pathlib import Path from typing import Any, Dict, List, Literal, Optional, Union from uuid import uuid4 @@ -12,9 +11,6 @@ from sidecar import Sidecar from ypywidgets.comm import CommWidget -import sqlite3 -from urllib.request import urlopen, Request - from jupytergis_core.schema import ( IGeoJSONSource, IGeoPackageSource, @@ -34,6 +30,7 @@ LayerType, SourceType, ) +from jupytergis_lab.notebook.utils import get_gpkg_layers, isURL, file_to_data_url logger = logging.getLogger(__file__) @@ -43,30 +40,6 @@ def reversed_tree(root): return reversed([reversed_tree(el) for el in root]) return root -def _isURL(path: str) -> bool: - return path.startswith("http://") or path.startswith("https://") - -def _download_file(url: str, ext:str) -> str: - filename = f"downloaded_{uuid.uuid4().hex[:8]}.{ext}" - - req = Request(url, headers={"User-Agent": "python-urllib"}) - with urlopen(req) as resp, open(filename, "wb") as out: - out.write(resp.read()) - - return filename - - -def _get_gpkg_layers(gpkg_path: str) -> list[str]: - if _isURL(gpkg_path): - gpkg_path = _download_file(gpkg_path, "gpkg") - - conn = sqlite3.connect(gpkg_path) - cursor = conn.cursor() - cursor.execute("""SELECT table_name FROM gpkg_contents WHERE data_type = 'features'""") - layers = [row[0] for row in cursor.fetchall()] - conn.close() - return layers - class GISDocument(CommWidget): """ @@ -569,6 +542,7 @@ def add_heatmap_layer( def add_geopackage_layer( self, path: str, + table_names: list[str] | str | None = None, name: str = "GeoPackage Layer", type: "circle" | "fill" | "line" = "line", opacity: float = 1, @@ -581,6 +555,7 @@ def add_geopackage_layer( """ Add a GeoPackage Layer to the document :param path: The path to the GeoPackage file to embed into the jGIS file. + :param table_names: A list of table names to create layers for. :param name: The name that will be used for the object in the document. :param type: The type of the vector layer to create. :param opacity: The opacity, between 0 and 1. @@ -591,14 +566,22 @@ def add_geopackage_layer( :param color_expr: The style expression used to style the layer """ - table_names = _get_gpkg_layers(path) + if isinstance(table_names, str): + table_names = [part.strip() for part in table_names.split(',')] + + if not table_names: + table_names = get_gpkg_layers(path) + layer_ids = [] + if not isURL(path): + path = file_to_data_url(path, mime="application/geopackage+sqlite3") + for table_name in table_names: source = { "type": SourceType.GeoPackageSource, "name": f"{name} {table_name} Source", - "parameters": {"path": path, 'table': table_name}, + "parameters": {"path": path, 'tables': table_name}, } source_id = str(uuid4()) + '/' + str(table_name) diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/utils.py b/python/jupytergis_lab/jupytergis_lab/notebook/utils.py index 064d09c97..f8eb644eb 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/utils.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/utils.py @@ -1,6 +1,10 @@ +import base64 +import sqlite3 +import uuid from enum import Enum +from pathlib import Path from urllib.parse import urljoin -import requests +from urllib.request import Request, urlopen class MESSAGE_ACTION(str, Enum): @@ -15,3 +19,41 @@ def multi_urljoin(*parts) -> str: parts[0], "/".join(part for part in parts[1:]), ) + + +def isURL(path: str) -> bool: + return path.startswith("http://") or path.startswith("https://") + + +def download_file(url: str, ext:str) -> str: + filename = f"downloaded_{uuid.uuid4().hex[:8]}.{ext}" + + req = Request(url, headers={"User-Agent": "python-urllib"}) + with urlopen(req) as resp, open(filename, "wb") as out: + out.write(resp.read()) + + return filename + + +def get_gpkg_layers(gpkg_path: str) -> list[str]: + if isURL(gpkg_path): + gpkg_path = download_file(gpkg_path, "gpkg") + + conn = sqlite3.connect(gpkg_path) + cursor = conn.cursor() + cursor.execute("""SELECT table_name FROM gpkg_contents WHERE data_type = 'features'""") + layers = [row[0] for row in cursor.fetchall()] + conn.close() + return layers + + +def file_to_data_url(path: str, mime:str=None) -> str: + p = Path(path) + + if mime is None: + mime = "application/octet-stream" + + data = p.read_bytes() + b64 = base64.b64encode(data).decode("ascii") + + return f"data:{mime};base64,{b64}" \ No newline at end of file From 74a680dd4d9beb2bb9d8857bb14d90f8ca6949d8 Mon Sep 17 00:00:00 2001 From: elifsu Date: Wed, 16 Jul 2025 15:58:04 +0200 Subject: [PATCH 09/26] Add gpkg raster layers from local files --- packages/base/package.json | 1 + packages/base/src/commands.ts | 30 +- packages/base/src/constants.ts | 6 +- .../base/src/formbuilder/creationform.tsx | 17 +- .../base/src/formbuilder/formselectors.ts | 5 +- packages/base/src/mainview/mainView.tsx | 56 +- packages/base/src/menus.ts | 7 +- packages/base/src/tools.ts | 123 +- packages/schema/src/schema/project/jgis.json | 3 +- ...ource.json => geoPackageRasterSource.json} | 4 +- .../sources/geoPackageVectorSource.json | 29 + packages/schema/src/types.ts | 3 +- .../jupytergis_core/schema/__init__.py | 3 +- python/jupytergis_core/src/plugin.ts | 5 + yarn.lock | 2462 ++++++++++++----- 15 files changed, 2010 insertions(+), 744 deletions(-) rename packages/schema/src/schema/project/sources/{geoPackageSource.json => geoPackageRasterSource.json} (90%) create mode 100644 packages/schema/src/schema/project/sources/geoPackageVectorSource.json diff --git a/packages/base/package.json b/packages/base/package.json index d5742e1bf..1e97cd96f 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -63,6 +63,7 @@ "@lumino/widgets": "^2.0.0", "@mapbox/vector-tile": "^2.0.3", "@naisutech/react-tree": "^3.0.1", + "@ngageoint/geopackage": "^4.2.6", "@rjsf/core": "^4.2.0", "@rjsf/validator-ajv8": "^5.23.1", "ajv": "^8.14.0", diff --git a/packages/base/src/commands.ts b/packages/base/src/commands.ts index e31d2c0d8..d0af578c1 100644 --- a/packages/base/src/commands.ts +++ b/packages/base/src/commands.ts @@ -528,7 +528,7 @@ export function addCommands( }), ...icons.get(CommandIDs.newShapefileEntry) }); - commands.addCommand(CommandIDs.newGeoPackageEntry, { + commands.addCommand(CommandIDs.newGeoPackageVectorEntry, { label: trans.__('New GeoPackage Layer'), isEnabled: () => { return tracker.currentWidget @@ -541,12 +541,32 @@ export function addCommands( title: 'Create GeoPackage Layer', createLayer: true, createSource: true, - sourceData: { name: 'Custom GeoPackage Source' }, - layerData: { name: 'Custom GeoPackage Layer' }, - sourceType: 'GeoPackageSource', + sourceData: { name: 'Custom GeoPackage Vector Source' }, + layerData: { name: 'Custom GeoPackage Vector Layer' }, + sourceType: 'GeoPackageVectorSource', layerType: 'VectorLayer' }), - ...icons.get(CommandIDs.newGeoPackageEntry) + ...icons.get(CommandIDs.newGeoPackageVectorEntry) + }); + commands.addCommand(CommandIDs.newGeoPackageRasterEntry, { + label: trans.__('New GeoPackage Layer'), + isEnabled: () => { + return tracker.currentWidget + ? tracker.currentWidget.model.sharedModel.editable + : false; + }, + execute: Private.createEntry({ + tracker, + formSchemaRegistry, + title: 'Create GeoPackage Layer', + createLayer: true, + createSource: true, + sourceData: { name: 'Custom GeoPackage Raster Source' }, + layerData: { name: 'Custom GeoPackage Raster Layer' }, + sourceType: 'GeoPackageRasterSource', + layerType: 'RasterLayer' + }), + ...icons.get(CommandIDs.newGeoPackageRasterEntry) }); /** diff --git a/packages/base/src/constants.ts b/packages/base/src/constants.ts index 17f1c060a..7a7dc1997 100644 --- a/packages/base/src/constants.ts +++ b/packages/base/src/constants.ts @@ -36,7 +36,8 @@ export namespace CommandIDs { export const newImageEntry = 'jupytergis:newImageEntry'; export const newVideoEntry = 'jupytergis:newVideoEntry'; export const newGeoTiffEntry = 'jupytergis:newGeoTiffEntry'; - export const newGeoPackageEntry = 'jupytergis:newGeoPackageEntry'; + export const newGeoPackageVectorEntry = 'jupytergis:newGeoPackageVectorEntry'; + export const newGeoPackageRasterEntry = 'jupytergis:newGeoPackageRasterEntry'; // Processing commands export const buffer = 'jupytergis:buffer'; @@ -96,7 +97,8 @@ const iconObject = { [CommandIDs.newHillshadeEntry]: { icon: moundIcon }, [CommandIDs.newImageEntry]: { iconClass: 'fa fa-image' }, [CommandIDs.newVideoEntry]: { iconClass: 'fa fa-video' }, - [CommandIDs.newGeoPackageEntry]: { icon: geoPackageIcon }, + [CommandIDs.newGeoPackageVectorEntry]: { icon: geoPackageIcon }, + [CommandIDs.newGeoPackageRasterEntry]: { icon: geoPackageIcon }, [CommandIDs.newShapefileEntry]: { iconClass: 'fa fa-file' }, [CommandIDs.newGeoTiffEntry]: { iconClass: 'fa fa-image' }, [CommandIDs.symbology]: { iconClass: 'fa fa-brush' }, diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index 31b27be32..7c02684fe 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -8,7 +8,7 @@ import { SourceType } from '@jupytergis/schema'; -import { deepCopy, loadGeoPackageFile } from '../tools'; +import { deepCopy, getGeoPackageTableNames } from '../tools'; import { Dialog } from '@jupyterlab/apputils'; import { PromiseDelegate, UUID } from '@lumino/coreutils'; @@ -154,7 +154,7 @@ export class CreationForm extends React.Component { // Perform the layer/source creation Promise.all(creationPromises).then(async () => { // We add multiple tables from GeoPackage file as different sources and layers - if (this.props.sourceType === 'GeoPackageSource') { + if (this.props.sourceType === 'GeoPackageVectorSource' || this.props.sourceType === 'GeoPackageRasterSource') { const source = await sourceCreationPromise?.promise; if (!source) { @@ -163,15 +163,15 @@ export class CreationForm extends React.Component { } const tableNames: string[] = source.tables - ? source.tables.split(",").map((s: string) => s.trim()).filter(Boolean) - : Object.keys(await loadGeoPackageFile(source.path, source.projection, source.path)); + ? source.tables.split(',').map((s: string) => s.trim()).filter(Boolean) + : await getGeoPackageTableNames(source.path, this.props.sourceType, this.jGISModel); for (const tableName of tableNames) { const childId = `${sourceId}/${tableName}`; if (this.props.createSource) { const sourceModel: IJGISSource = { - type: this.props.sourceType || 'GeoPackageSource', + type: this.props.sourceType, name: `${source.name} ${tableName} Source`, parameters: { path: source.path, @@ -182,16 +182,19 @@ export class CreationForm extends React.Component { } if (this.props.createLayer) { const layerModel: IJGISLayer = { - type: this.props.layerType || 'VectorLayer', + type: this.props.layerType + || (this.props.sourceType === 'GeoPackageVectorSource' + ? 'VectorLayer' : 'RasterLayer'), parameters: { source: childId }, visible: true, - name: `${source.name} ${tableName} Layer` + name: `${source.name} ${tableName} Layer`, }; this.jGISModel.addLayer(UUID.uuid4(), layerModel); } } return; } + if (this.props.createSource) { let actualName = ''; const { name, ...sourceData } = diff --git a/packages/base/src/formbuilder/formselectors.ts b/packages/base/src/formbuilder/formselectors.ts index aa5e18ee3..3d6406258 100644 --- a/packages/base/src/formbuilder/formselectors.ts +++ b/packages/base/src/formbuilder/formselectors.ts @@ -59,7 +59,10 @@ export function getSourceTypeForm( case 'VectorTileSource': SourceForm = TileSourcePropertiesForm; break; - case 'GeoPackageSource': + case 'GeoPackageVectorSource': + SourceForm = PathBasedSourcePropertiesForm; + break; + case 'GeoPackageRasterSource': SourceForm = PathBasedSourcePropertiesForm; break; // ADD MORE FORM TYPES HERE diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index 436e65f05..41a1472de 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -60,7 +60,7 @@ import { transformExtent } from 'ol/proj'; import { get as getProjection } from 'ol/proj.js'; -import { register } from 'ol/proj/proj4.js'; +//import { register } from 'ol/proj/proj4.js'; import RenderFeature from 'ol/render/Feature'; import { GeoTIFF as GeoTIFFSource, @@ -79,7 +79,7 @@ import * as React from 'react'; import AnnotationFloater from '../annotations/components/AnnotationFloater'; import { CommandIDs } from '../constants'; import StatusBar from '../statusbar/StatusBar'; -import { loadGeoPackageFile, isLightTheme, loadFile, throttle } from '../tools'; +import { isLightTheme, loadFile, throttle } from '../tools'; import CollaboratorPointers, { ClientPointer } from './CollaboratorPointers'; import { FollowIndicator } from './FollowIndicator'; import TemporalSlider from './TemporalSlider'; @@ -695,27 +695,59 @@ export class MainView extends React.Component { break; } - case 'GeoPackageSource': { + case 'GeoPackageVectorSource': { const parameters = source.parameters; if (!parameters) { throw new Error('GeoPackageSource has no parameters'); } - const projection = this._Map.getView().getProjection().getCode(); - const tableMap = await loadGeoPackageFile( - parameters.path, - projection, - parameters.path, - parameters.tables - ); + const tableMap = await loadFile({ + filepath: parameters.path, + type: 'GeoPackageVectorSource', + model: this._model + }); + const table = tableMap[parameters.tables]; const vectorSource = table.source; - parameters.vectorSource = vectorSource; + //parameters.vectorSource = vectorSource; safe to delete? newSource = vectorSource; break; } + + case 'GeoPackageRasterSource': { + const parameters = source.parameters; + + if (!parameters) { + throw new Error('GeoPackageSource has no parameters'); + } + + const tableMap = await loadFile({ + filepath: parameters.path, + type: 'GeoPackageRasterSource', + model: this._model + }); + + const {gpr, tileDao} = tableMap[parameters.tables]; + + const rasterSource = new XYZSource({ + wrapX: false, + minZoom: tileDao.minWebMapZoom, + maxZoom: tileDao.maxWebMapZoom, + url: "{z},{x},{y}", + tileLoadFunction(tile: any, src) { + const [z, x, y] = src.split(",").map(Number); + gpr + .getTile(x, y, z) + .then((dataUri: any) => (tile.getImage().src = dataUri)); + }, + }); + + newSource = rasterSource; + break; + } + } newSource.set('id', id); @@ -996,7 +1028,7 @@ export class MainView extends React.Component { try { proj4.defs([proj4list[projectionCode]]); - register(proj4); + //register(proj4); //TODO: this is happening because we updated proj4 library } catch (error: any) { console.warn( `Failed to register projection '${projectionCode}'. Error: ${error.message}` diff --git a/packages/base/src/menus.ts b/packages/base/src/menus.ts index 991f6ad71..c508d503d 100644 --- a/packages/base/src/menus.ts +++ b/packages/base/src/menus.ts @@ -28,7 +28,7 @@ export const vectorSubMenu = (commands: CommandRegistry) => { subMenu.addItem({ type: 'command', - command: CommandIDs.newGeoPackageEntry + command: CommandIDs.newGeoPackageVectorEntry }); return subMenu; @@ -61,5 +61,10 @@ export const rasterSubMenu = (commands: CommandRegistry) => { command: CommandIDs.newGeoTiffEntry }); + subMenu.addItem({ + type: 'command', + command: CommandIDs.newGeoPackageRasterEntry + }); + return subMenu; }; diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 19585e5c7..a5d702c55 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -9,6 +9,8 @@ import * as d3Color from 'd3-color'; import shp from 'shpjs'; import { getGdal } from './gdal'; import loadGpkg from 'ol-load-geopackage'; +import { GeoPackageAPI, GeoPackageTileRetriever } from '@ngageoint/geopackage'; + import { IDict, @@ -491,36 +493,101 @@ export const loadGeoTiff = async ( }; }; -type TableMap = Record; +type TableMap = Record; const cache = new Map>(); -export function loadGeoPackageFile( +export function loadGeoPackageVectorFile( filepath: string, projection: string, cache_filename: string, - tables?: string[] ): Promise { if (!cache.has(cache_filename)) { - cache.set( - cache_filename, - (async () => { + const loader = (async (): Promise => { + try { + console.log(filepath, projection); const [tables, slds] = await loadGpkg(filepath, projection); + console.log('done'); const tableMap: TableMap = {}; for (const name of Object.keys(tables)) { - if (name in tables){ - tableMap[name] = { - source: tables[name] as Source, - sld: slds[name] - }; - } + tableMap[name] = { + source: tables[name] as Source, + sld: slds[name], + }; } return tableMap; - })() - ); + } catch (e: any) { + showErrorMessage('Failed to load gpkg file', e); + throw e; + } + })(); + cache.set(cache_filename, loader); } return cache.get(cache_filename)!; } + +export function loadGeoPackageRasterFile( + filepath: string, + projection: string, //TODO + cache_filename: string, + uintarray :any +) { +if (!cache.has(cache_filename)) { + const loader = (async (): Promise => { + try { + const geoPackage = await GeoPackageAPI.open(uintarray); + const tileTables = geoPackage.getTileTables(); + const tableMap: TableMap = {}; + + tileTables.forEach(table => { + console.log('tablename',table); + const tileDao = geoPackage.getTileDao(table); + console.log('tileDao',tileDao); + tableMap[table] = {gpr: new GeoPackageTileRetriever(tileDao, 256, 256), tileDao: tileDao}; + console.log('tableMap[table]', tableMap[table]); + } ) + + console.log('tablemap', tableMap); + return tableMap; + } catch (e: any) { + showErrorMessage('Failed to load gpkg file', e); + throw e; + } + })(); + cache.set(cache_filename, loader); +} +return cache.get(cache_filename)!; +} + +export async function getGeoPackageTableNames( + filepath: string, + type: 'GeoPackageVectorSource' | 'GeoPackageRasterSource', + model: IJupyterGISModel, +){ + + let geoPackage; + + if (filepath.startsWith('https://') || filepath.startsWith('https://')) { + geoPackage = await GeoPackageAPI.open(filepath); + } + else { + const file = await model.contentsManager!.get(filepath, { + content: true + }); + const arrayBuffer = await stringToArrayBuffer(file.content) + const bytes = new Uint8Array(arrayBuffer); + geoPackage = await GeoPackageAPI.open(bytes); + } + + + if (type === 'GeoPackageVectorSource') { + return geoPackage.getFeatureTables(); + } else { + return geoPackage.getTileTables(); + } +} + + /** * Generalized file reader for different source types. * @@ -602,12 +669,20 @@ export const loadFile = async (fileInfo: { throw new Error(`Failed to fetch ${filepath}`); } - case 'GeoPackageSource': { + case 'GeoPackageVectorSource': { const projection = model.sharedModel.options.projection; if (!projection) { throw new Error(`Projection is not specified for ${filepath}`); } - return loadGeoPackageFile(filepath, projection, filepath); + return loadGeoPackageVectorFile(filepath, projection, filepath+'Vector'); + } + + case 'GeoPackageRasterSource': { + const projection = model.sharedModel.options.projection; + if (!projection) { + throw new Error(`Projection is not specified for ${filepath}`); + } + return loadGeoPackageRasterFile(filepath, '', filepath, filepath+'Raster'); } default: { @@ -676,7 +751,7 @@ export const loadFile = async (fileInfo: { } } - case 'GeoPackageSource': { + case 'GeoPackageVectorSource': { const projection = model.sharedModel.options.projection; if (!projection) { throw new Error(`Projection is not specified for ${filepath}`); @@ -684,7 +759,19 @@ export const loadFile = async (fileInfo: { const blob = await base64ToBlob(file.content, getMimeType(filepath)); const url = URL.createObjectURL(blob); - return loadGeoPackageFile(url, projection, filepath); + return loadGeoPackageVectorFile(url, projection, filepath+'Vector'); + } + + case 'GeoPackageRasterSource': { + const projection = model.sharedModel.options.projection; + if (!projection) { + throw new Error(`Projection is not specified for ${filepath}`); + } + + const arrayBuffer = await stringToArrayBuffer(file.content); + const bytes = new Uint8Array(arrayBuffer); + + return loadGeoPackageRasterFile(filepath, '', filepath+'Raster', bytes); } default: { diff --git a/packages/schema/src/schema/project/jgis.json b/packages/schema/src/schema/project/jgis.json index 71a571424..bbf32d7f4 100644 --- a/packages/schema/src/schema/project/jgis.json +++ b/packages/schema/src/schema/project/jgis.json @@ -54,7 +54,8 @@ "ImageSource", "ShapefileSource", "GeoTiffSource", - "GeoPackageSource" + "GeoPackageVectorSource", + "GeoPackageRasterSource" ] }, "jGISLayer": { diff --git a/packages/schema/src/schema/project/sources/geoPackageSource.json b/packages/schema/src/schema/project/sources/geoPackageRasterSource.json similarity index 90% rename from packages/schema/src/schema/project/sources/geoPackageSource.json rename to packages/schema/src/schema/project/sources/geoPackageRasterSource.json index 1a6479e74..5485c478c 100644 --- a/packages/schema/src/schema/project/sources/geoPackageSource.json +++ b/packages/schema/src/schema/project/sources/geoPackageRasterSource.json @@ -1,7 +1,7 @@ { "type": "object", - "description": "GeoPackageSource", - "title": "IGeoPackageSource", + "description": "GeoPackageRasterSource", + "title": "IGeoPackageRasterSource", "required": ["path"], "additionalProperties": false, "properties": { diff --git a/packages/schema/src/schema/project/sources/geoPackageVectorSource.json b/packages/schema/src/schema/project/sources/geoPackageVectorSource.json new file mode 100644 index 000000000..41b5dc76d --- /dev/null +++ b/packages/schema/src/schema/project/sources/geoPackageVectorSource.json @@ -0,0 +1,29 @@ +{ + "type": "object", + "description": "GeoPackageVectorSource", + "title": "IGeoPackageVectorSource", + "required": ["path"], + "additionalProperties": false, + "properties": { + "path": { + "type": "string", + "description": "The path to the GeoPackage source" + }, + "attribution": { + "type": "string", + "readOnly": true, + "description": "The attribution for the GeoPackage source.", + "default": "" + }, + "projection": { + "type": "string", + "description": "The projection information for the GeoPackage data (optional).", + "default": "EPSG:4326" + }, + "tables": { + "type": "string", + "description": "The names of the tables in the GeoPackage to use as a source (optional). If left empty, all tables will be used.", + "default": "" + } + } +} diff --git a/packages/schema/src/types.ts b/packages/schema/src/types.ts index 39c320b79..e6f7ae12b 100644 --- a/packages/schema/src/types.ts +++ b/packages/schema/src/types.ts @@ -1,7 +1,8 @@ export * from './_interface/project/jgis'; // Sources -export * from './_interface/project/sources/geoPackageSource'; +export * from './_interface/project/sources/geoPackageVectorSource'; +export * from './_interface/project/sources/geoPackageRasterSource'; export * from './_interface/project/sources/geoTiffSource'; export * from './_interface/geojsonsource'; export * from './_interface/project/sources/imageSource'; diff --git a/python/jupytergis_core/jupytergis_core/schema/__init__.py b/python/jupytergis_core/jupytergis_core/schema/__init__.py index 3aef6436a..c56652c63 100644 --- a/python/jupytergis_core/jupytergis_core/schema/__init__.py +++ b/python/jupytergis_core/jupytergis_core/schema/__init__.py @@ -15,7 +15,8 @@ from .interfaces.project.sources.imageSource import IImageSource # noqa from .interfaces.project.sources.geoTiffSource import IGeoTiffSource # noqa from .interfaces.project.sources.rasterDemSource import IRasterDemSource # noqa -from .interfaces.project.sources.geoPackageSource import IGeoPackageSource # noqa +from .interfaces.project.sources.geoPackageVectorSource import IGeoPackageVectorSource # noqa +from .interfaces.project.sources.geoPackageRasterSource import IGeoPackageRasterSource # noqa from .interfaces.processing.buffer import IBuffer # noqa diff --git a/python/jupytergis_core/src/plugin.ts b/python/jupytergis_core/src/plugin.ts index 87c9ee85b..3027f1429 100644 --- a/python/jupytergis_core/src/plugin.ts +++ b/python/jupytergis_core/src/plugin.ts @@ -25,6 +25,11 @@ import { JupyterGISExternalCommandRegistry } from './externalcommand'; import { JupyterGISLayerBrowserRegistry } from './layerBrowserRegistry'; import { JupyterGISFormSchemaRegistry } from './schemaregistry'; +import { SqljsAdapter } from '@ngageoint/geopackage'; +import wasmURL from 'rtree-sql.js/dist/sql-wasm.wasm'; + +SqljsAdapter.setSqljsWasmLocateFile(() => wasmURL); + const NAME_SPACE = 'jupytergis'; export const trackerPlugin: JupyterFrontEndPlugin = { diff --git a/yarn.lock b/yarn.lock index c787b0508..26a9fd3c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,25 +40,32 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/generator@npm:7.27.1" - dependencies: - "@babel/parser": ^7.27.1 - "@babel/types": ^7.27.1 - "@jridgewell/gen-mapping": ^0.3.5 - "@jridgewell/trace-mapping": ^0.3.25 +"@babel/generator@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/generator@npm:7.28.0" + dependencies: + "@babel/parser": ^7.28.0 + "@babel/types": ^7.28.0 + "@jridgewell/gen-mapping": ^0.3.12 + "@jridgewell/trace-mapping": ^0.3.28 jsesc: ^3.0.2 - checksum: d5e220eb20aca1d93aef85c4c716237f84c5aab7d3ed8dfeb7060dcd73d20c593a687fe74cfb6d3dc1604ef9faff2ca24e6cfdb1af18e03e3a5f9f63a04c0bdc + checksum: 3fc9ecca7e7a617cf7b7357e11975ddfaba4261f374ab915f5d9f3b1ddc8fd58da9f39492396416eb08cf61972d1aa13c92d4cca206533c553d8651c2740f07f languageName: node linkType: hard "@babel/helper-annotate-as-pure@npm:^7.22.5": - version: 7.27.1 - resolution: "@babel/helper-annotate-as-pure@npm:7.27.1" + version: 7.27.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: - "@babel/types": ^7.27.1 - checksum: 3f8e4d591458d6c0621a3d670f8798b8895580214287390126e3e621ddf3df0bd07cbcc9500c2671b9ec10162c2f9feb1194da5cf039d40df8cb69d181fc0cd8 + "@babel/types": ^7.27.3 + checksum: 63863a5c936ef82b546ca289c9d1b18fabfc24da5c4ee382830b124e2e79b68d626207febc8d4bffc720f50b2ee65691d7d12cc0308679dee2cd6bdc926b7190 + languageName: node + linkType: hard + +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: d8d7b91c12dad1ee747968af0cb73baf91053b2bcf78634da2c2c4991fb45ede9bd0c8f9b5f3254881242bc0921218fcb7c28ae885477c25177147e978ce4397 languageName: node linkType: hard @@ -93,14 +100,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.27.1, @babel/parser@npm:^7.27.2": - version: 7.27.2 - resolution: "@babel/parser@npm:7.27.2" +"@babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/parser@npm:7.28.0" dependencies: - "@babel/types": ^7.27.1 + "@babel/types": ^7.28.0 bin: parser: ./bin/babel-parser.js - checksum: 1ac70a75028f1cc10eefb10ed2d83cf700ca3e1ddb4cf556a003fc5c4ca53ae83350bbb8065020fcc70d476fcf7bf1c17191b72384f719614ae18397142289cf + checksum: 718e4ce9b0914701d6f74af610d3e7d52b355ef1dcf34a7dedc5930e96579e387f04f96187e308e601828b900b8e4e66d2fe85023beba2ac46587023c45b01cf languageName: node linkType: hard @@ -115,7 +122,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.27.1": +"@babel/template@npm:^7.27.2": version: 7.27.2 resolution: "@babel/template@npm:7.27.2" dependencies: @@ -127,27 +134,27 @@ __metadata: linkType: hard "@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.4.5": - version: 7.27.1 - resolution: "@babel/traverse@npm:7.27.1" + version: 7.28.0 + resolution: "@babel/traverse@npm:7.28.0" dependencies: "@babel/code-frame": ^7.27.1 - "@babel/generator": ^7.27.1 - "@babel/parser": ^7.27.1 - "@babel/template": ^7.27.1 - "@babel/types": ^7.27.1 + "@babel/generator": ^7.28.0 + "@babel/helper-globals": ^7.28.0 + "@babel/parser": ^7.28.0 + "@babel/template": ^7.27.2 + "@babel/types": ^7.28.0 debug: ^4.3.1 - globals: ^11.1.0 - checksum: 7ea3ec36a65e734f2921f5dba6f417f5dd0c90eb44a60f6addbacbbedb44e8c82eba415a74feb7d6df58e351519b81b11b6ca3c0c7c41a3f73ebeaf6895a826c + checksum: f1b6ed2a37f593ee02db82521f8d54c8540a7ec2735c6c127ba687de306d62ac5a7c6471819783128e0b825c4f7e374206ebbd1daf00d07f05a4528f5b1b4c07 languageName: node linkType: hard -"@babel/types@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/types@npm:7.27.1" +"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.0": + version: 7.28.1 + resolution: "@babel/types@npm:7.28.1" dependencies: "@babel/helper-string-parser": ^7.27.1 "@babel/helper-validator-identifier": ^7.27.1 - checksum: 357c13f37aaa2f2e2cfcdb63f986d5f7abc9f38df20182b620ace34387d2460620415770fe5856eb54d70c9f0ba2f71230d29465e789188635a948476b830ae4 + checksum: da49a23f86e36f4e4d996a648949a97b9387bae4d1fed747e9fd4bf0dd2a6d11302b6f70f2d00fe58dc12e090f47792596ee76e8def1c52f25d6806cd3a32d7f languageName: node linkType: hard @@ -176,12 +183,12 @@ __metadata: linkType: hard "@codemirror/lang-cpp@npm:^6.0.2": - version: 6.0.2 - resolution: "@codemirror/lang-cpp@npm:6.0.2" + version: 6.0.3 + resolution: "@codemirror/lang-cpp@npm:6.0.3" dependencies: "@codemirror/language": ^6.0.0 "@lezer/cpp": ^1.0.0 - checksum: bb9eba482cca80037ce30c7b193cf45eff19ccbb773764fddf2071756468ecc25aa53c777c943635054f89095b0247b9b50c339e107e41e68d34d12a7295f9a9 + checksum: 982b9a9624367a0086520e1d499b7ad2fba2a14bdd57df88520bac279bd980e12154fd281659226fbcfa530edb5dd72edd114481365e6224bf53e97bc972f3b8 languageName: node linkType: hard @@ -216,18 +223,18 @@ __metadata: linkType: hard "@codemirror/lang-java@npm:^6.0.1": - version: 6.0.1 - resolution: "@codemirror/lang-java@npm:6.0.1" + version: 6.0.2 + resolution: "@codemirror/lang-java@npm:6.0.2" dependencies: "@codemirror/language": ^6.0.0 "@lezer/java": ^1.0.0 - checksum: 4679104683cbffcd224ac04c7e5d144b787494697b26470b07017259035b7bb3fa62609d9a61bfbc566f1756d9f972f9f26d96a3c1362dd48881c1172f9a914d + checksum: ed884f5e1a90c0d487bc4e5073c6154f3abf51b0b652c3d015e8cb322e171a38307427a85ecc16d5be82bd3243577e77e202325d84394a9c5ac356ee358c56c9 languageName: node linkType: hard "@codemirror/lang-javascript@npm:^6.0.0, @codemirror/lang-javascript@npm:^6.2.3": - version: 6.2.3 - resolution: "@codemirror/lang-javascript@npm:6.2.3" + version: 6.2.4 + resolution: "@codemirror/lang-javascript@npm:6.2.4" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/language": ^6.6.0 @@ -236,23 +243,23 @@ __metadata: "@codemirror/view": ^6.17.0 "@lezer/common": ^1.0.0 "@lezer/javascript": ^1.0.0 - checksum: c56407ddedc80e417dd105a39f11f837fad6fd4d91fe7934c61e48c54227350e4e8f940f81d26030a6c4ff9da16f734361cd1eaed63ba22aadf71fcf6172cbd5 + checksum: 0350e9ac2df155c4ecf75d556f40b677c284c1d320620dc7228e2aa458e258dd1145c86e5ebf3451347ed6ef528f72c2eb60f5d3f6bd10af8aabb2819109e21a languageName: node linkType: hard "@codemirror/lang-json@npm:^6.0.1": - version: 6.0.1 - resolution: "@codemirror/lang-json@npm:6.0.1" + version: 6.0.2 + resolution: "@codemirror/lang-json@npm:6.0.2" dependencies: "@codemirror/language": ^6.0.0 "@lezer/json": ^1.0.0 - checksum: e9e87d50ff7b81bd56a6ab50740b1dd54e9a93f1be585e1d59d0642e2148842ea1528ac7b7221eb4ddc7fe84bbc28065144cc3ab86f6e06c6aeb2d4b4e62acf1 + checksum: ccdf71a4f339b9e40310c40c4677c31b8bf2284291becc056b7d5b30382107cd7ab65f1a3c108331c0fc7b5fc7ec2e3fe6e5029957ff978d7b7bfb759f68d921 languageName: node linkType: hard "@codemirror/lang-markdown@npm:^6.3.2": - version: 6.3.2 - resolution: "@codemirror/lang-markdown@npm:6.3.2" + version: 6.3.3 + resolution: "@codemirror/lang-markdown@npm:6.3.3" dependencies: "@codemirror/autocomplete": ^6.7.1 "@codemirror/lang-html": ^6.0.0 @@ -261,49 +268,49 @@ __metadata: "@codemirror/view": ^6.0.0 "@lezer/common": ^1.2.1 "@lezer/markdown": ^1.0.0 - checksum: f136d50156f13619d7ceb4fae28fc2342064be371a6cb057ba304658d885cf029d2d0d69b03b3c591c86a2c9b46bb2b3820549d5ff936a9b6aabaf692923c84a + checksum: bd4cebc3691b8522281202e88aa00633e8bf82c176b505aac69148b646f5dc37d1d3b99e12f26bd1b808eb1a09085bb3b3a7dccbfa367415dd50b5626a2651a5 languageName: node linkType: hard "@codemirror/lang-php@npm:^6.0.1": - version: 6.0.1 - resolution: "@codemirror/lang-php@npm:6.0.1" + version: 6.0.2 + resolution: "@codemirror/lang-php@npm:6.0.2" dependencies: "@codemirror/lang-html": ^6.0.0 "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.0.0 "@lezer/common": ^1.0.0 "@lezer/php": ^1.0.0 - checksum: c003a29a426486453fdfddbf7302982fa2aa7f059bf6f1ce4cbf08341b0162eee5e2f50e0d71c418dcd358491631780156d846fe352754d042576172c5d86721 + checksum: e0cb6287c5a8898dc5637dadfbbd591ed6c2aaef1fc4db1426646ab0f8e48e4c7254899fc9c1864ee1f1e917d5888e447d1ab87300d896de2b9472f5ad6a888d languageName: node linkType: hard "@codemirror/lang-python@npm:^6.2.0": - version: 6.2.0 - resolution: "@codemirror/lang-python@npm:6.2.0" + version: 6.2.1 + resolution: "@codemirror/lang-python@npm:6.2.1" dependencies: "@codemirror/autocomplete": ^6.3.2 "@codemirror/language": ^6.8.0 "@codemirror/state": ^6.0.0 "@lezer/common": ^1.2.1 "@lezer/python": ^1.1.4 - checksum: 2326932a59af8c56dc4e8a621f542a59944b93d4e5f50b23dab65d15486cc7a59a6f5fe11595ac478974270084db4770942621dbd834021247f34f2d34063757 + checksum: 977ce444ab7c68261107c40e8a46d3480a239ac5a093f39fad7da0644fc08cb4b90552c8b7fad396f936e34b5bbac510533ea7b4229d3b8271774a1af1e717aa languageName: node linkType: hard "@codemirror/lang-rust@npm:^6.0.1": - version: 6.0.1 - resolution: "@codemirror/lang-rust@npm:6.0.1" + version: 6.0.2 + resolution: "@codemirror/lang-rust@npm:6.0.2" dependencies: "@codemirror/language": ^6.0.0 "@lezer/rust": ^1.0.0 - checksum: 8a439944cb22159b0b3465ca4fa4294c69843219d5d30e278ae6df8e48f30a7a9256129723c025ec9b5e694d31a3560fb004300b125ffcd81c22d13825845170 + checksum: 4cb7528c723ec3f421bd82a5324c56d836f3675e3b28e2b2d3c9d251e8f206bf9d932d52696c310dca51d71644063441fb8330d5ad1278c68002f8598b4bc067 languageName: node linkType: hard "@codemirror/lang-sql@npm:^6.8.0": - version: 6.8.0 - resolution: "@codemirror/lang-sql@npm:6.8.0" + version: 6.9.0 + resolution: "@codemirror/lang-sql@npm:6.9.0" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/language": ^6.0.0 @@ -311,7 +318,7 @@ __metadata: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 - checksum: 1b5a3c8129b09f24039d8c0906fc4cb8d0f706a424a1d56721057bd1e647797c2b1240bb53eed9bf2bac5806a4e0363e555a3963f04c478efa05829890c537f7 + checksum: aca08c11b519f962e9a59e14dc6f54102deaa7a15a390c2dc50401234d33a1fd0c5d2436e6f1810a0363b6f2649480d28eb16a10a7e3f4221ffa3f130ef0672e languageName: node linkType: hard @@ -342,8 +349,8 @@ __metadata: linkType: hard "@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.11.0, @codemirror/language@npm:^6.3.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0, @codemirror/language@npm:^6.8.0": - version: 6.11.0 - resolution: "@codemirror/language@npm:6.11.0" + version: 6.11.2 + resolution: "@codemirror/language@npm:6.11.2" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.23.0 @@ -351,7 +358,7 @@ __metadata: "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 style-mod: ^4.0.0 - checksum: 5556dc163d5bd1d771a4f64e2750d3d1dc1f39030bc6e4b9a4704e4de7501e8d3511002e0f8f96cd8deef782730e0b49b576e30f0ea820e1c632995bd75caddd + checksum: fa61f77fd63315d0e5fd22c7ee16bc677934272cccfca1584dfbcb5ad6fd2134dfa85f120ca2149bab12f80e170569157f9acde36e8adf4bd43daf4708ecf2ac languageName: node linkType: hard @@ -376,13 +383,13 @@ __metadata: linkType: hard "@codemirror/search@npm:^6.5.10": - version: 6.5.10 - resolution: "@codemirror/search@npm:6.5.10" + version: 6.5.11 + resolution: "@codemirror/search@npm:6.5.11" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.0.0 crelt: ^1.0.5 - checksum: a30048004ce7cc1ee77a7618485ab5399939eab72b64329d57be98245ea39cb68ba54ad944ee679cc2aeac5bf9f202b2073ad0916f0788497fb64a07073399e8 + checksum: 4d418f176bd93705bc51c82a2f1c0e41fecc0368dc43c415635c4dfdd763aa05ebdf7f000bc9ca0083c1887e6d305b89482ec1f4db8b8765c6f38de324187476 languageName: node linkType: hard @@ -396,13 +403,14 @@ __metadata: linkType: hard "@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0, @codemirror/view@npm:^6.36.6": - version: 6.36.7 - resolution: "@codemirror/view@npm:6.36.7" + version: 6.38.1 + resolution: "@codemirror/view@npm:6.38.1" dependencies: "@codemirror/state": ^6.5.0 + crelt: ^1.0.6 style-mod: ^4.1.0 w3c-keyname: ^2.2.4 - checksum: aac0bf5e0dc244a9a4bbfab8f0ded042d776fc3c3e2ba42bad9fa2357d814e2c95636b792d582290a15c1ec9bb30e186616f07dc24dd8278da9f10721a0b469d + checksum: a6432f1cf4a9a400eb66619d33b2841d986024677fc95c564b283f7e896fe43b17d7665ca7816b9f6b01a44522d76b928aac8f8778ddd9dfb313b125e2c31643 languageName: node linkType: hard @@ -414,30 +422,30 @@ __metadata: linkType: hard "@emnapi/core@npm:^1.1.0": - version: 1.4.3 - resolution: "@emnapi/core@npm:1.4.3" + version: 1.4.4 + resolution: "@emnapi/core@npm:1.4.4" dependencies: - "@emnapi/wasi-threads": 1.0.2 + "@emnapi/wasi-threads": 1.0.3 tslib: ^2.4.0 - checksum: 1c757d380b3cecec637a2eccfb31b770b995060f695d1e15b29a86e2038909a24152947ef6e4b6586759e6716148ff17f40e51367d1b79c9a3e1b6812537bdf4 + checksum: de9acfb0c0af0f5171f95dcd5425837efa471b9722d768b91d8f5148969992bc2ac6e2231cf1ab2dff63c5d405e4655132aa607b3ed2de6bd3f633bbeed2ce03 languageName: node linkType: hard "@emnapi/runtime@npm:^1.1.0": - version: 1.4.3 - resolution: "@emnapi/runtime@npm:1.4.3" + version: 1.4.4 + resolution: "@emnapi/runtime@npm:1.4.4" dependencies: tslib: ^2.4.0 - checksum: ff2074809638ed878e476ece370c6eae7e6257bf029a581bb7a290488d8f2a08c420a65988c7f03bfc6bb689218f0cd995d2f935bd182150b357fc2341142f4f + checksum: 49490b2630d258401af9d2fc6cfc4d302fe92e1557761380a9ce495a2d78aea67fb4dcb3f523eee396b24896548bce2b9d9e4cea01b62730cf527a47a52189da languageName: node linkType: hard -"@emnapi/wasi-threads@npm:1.0.2": - version: 1.0.2 - resolution: "@emnapi/wasi-threads@npm:1.0.2" +"@emnapi/wasi-threads@npm:1.0.3": + version: 1.0.3 + resolution: "@emnapi/wasi-threads@npm:1.0.3" dependencies: tslib: ^2.4.0 - checksum: c289cd3d0e26f11de23429a4abc7f99927917c0871d5a22637cbb75170f2b58d3a42e80d76dea89d054e529f79e35cdc953324819a7f990305d0db2897fa5fab + checksum: 3b12c4f29980a84a1c9b9733d4e05ed2930ae7261de8d06f2637c97eaeb4473841327eed30b0c2399582dd9125f07497ad50b787857aa8b9d14e409a2907008a languageName: node linkType: hard @@ -545,7 +553,7 @@ __metadata: languageName: node linkType: hard -"@fortawesome/react-fontawesome@latest": +"@fortawesome/react-fontawesome@npm:latest": version: 0.2.2 resolution: "@fortawesome/react-fontawesome@npm:0.2.2" dependencies: @@ -603,6 +611,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: ^7.0.4 + checksum: 5d36d289960e886484362d9eb6a51d1ea28baed5f5d0140bbe62b99bac52eaf06cc01c2bc0d3575977962f84f6b2c4387b043ee632216643d4787b0999465bf2 + languageName: node + linkType: hard + "@isaacs/string-locale-compare@npm:^1.1.0": version: 1.1.0 resolution: "@isaacs/string-locale-compare@npm:1.1.0" @@ -619,14 +636,13 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.8 - resolution: "@jridgewell/gen-mapping@npm:0.3.8" +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.12 + resolution: "@jridgewell/gen-mapping@npm:0.3.12" dependencies: - "@jridgewell/set-array": ^1.2.1 - "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/sourcemap-codec": ^1.5.0 "@jridgewell/trace-mapping": ^0.3.24 - checksum: c0687b5227461717aa537fe71a42e356bcd1c43293b3353796a148bf3b0d6f59109def46c22f05b60e29a46f19b2e4676d027959a7c53a6c92b9d5b0d87d0420 + checksum: 56ee1631945084897f274e65348afbaca7970ce92e3c23b3a23b2fe5d0d2f0c67614f0df0f2bb070e585e944bbaaf0c11cee3a36318ab8a36af46f2fd566bc40 languageName: node linkType: hard @@ -637,37 +653,30 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 - languageName: node - linkType: hard - "@jridgewell/source-map@npm:^0.3.3": - version: 0.3.6 - resolution: "@jridgewell/source-map@npm:0.3.6" + version: 0.3.10 + resolution: "@jridgewell/source-map@npm:0.3.10" dependencies: "@jridgewell/gen-mapping": ^0.3.5 "@jridgewell/trace-mapping": ^0.3.25 - checksum: c9dc7d899397df95e3c9ec287b93c0b56f8e4453cd20743e2b9c8e779b1949bc3cccf6c01bb302779e46560eb45f62ea38d19fedd25370d814734268450a9f30 + checksum: 035d6e6df0e60744506b14033f1569fd5ddc269abeb68bf50c2911118e2a4fa50dab474d49a59a993e4ee6795c4ae5940381e0d09fc204972c5387788d22d010 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 05df4f2538b3b0f998ea4c1cd34574d0feba216fa5d4ccaef0187d12abf82eafe6021cec8b49f9bb4d90f2ba4582ccc581e72986a5fcf4176ae0cfeb04cf52ec +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.4 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.4" + checksum: 959093724bfbc7c1c9aadc08066154f5c1f2acc647b45bd59beec46922cbfc6a9eda4a2114656de5bc00bb3600e420ea9a4cb05e68dcf388619f573b77bd9f0c languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.29 + resolution: "@jridgewell/trace-mapping@npm:0.3.29" dependencies: "@jridgewell/resolve-uri": ^3.1.0 "@jridgewell/sourcemap-codec": ^1.4.14 - checksum: 9d3c40d225e139987b50c48988f8717a54a8c994d8a948ee42e1412e08988761d0754d7d10b803061cc3aebf35f92a5dbbab493bd0e1a9ef9e89a2130e83ba34 + checksum: 5e92eeafa5131a4f6b7122063833d657f885cb581c812da54f705d7a599ff36a75a4a093a83b0f6c7e95642f5772dd94753f696915e8afea082237abf7423ca3 languageName: node linkType: hard @@ -713,8 +722,8 @@ __metadata: linkType: hard "@jupyter/ydoc@npm:^2.0.0 || ^3.0.0, @jupyter/ydoc@npm:^2.0.0 || ^3.0.0-a3, @jupyter/ydoc@npm:^2.1.3 || ^3.0.0, @jupyter/ydoc@npm:^3.0.4": - version: 3.0.5 - resolution: "@jupyter/ydoc@npm:3.0.5" + version: 3.1.0 + resolution: "@jupyter/ydoc@npm:3.1.0" dependencies: "@jupyterlab/nbformat": ^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0 "@lumino/coreutils": ^1.11.0 || ^2.0.0 @@ -722,7 +731,7 @@ __metadata: "@lumino/signaling": ^1.10.0 || ^2.0.0 y-protocols: ^1.0.5 yjs: ^13.5.40 - checksum: a4f8074790e34b649e581e093806ec84ccfdcd676735d35efdba74e93114c5ff3d40e5909322ce7fc7acd0faf379ecfb8979ab88af1db9705d74b0eff4e1c75c + checksum: 7f2423752395ec590ed46754c10c87db4f5b804aa9608ef2869f52872e9a29cb5f9e32908325efb221d9ce4fad642a1f7e0dbb8f2ee40c352b8380e46ccba93d languageName: node linkType: hard @@ -756,6 +765,7 @@ __metadata: "@lumino/widgets": ^2.0.0 "@mapbox/vector-tile": ^2.0.3 "@naisutech/react-tree": ^3.0.1 + "@ngageoint/geopackage": ^4.2.6 "@rjsf/core": ^4.2.0 "@rjsf/validator-ajv8": ^5.23.1 "@types/colormap": ^2.3.4 @@ -934,19 +944,19 @@ __metadata: linkType: soft "@jupyterlab/application@npm:^4.0.0, @jupyterlab/application@npm:^4.3.0": - version: 4.4.2 - resolution: "@jupyterlab/application@npm:4.4.2" + version: 4.4.4 + resolution: "@jupyterlab/application@npm:4.4.4" dependencies: "@fortawesome/fontawesome-free": ^5.12.0 - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/docregistry": ^4.4.2 - "@jupyterlab/rendermime": ^4.4.2 - "@jupyterlab/rendermime-interfaces": ^3.12.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/statedb": ^4.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/docregistry": ^4.4.4 + "@jupyterlab/rendermime": ^4.4.4 + "@jupyterlab/rendermime-interfaces": ^3.12.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/statedb": ^4.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/application": ^2.4.4 "@lumino/commands": ^2.3.2 @@ -957,23 +967,23 @@ __metadata: "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 - checksum: c67840bcf9e82c42f70418bff9f9fdbf75bcf28a1017a0d78618d11ac4ea5f024f086c8c51621e861434c41aad89aa70e25bf46adf1b713f01707a1273e7d666 + checksum: 2fa77fdaccee449b029c36b5a07500c39da11aff46e8ef2b6ee59b8518d628c71053b8c06beae12b4745b0af698074a0d9909ed1e8211d49134e8c4b88da622b languageName: node linkType: hard "@jupyterlab/apputils@npm:^4.0.0": - version: 4.5.2 - resolution: "@jupyterlab/apputils@npm:4.5.2" - dependencies: - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/rendermime-interfaces": ^3.12.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/settingregistry": ^4.4.2 - "@jupyterlab/statedb": ^4.4.2 - "@jupyterlab/statusbar": ^4.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + version: 4.5.4 + resolution: "@jupyterlab/apputils@npm:4.5.4" + dependencies: + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/rendermime-interfaces": ^3.12.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/settingregistry": ^4.4.4 + "@jupyterlab/statedb": ^4.4.4 + "@jupyterlab/statusbar": ^4.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 @@ -986,27 +996,27 @@ __metadata: "@types/react": ^18.0.26 react: ^18.2.0 sanitize-html: ~2.12.1 - checksum: db58c8c947ade2fe5d277c14aed332628c78bd621d374feb99de76111b8993c01249e8789334014547bde03c01ff914f2f1c6ef7afc56c9b10152061ab81fc26 + checksum: 7fe4506f7c105c9f4b7d36c5e20c57ef33722bccf6b262b334eea86b7660070620978c0adddd1007911066ce2a14dfc22502f1efd4a33e911042720ae652cdd5 languageName: node linkType: hard -"@jupyterlab/attachments@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/attachments@npm:4.4.2" +"@jupyterlab/attachments@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/attachments@npm:4.4.4" dependencies: - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/rendermime": ^4.4.2 - "@jupyterlab/rendermime-interfaces": ^3.12.2 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/rendermime": ^4.4.4 + "@jupyterlab/rendermime-interfaces": ^3.12.4 "@lumino/disposable": ^2.1.4 "@lumino/signaling": ^2.1.4 - checksum: 927979d7ce8e30ed407576da4fa55545bda75ea0c3bfed2240ec7fe154dbe1e857650a3d7c936b16eb1fa1eb3defc04b6fdcc42e52d1c5e7816bb4d46cafc17b + checksum: a258bd8a953d555341c2bd4b44dd902e5297885a7ba75439b8039081db51e546e29aecdee8689ed159eed20689a12b67036dbe700736792f6382be3977cc38e7 languageName: node linkType: hard "@jupyterlab/builder@npm:^4.3.0": - version: 4.4.2 - resolution: "@jupyterlab/builder@npm:4.4.2" + version: 4.4.4 + resolution: "@jupyterlab/builder@npm:4.4.4" dependencies: "@lumino/algorithm": ^2.0.3 "@lumino/application": ^2.4.4 @@ -1041,32 +1051,32 @@ __metadata: worker-loader: ^3.0.2 bin: build-labextension: lib/build-labextension.js - checksum: e88d19e12f00586c7a42c744ed242c8192dded2f8961343c6d8d325b4363b9660f85942a406ceaf4ae2ef6b98a5a9071587cff99a13907b7a7cdb18af60de015 + checksum: 7b9689a55212799b7945d2fdcf84bc0a63bfe321733afebaeff3c5de347aac1adfee596de2600c10c27c6c2cfd6c8cc394d90f2d8cc795baab38ff78c4f37ea6 languageName: node linkType: hard -"@jupyterlab/cells@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/cells@npm:4.4.2" +"@jupyterlab/cells@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/cells@npm:4.4.4" dependencies: "@codemirror/state": ^6.5.2 "@codemirror/view": ^6.36.6 "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/attachments": ^4.4.2 - "@jupyterlab/codeeditor": ^4.4.2 - "@jupyterlab/codemirror": ^4.4.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/documentsearch": ^4.4.2 - "@jupyterlab/filebrowser": ^4.4.2 - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/outputarea": ^4.4.2 - "@jupyterlab/rendermime": ^4.4.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/toc": ^6.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/attachments": ^4.4.4 + "@jupyterlab/codeeditor": ^4.4.4 + "@jupyterlab/codemirror": ^4.4.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/documentsearch": ^4.4.4 + "@jupyterlab/filebrowser": ^4.4.4 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/outputarea": ^4.4.4 + "@jupyterlab/rendermime": ^4.4.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/toc": ^6.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/domutils": ^2.0.3 @@ -1077,23 +1087,23 @@ __metadata: "@lumino/virtualdom": ^2.0.3 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: b847a66159f2cb30b50e5d26a4b980ca8b1849cb2ec8ef10ff7d2d9d04d874f1de5093c07606c21c4eb9495dd5be4eb6380bb6361f792829b6ea194aa3ee7dd4 + checksum: 8a5f45cb08c417566809ec0f58196062b2b26e801bbeaa5cb919b0f710086317c9745973a8c5d3b333bdaba0fd91dfeabacdd874cb44deaf4b5e68feebeb7820 languageName: node linkType: hard -"@jupyterlab/codeeditor@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/codeeditor@npm:4.4.2" +"@jupyterlab/codeeditor@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/codeeditor@npm:4.4.4" dependencies: "@codemirror/state": ^6.5.2 "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/statusbar": ^4.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/statusbar": ^4.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/dragdrop": ^2.1.6 @@ -1101,13 +1111,13 @@ __metadata: "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 377d37d9a401741b29f5d385eddb569683026b2a3a357b4119f287167424fe8591723d2c590ecfb605024e3965b9088c92a9105a8f7685bc45a96311864f394e + checksum: 5ba5ce9015297a019df22fe33ad94d399d2352a3b4e8f932d684fe4bbff4c65c8d96afb3c9015eaafa623aa1d237bc36668ffe848832ef631ff972b1e852d3f4 languageName: node linkType: hard -"@jupyterlab/codemirror@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/codemirror@npm:4.4.2" +"@jupyterlab/codemirror@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/codemirror@npm:4.4.4" dependencies: "@codemirror/autocomplete": ^6.18.6 "@codemirror/commands": ^6.8.1 @@ -1130,11 +1140,11 @@ __metadata: "@codemirror/state": ^6.5.2 "@codemirror/view": ^6.36.6 "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/codeeditor": ^4.4.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/documentsearch": ^4.4.2 - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/codeeditor": ^4.4.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/documentsearch": ^4.4.4 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/translation": ^4.4.4 "@lezer/common": ^1.2.1 "@lezer/generator": ^1.7.0 "@lezer/highlight": ^1.2.0 @@ -1143,27 +1153,27 @@ __metadata: "@lumino/disposable": ^2.1.4 "@lumino/signaling": ^2.1.4 yjs: ^13.5.40 - checksum: 659a3e1ea5987b4d87c664af409fd40702d8c8109996850b2048e760e7239122d9cc9e4996ca4580069642239215a2964b7d54ca3d85252497dc241f49e765e2 + checksum: eda449dbd891dcb34285621683939d176bb5474bb45aab268c0aae93719508258a5f859df18ff4fcd6c2966f6840869730ec11dde7aa28bb1580ca691d86bf07 languageName: node linkType: hard "@jupyterlab/completer@npm:^4.3.0": - version: 4.4.2 - resolution: "@jupyterlab/completer@npm:4.4.2" + version: 4.4.4 + resolution: "@jupyterlab/completer@npm:4.4.4" dependencies: "@codemirror/state": ^6.5.2 "@codemirror/view": ^6.36.6 "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/codeeditor": ^4.4.2 - "@jupyterlab/codemirror": ^4.4.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/rendermime": ^4.4.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/settingregistry": ^4.4.2 - "@jupyterlab/statedb": ^4.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/codeeditor": ^4.4.4 + "@jupyterlab/codemirror": ^4.4.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/rendermime": ^4.4.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/settingregistry": ^4.4.4 + "@jupyterlab/statedb": ^4.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1171,38 +1181,38 @@ __metadata: "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 - checksum: acbd4ad52910995020c61b89cdc268c081e44dc04be6fb8ad34603b6fb736187d8df28e82fca324271873007a75b1719a2078a3b01016d573af89b90edda9e62 + checksum: e5f2421c45e02cd25627412da4cd030df4ddedfc348aad9c7e0f15f72af6e22a3d9e532a56cb85172476c81eb8753be68f3feab1d85107498406b8371f9a63f4 languageName: node linkType: hard "@jupyterlab/console@npm:^4.2.4, @jupyterlab/console@npm:^4.3.0": - version: 4.4.2 - resolution: "@jupyterlab/console@npm:4.4.2" + version: 4.4.4 + resolution: "@jupyterlab/console@npm:4.4.4" dependencies: "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/cells": ^4.4.2 - "@jupyterlab/codeeditor": ^4.4.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/rendermime": ^4.4.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/cells": ^4.4.4 + "@jupyterlab/codeeditor": ^4.4.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/rendermime": ^4.4.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/dragdrop": ^2.1.6 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 - checksum: 96a35569e74382223a189ccdacdc6253f49c59cbc4232378ab28150937edc73da00f5eac96b23ce3839bf8de2d645b736cf47ff4f10de61a5ac61ac97abde1cb + checksum: 6cc5f2785271ef3d7ae35bf6767289445772cc9d3d7bf9ddbda0664442b4af766cdb2f8846f92dfcf7b9c686f1377c67dbe75a91c45019c2715e18a25d26fdb3 languageName: node linkType: hard -"@jupyterlab/coreutils@npm:^6.0.0, @jupyterlab/coreutils@npm:^6.3.0, @jupyterlab/coreutils@npm:^6.4.2": - version: 6.4.2 - resolution: "@jupyterlab/coreutils@npm:6.4.2" +"@jupyterlab/coreutils@npm:^6.0.0, @jupyterlab/coreutils@npm:^6.3.0, @jupyterlab/coreutils@npm:^6.4.4": + version: 6.4.4 + resolution: "@jupyterlab/coreutils@npm:6.4.4" dependencies: "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1210,22 +1220,22 @@ __metadata: minimist: ~1.2.0 path-browserify: ^1.0.0 url-parse: ~1.5.4 - checksum: 09c65831a4a9130f2258e511eb7188ecf00052c32730425041eacbe7ebdbbf51822acbe23a46e0b267912ca07b4664580204f394379f1449bed11d1ec99cf2d1 + checksum: 00e56eeb06f61a0dca4dbf0c6b45c11a64473c1f5040c24b6a47012758155e21700c727f3862e70274406749ac5b63e5585173186ef8911fe42e7f2e614b3604 languageName: node linkType: hard -"@jupyterlab/docmanager@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/docmanager@npm:4.4.2" +"@jupyterlab/docmanager@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/docmanager@npm:4.4.4" dependencies: - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/docregistry": ^4.4.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/statedb": ^4.4.2 - "@jupyterlab/statusbar": ^4.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/docregistry": ^4.4.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/statedb": ^4.4.4 + "@jupyterlab/statusbar": ^4.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1235,24 +1245,24 @@ __metadata: "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 1876483c3dccbea2207d624d70227d397469085328a1cdca69a2a3856807ee0a8ca6b03e7a214d767a4b82fa10eb02bb1d9c31d68dc4a378405aa3889f28602f + checksum: eb7e27ff4e25cfe03f6d8c80fcba59f2b6bbaab0e4f7fcc279e15addc2283635854196ca9210fc4f4bb671c9363de1fa78207f58c659fd58e30641cd1f70d8b0 languageName: node linkType: hard -"@jupyterlab/docregistry@npm:^4.3.0, @jupyterlab/docregistry@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/docregistry@npm:4.4.2" +"@jupyterlab/docregistry@npm:^4.3.0, @jupyterlab/docregistry@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/docregistry@npm:4.4.4" dependencies: "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/codeeditor": ^4.4.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/rendermime": ^4.4.2 - "@jupyterlab/rendermime-interfaces": ^3.12.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/codeeditor": ^4.4.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/rendermime": ^4.4.4 + "@jupyterlab/rendermime-interfaces": ^3.12.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1261,17 +1271,17 @@ __metadata: "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 6066e23ba8dfb468d00021f68306b97baf5bd0825ec82585b9c98a8b456d1a1133bce2842cd62b4ca9dcf9c0e8cf84963afedeab1ae0f67df7fc829dc758c1da + checksum: 062351e5606b0bf94c79bc6bdde2aa794dd2872dc675421f2de102bb7351c660db2c9255e0e7e025b5b08c9eb85df0059a50848944868d6e7c5cc5b17306584b languageName: node linkType: hard -"@jupyterlab/documentsearch@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/documentsearch@npm:4.4.2" +"@jupyterlab/documentsearch@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/documentsearch@npm:4.4.4" dependencies: - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1280,23 +1290,23 @@ __metadata: "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 80552b308f9ec4d5ba7ef7d55fe38a2aa0f443e05c7e92743a4a55797358e612339982c75b5f78b6948d81925db2ac102ff96601081aabe6af51e595ac6719cf + checksum: 34e5835fc981c2a9477a7589edfecec6423397d22aa94e8ceda5b11ff9d16f50a9f6cc483bc894627cd34ca777fc3102c01847abe571b3a0273488c8925b7ac0 languageName: node linkType: hard -"@jupyterlab/filebrowser@npm:^4.3.0, @jupyterlab/filebrowser@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/filebrowser@npm:4.4.2" +"@jupyterlab/filebrowser@npm:^4.3.0, @jupyterlab/filebrowser@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/filebrowser@npm:4.4.4" dependencies: - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/docmanager": ^4.4.2 - "@jupyterlab/docregistry": ^4.4.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/statedb": ^4.4.2 - "@jupyterlab/statusbar": ^4.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/docmanager": ^4.4.4 + "@jupyterlab/docregistry": ^4.4.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/statedb": ^4.4.4 + "@jupyterlab/statusbar": ^4.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1308,17 +1318,17 @@ __metadata: "@lumino/virtualdom": ^2.0.3 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 8e1d05199ceab15455a080a2d13407bcafdd99cae5cce18551456d3a80fdf308790da72954f9a299449225398ae9d388ba632c1eae2b7a3a4e0c354a17a48c56 + checksum: 3e689698beb72b5f9c527e7c86422df8899e863780d6b8ede0382968b2d28cdcbaadb8a29f0a1527f5b440b31c5d5c45208350b606c421574de7f4ee33c38439 languageName: node linkType: hard "@jupyterlab/launcher@npm:^4.3.0": - version: 4.4.2 - resolution: "@jupyterlab/launcher@npm:4.4.2" + version: 4.4.4 + resolution: "@jupyterlab/launcher@npm:4.4.4" dependencies: - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 @@ -1326,21 +1336,21 @@ __metadata: "@lumino/properties": ^2.0.3 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: dc8bd9822da02cb9efe2dbf6c92a47389d51714ec6aaffd671a80d8407a608911e53b6e28fe750b06e95373d54ced557582268c8690f074260a4e5c31291d244 + checksum: 17f293869945c5a8ba3975786e43579c78c222d7a089941e59bf7ac6338f39c8cdc4acf6da31023ba0ae3a89a27b90a06f10a53a0c8085a10448ed812be23a2a languageName: node linkType: hard -"@jupyterlab/lsp@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/lsp@npm:4.4.2" +"@jupyterlab/lsp@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/lsp@npm:4.4.4" dependencies: - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/codeeditor": ^4.4.2 - "@jupyterlab/codemirror": ^4.4.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/docregistry": ^4.4.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/codeeditor": ^4.4.4 + "@jupyterlab/codemirror": ^4.4.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/docregistry": ^4.4.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/translation": ^4.4.4 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/signaling": ^2.1.4 @@ -1349,56 +1359,56 @@ __metadata: vscode-jsonrpc: ^6.0.0 vscode-languageserver-protocol: ^3.17.0 vscode-ws-jsonrpc: ~1.0.2 - checksum: 024ed9170f0a8df0c7a0cb0c956898c6f96eee48d58a48d0287cc9da883136ffc16906ea2f12127dba714aa358c0b73cf548054475094fd0f3801f19ed353330 + checksum: f09adab9478baac78deac6c0f6af13f6745b71accd25f20a17ab246980b4e92445fd957ca6597cb59a453f0fa855f1233e48664c72f05f361fe52d794663115c languageName: node linkType: hard "@jupyterlab/mainmenu@npm:^4.3.0": - version: 4.4.2 - resolution: "@jupyterlab/mainmenu@npm:4.4.2" + version: 4.4.4 + resolution: "@jupyterlab/mainmenu@npm:4.4.4" dependencies: - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/widgets": ^2.7.1 - checksum: b08128fee6af4edae7064113c58cba4cf09d0f220c42c7298b5d23668557564cc820943f504bccf979ef2884fc7075a9682deb2e91ae2cc1b19b139d8aa95452 + checksum: 1bcacdeb021c829fbe8d896d7441a4870cb373d1d99dceeaa8a67b3e207d896a583a2847cd719d159ac6f5a162cb8d2621420ebd2904817834d1ed28dbde5542 languageName: node linkType: hard -"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/nbformat@npm:4.4.2" +"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/nbformat@npm:4.4.4" dependencies: "@lumino/coreutils": ^2.2.1 - checksum: fd000acfe69c4a3884dd503d090d36f6405a23b0a03b11ee1c0fccd8507f72b2b2310594d3097c7a3a732df1ed473346ba4fb001661e73e5477fc6bafdfc68d7 + checksum: 976230c78fc3691a259fa41f28770431c20772687b61321814a9870ccac13d7e552e0edeeac54264dbd19a60070e0a9535974ba8581e2bf6e5cf0a9d08dc308b languageName: node linkType: hard "@jupyterlab/notebook@npm:^4.0.0": - version: 4.4.2 - resolution: "@jupyterlab/notebook@npm:4.4.2" + version: 4.4.4 + resolution: "@jupyterlab/notebook@npm:4.4.4" dependencies: "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/cells": ^4.4.2 - "@jupyterlab/codeeditor": ^4.4.2 - "@jupyterlab/codemirror": ^4.4.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/docregistry": ^4.4.2 - "@jupyterlab/documentsearch": ^4.4.2 - "@jupyterlab/lsp": ^4.4.2 - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/rendermime": ^4.4.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/settingregistry": ^4.4.2 - "@jupyterlab/statusbar": ^4.4.2 - "@jupyterlab/toc": ^6.4.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/cells": ^4.4.4 + "@jupyterlab/codeeditor": ^4.4.4 + "@jupyterlab/codemirror": ^4.4.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/docregistry": ^4.4.4 + "@jupyterlab/documentsearch": ^4.4.4 + "@jupyterlab/lsp": ^4.4.4 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/rendermime": ^4.4.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/settingregistry": ^4.4.4 + "@jupyterlab/statusbar": ^4.4.4 + "@jupyterlab/toc": ^6.4.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1411,34 +1421,34 @@ __metadata: "@lumino/virtualdom": ^2.0.3 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: 19896fa12a9144670733ba762a6e450a38015ced123c9a61047a8ab6c4281bb9a7e76e39f713b268706b78f3002ab1c19cc23c987041ee2c9ec1787fcdf708fb + checksum: 05d16bdb8817144ed8938ca12ce6f15bb8d3bef1a4b232d0a887d9979a759d6fd5765e834f8d2a9079fa26daa65e8e6e166f1e6f74c0a9ff26530a3ec55ab95e languageName: node linkType: hard -"@jupyterlab/observables@npm:^5.3.0, @jupyterlab/observables@npm:^5.4.2": - version: 5.4.2 - resolution: "@jupyterlab/observables@npm:5.4.2" +"@jupyterlab/observables@npm:^5.3.0, @jupyterlab/observables@npm:^5.4.4": + version: 5.4.4 + resolution: "@jupyterlab/observables@npm:5.4.4" dependencies: "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 - checksum: 0a769f0d90c06831b789bdae4c8fbda537fdf542df317e2ffdcba8bf139ffd607e4ee2e1a2af616eda5393ff93cbb16ad80c1d29864ea1ec13018c551c987fd8 + checksum: efd088c70a4d52370d7eebd3542d830e6eea9338dcb146628c0ee932d22917822fb056ea59ae58c71ad542e761ab36d641f699369d7d4b2c2a1452efb12af3c0 languageName: node linkType: hard -"@jupyterlab/outputarea@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/outputarea@npm:4.4.2" +"@jupyterlab/outputarea@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/outputarea@npm:4.4.4" dependencies: - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/rendermime": ^4.4.2 - "@jupyterlab/rendermime-interfaces": ^3.12.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/rendermime": ^4.4.4 + "@jupyterlab/rendermime-interfaces": ^3.12.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/translation": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1446,65 +1456,65 @@ __metadata: "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 - checksum: bd56b2f576a08c67cb51818ca2e1b30dba6498d5bb323828a1f380015456bf8259c59e7fcc4c3417c227077af64529f6cf8e0a6612a16bb324be73775b4d8380 + checksum: cf7777d3908d67c1f5c2834a0fc77ffad6f865ac175b88903657364fddec8ea0bd0d4cf2cdfc4d8829e9aaaad143119ef084f44af7816dd1cc6693ce5b402c32 languageName: node linkType: hard -"@jupyterlab/rendermime-interfaces@npm:^3.12.2": - version: 3.12.2 - resolution: "@jupyterlab/rendermime-interfaces@npm:3.12.2" +"@jupyterlab/rendermime-interfaces@npm:^3.12.4": + version: 3.12.4 + resolution: "@jupyterlab/rendermime-interfaces@npm:3.12.4" dependencies: "@lumino/coreutils": ^1.11.0 || ^2.2.1 "@lumino/widgets": ^1.37.2 || ^2.7.1 - checksum: 5518c86ec198df8608657bc98f748dbda1ffea095a6cee383deefb5a6836e9a9d13973bbc00bd6473204b386e7baec98bbca4834cf65b1dd37faa2fc442ce24d + checksum: f90e1b83b5ebb576f15ec49e4d4adf7f19b2acc4d2fdfc6bad955e9337e5fa229af45bada70d5ecae95bf2bfef9989003bad99fa0c0a03108055395ef687fae5 languageName: node linkType: hard -"@jupyterlab/rendermime@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/rendermime@npm:4.4.2" +"@jupyterlab/rendermime@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/rendermime@npm:4.4.4" dependencies: - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/rendermime-interfaces": ^3.12.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/rendermime-interfaces": ^3.12.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/translation": ^4.4.4 "@lumino/coreutils": ^2.2.1 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 lodash.escape: ^4.0.1 - checksum: 575d48ccb38be00f307ee1c9a4cf799279227e9f98df7b79896928bad3ffce9ff69f6af863315da89fe6bf911bffd38620fd254cfb9b85ca69b54d3c2d771676 + checksum: fceb4b2a412e3c74ec289661142107aa15433e4154e57f9ac921413affbb503f80a2e8b6ddd78a9671cfb4b0bd3eb59bb351d2386f3817e5d233efc646ec3ca2 languageName: node linkType: hard "@jupyterlab/services@npm: ^7.0.0": - version: 7.4.2 - resolution: "@jupyterlab/services@npm:7.4.2" + version: 7.4.4 + resolution: "@jupyterlab/services@npm:7.4.4" dependencies: "@jupyter/ydoc": ^3.0.4 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/settingregistry": ^4.4.2 - "@jupyterlab/statedb": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/settingregistry": ^4.4.4 + "@jupyterlab/statedb": ^4.4.4 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/polling": ^2.1.4 "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 ws: ^8.11.0 - checksum: 00bcdb6ec05b6170bc2051f6fcd65b3689511a42486aebb9690826e20fa6d60710cb339502379592a3cffc351e3a9f1c5a91712bf480a84b18e43dde4d6f7e33 + checksum: 162bf9f908103eff736df4dfa9d32d79d6af40e09975bbd39275f1e19f30e8688f355b543ca4c3c5ad720f017d13e4fe01a3e98fc477069157c3c7e1c23ebe10 languageName: node linkType: hard -"@jupyterlab/settingregistry@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/settingregistry@npm:4.4.2" +"@jupyterlab/settingregistry@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/settingregistry@npm:4.4.4" dependencies: - "@jupyterlab/nbformat": ^4.4.2 - "@jupyterlab/statedb": ^4.4.2 + "@jupyterlab/nbformat": ^4.4.4 + "@jupyterlab/statedb": ^4.4.4 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1514,28 +1524,28 @@ __metadata: json5: ^2.2.3 peerDependencies: react: ">=16" - checksum: 543a8e42a691b8235860f480b5398304ef8008d56a8bf8ac0f1f7361468a90e7e68d5c931c582968f05089386a4fd8ceb43207d3d136914541b91340dc6540d9 + checksum: 542a6703a0c26c2ad775ec6c2734704a34d2e6c48c39c51fe143cd8af03383748b4682b3ae4ea9bbead658c77c55112760720e5b41b60738f671ca7869b47334 languageName: node linkType: hard -"@jupyterlab/statedb@npm:^4.3.0, @jupyterlab/statedb@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/statedb@npm:4.4.2" +"@jupyterlab/statedb@npm:^4.3.0, @jupyterlab/statedb@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/statedb@npm:4.4.4" dependencies: "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/properties": ^2.0.3 "@lumino/signaling": ^2.1.4 - checksum: 67041cf06ae2f54cdddaffa8e20d1b4269da13c474235c13a4f145b60ace96e878c94943c7f40326b0cf58a924dc7f9497e9fc252df48f5cadaa7f3f61ada422 + checksum: 9b98f6cebdb812f3d586fd55a8ca4ac0198aa9f3492b2dc7d844209b58992ae63e432a74139e18e29e49094f86770ac5c10cb6d6e44b4ed97b47997b08220a80 languageName: node linkType: hard -"@jupyterlab/statusbar@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/statusbar@npm:4.4.2" +"@jupyterlab/statusbar@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/statusbar@npm:4.4.4" dependencies: - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 @@ -1543,56 +1553,56 @@ __metadata: "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: ede5dae10d810724e77603f233d16f0c64368cd46ff989a8c02a3bcb04125776831185095a1b8ae9e5d94ba8cc3d1c1ef1dd2d46d729625a07eb466fedf7e589 + checksum: 44c9e72154bfd0c035c5dc14638967ac37bb0859e7285bbec394ee8be04d0ed9595968d4fc31806c683b4c7a32eaeccca2a9ee57f2bc30a81d79634a158b99a9 languageName: node linkType: hard -"@jupyterlab/toc@npm:^6.4.2": - version: 6.4.2 - resolution: "@jupyterlab/toc@npm:6.4.2" +"@jupyterlab/toc@npm:^6.4.4": + version: 6.4.4 + resolution: "@jupyterlab/toc@npm:6.4.4" dependencies: "@jupyter/react-components": ^0.16.6 - "@jupyterlab/apputils": ^4.5.2 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/docregistry": ^4.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/rendermime": ^4.4.2 - "@jupyterlab/rendermime-interfaces": ^3.12.2 - "@jupyterlab/translation": ^4.4.2 - "@jupyterlab/ui-components": ^4.4.2 + "@jupyterlab/apputils": ^4.5.4 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/docregistry": ^4.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/rendermime": ^4.4.4 + "@jupyterlab/rendermime-interfaces": ^3.12.4 + "@jupyterlab/translation": ^4.4.4 + "@jupyterlab/ui-components": ^4.4.4 "@lumino/coreutils": ^2.2.1 "@lumino/disposable": ^2.1.4 "@lumino/messaging": ^2.0.3 "@lumino/signaling": ^2.1.4 "@lumino/widgets": ^2.7.1 react: ^18.2.0 - checksum: dae009198bad6ef0132a9ce39d957d2d95ca8b22da68ceff5a7a0d9ab4f4a3934a1643360d2a06c7421554b5db9e0bff98f932c550632ab7dd876b2d296f22db + checksum: 42754a7b84ace894fc19688e554f8b634077e8eeb1c1b3630201708a03b3be668c913b1dd72922133a15af2f4464fa82513427c1578cdd35be736c08674c6e19 languageName: node linkType: hard -"@jupyterlab/translation@npm:^4.3.0, @jupyterlab/translation@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/translation@npm:4.4.2" +"@jupyterlab/translation@npm:^4.3.0, @jupyterlab/translation@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/translation@npm:4.4.4" dependencies: - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/rendermime-interfaces": ^3.12.2 - "@jupyterlab/services": ^7.4.2 - "@jupyterlab/statedb": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/rendermime-interfaces": ^3.12.4 + "@jupyterlab/services": ^7.4.4 + "@jupyterlab/statedb": ^4.4.4 "@lumino/coreutils": ^2.2.1 - checksum: 7534a70a48f8eeda24360eea4917acfc806093faf3001d6e357039b5f14a0fb185e09e96031db68ea87b0545ecbdcc48b12f700437bfe31e1204bb2873eeaa7b + checksum: 330c6d5bbfb6b9afc33a38172d644bd5eae23ef328032d23782bc256f117ffeb22fa42f58260d471878fbdfe4a8880f264d71de54290594495644534ee4c300f languageName: node linkType: hard -"@jupyterlab/ui-components@npm:^4.3.0, @jupyterlab/ui-components@npm:^4.3.1, @jupyterlab/ui-components@npm:^4.4.2": - version: 4.4.2 - resolution: "@jupyterlab/ui-components@npm:4.4.2" +"@jupyterlab/ui-components@npm:^4.3.0, @jupyterlab/ui-components@npm:^4.3.1, @jupyterlab/ui-components@npm:^4.4.4": + version: 4.4.4 + resolution: "@jupyterlab/ui-components@npm:4.4.4" dependencies: "@jupyter/react-components": ^0.16.6 "@jupyter/web-components": ^0.16.6 - "@jupyterlab/coreutils": ^6.4.2 - "@jupyterlab/observables": ^5.4.2 - "@jupyterlab/rendermime-interfaces": ^3.12.2 - "@jupyterlab/translation": ^4.4.2 + "@jupyterlab/coreutils": ^6.4.4 + "@jupyterlab/observables": ^5.4.4 + "@jupyterlab/rendermime-interfaces": ^3.12.4 + "@jupyterlab/translation": ^4.4.4 "@lumino/algorithm": ^2.0.3 "@lumino/commands": ^2.3.2 "@lumino/coreutils": ^2.2.1 @@ -1610,13 +1620,13 @@ __metadata: typestyle: ^2.0.4 peerDependencies: react: ^18.2.0 - checksum: 764007cfe2d3fcc6b53f2ea5caaed1622e3db35970ff4d55e08d5bcff71f2b8f46ce219ae827e204c9c65aed5ec6c2cf274252fcb55a583630ad26c36da18c65 + checksum: 31961c53ea3d866c69a2a9bbb8d5ec1cc4a818301ae7e0abd086b42b5af08ae38e86691e7df5fedf4eb482e7ddfe098d4b03c3129d0e68c8f1aa581c8f98953f languageName: node linkType: hard -"@lerna/create@npm:8.2.2": - version: 8.2.2 - resolution: "@lerna/create@npm:8.2.2" +"@lerna/create@npm:8.2.3": + version: 8.2.3 + resolution: "@lerna/create@npm:8.2.3" dependencies: "@npmcli/arborist": 7.5.4 "@npmcli/package-json": 5.2.0 @@ -1641,7 +1651,6 @@ __metadata: get-stream: 6.0.0 git-url-parse: 14.0.0 glob-parent: 6.0.2 - globby: 11.1.0 graceful-fs: 4.2.11 has-unicode: 2.0.1 ini: ^1.3.8 @@ -1676,9 +1685,10 @@ __metadata: slash: ^3.0.0 ssri: ^10.0.6 string-width: ^4.2.3 - strong-log-transformer: 2.1.0 tar: 6.2.1 temp-dir: 1.0.0 + through: 2.3.8 + tinyglobby: 0.2.12 upath: 2.0.1 uuid: ^10.0.0 validate-npm-package-license: ^3.0.4 @@ -1688,7 +1698,7 @@ __metadata: write-pkg: 4.0.0 yargs: 17.7.2 yargs-parser: 21.1.1 - checksum: 724af9db5b5b67d20a99bf9208ad2f68b5ba060fb110bacf4eb87e995d2944fc5a48a3398c6b8279ae47cee05f711edb254e322f6712ca26966e85de2cf34cde + checksum: 4e8d3f1955c021e7206ebdd0f35e64e11b4396cff5e0fe12611cb5a645166512bd9105dead00f97bee61400b8bbe07dffcaf39eba69d3984e91118d50a71484a languageName: node linkType: hard @@ -1711,25 +1721,25 @@ __metadata: linkType: hard "@lezer/css@npm:^1.1.0, @lezer/css@npm:^1.1.7": - version: 1.1.11 - resolution: "@lezer/css@npm:1.1.11" + version: 1.3.0 + resolution: "@lezer/css@npm:1.3.0" dependencies: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 - "@lezer/lr": ^1.0.0 - checksum: d2c870ba2c2b4205bfe222101d53658896dab6b44f6a944111f314f8dc387f97ca53409897e8e7e305bb8cf224cc72861650ef52298b9b1da832f46d82116748 + "@lezer/lr": ^1.3.0 + checksum: 952cdbee844c1cd6097c3de4ee073861d05ea1edf10815a58c1d29ee8337fd053b7758944bd48dd418c13bc204ab8666554c3be0560ecb31a65cc438e52e0590 languageName: node linkType: hard "@lezer/generator@npm:^1.7.0": - version: 1.7.3 - resolution: "@lezer/generator@npm:1.7.3" + version: 1.8.0 + resolution: "@lezer/generator@npm:1.8.0" dependencies: "@lezer/common": ^1.1.0 "@lezer/lr": ^1.3.0 bin: lezer-generator: src/lezer-generator.cjs - checksum: 99d89b365490ad0aa486d3c86bf091bcf5472c7bb8a2116ed83110b3d0801af542d94bfe8d6190912290f921711627b9e6f4aefd712007cfa5733880cfb42a8d + checksum: 2c4e6550bd282efd190100887d107d9e3e4cd87ba47cdb5488f84919f35b2cbb2fb845798017204f2fb3bb5dad6b6300fa45612731f8122960bd7a5346c785a5 languageName: node linkType: hard @@ -1806,13 +1816,13 @@ __metadata: linkType: hard "@lezer/php@npm:^1.0.0": - version: 1.0.2 - resolution: "@lezer/php@npm:1.0.2" + version: 1.0.3 + resolution: "@lezer/php@npm:1.0.3" dependencies: "@lezer/common": ^1.2.0 "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.1.0 - checksum: c85ef18571d37826b687dd141a0fe110f5814adaf9d1a391e7e482020d7f81df189ca89ec0dd141c1433d48eff4c6e53648b46f008dea8ad2dc574f35f1d4d79 + checksum: 649b015e873a0cc2bff786fed6f65bad90e745fa7707e97789a7acb53ad6caefb61aa67db115b52565b133cb461f2097b8fd6f5fb94eb290df903cbe959bd623 languageName: node linkType: hard @@ -2007,13 +2017,13 @@ __metadata: linkType: hard "@mapbox/vector-tile@npm:^2.0.3": - version: 2.0.3 - resolution: "@mapbox/vector-tile@npm:2.0.3" + version: 2.0.4 + resolution: "@mapbox/vector-tile@npm:2.0.4" dependencies: "@mapbox/point-geometry": ~1.1.0 - "@types/geojson": ^7946.0.14 + "@types/geojson": ^7946.0.16 pbf: ^4.0.1 - checksum: 5da1a5b27385f42048fba6e30fa8fde3a2b82838432a63ca611dc91e7fad2de46d42d05e6cf300e6639d0ed1c990c2bcab2396114c21c46d1bb1b1fa0caa76a8 + checksum: 44ec95f883563340daa28d4d0207901d270ce157914241fb5ebaef8bd6a44f3bd5ae2612a965d805778f26eb4fc3b806060c34f473220c5fbb96d9957673c6cb languageName: node linkType: hard @@ -2085,6 +2095,47 @@ __metadata: languageName: node linkType: hard +"@ngageoint/geopackage@npm:^4.2.6": + version: 4.2.6 + resolution: "@ngageoint/geopackage@npm:4.2.6" + dependencies: + "@turf/bbox": 6.3.0 + "@turf/boolean-clockwise": 6.5.0 + "@turf/boolean-point-in-polygon": 6.5.0 + "@turf/boolean-within": 6.5.0 + "@turf/distance": 6.5.0 + "@turf/helpers": 6.5.0 + "@turf/intersect": 6.5.0 + "@turf/line-intersect": 6.5.0 + "@turf/point-to-line-distance": 6.5.0 + "@turf/polygon-to-line": 6.5.0 + "@types/geojson": 7946.0.8 + "@types/proj4": 2.5.2 + better-sqlite3: ^9.1.1 + chalk: 4.1.1 + file-type: ^16.5.4 + image-size: 0.8.3 + inquirer: 8.0.0 + lodash: 4.17.21 + proj4: 2.8.0 + reproject: 1.2.5 + rtree-sql.js: 1.7.0 + simplify-js: 1.2.4 + webworkify: 1.5.0 + wkx: 0.4.8 + dependenciesMeta: + better-sqlite3: + optional: true + chalk: + optional: true + inquirer: + optional: true + bin: + geopackage: cli + checksum: 6fdd4bf3f9057b1c78949885a44a5e65b9fbe73180cbc6963508263a4f89ed1b53996ad4c4a9fe56c2eeda8f7eead0e6f81fe39a89d213c9a3aba4094cc8994b + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2125,6 +2176,19 @@ __metadata: languageName: node linkType: hard +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: ^7.1.0 + http-proxy-agent: ^7.0.0 + https-proxy-agent: ^7.0.1 + lru-cache: ^10.0.1 + socks-proxy-agent: ^8.0.3 + checksum: e8fc25d536250ed3e669813b36e8c6d805628b472353c57afd8c4fde0fcfcf3dda4ffe22f7af8c9070812ec2e7a03fb41d7151547cef3508efe661a5a3add20f + languageName: node + linkType: hard + "@npmcli/arborist@npm:7.5.4": version: 7.5.4 resolution: "@npmcli/arborist@npm:7.5.4" @@ -2179,6 +2243,15 @@ __metadata: languageName: node linkType: hard +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: ^7.3.5 + checksum: 68951c589e9a4328698a35fd82fe71909a257d6f2ede0434d236fa55634f0fbcad9bb8755553ce5849bd25ee6f019f4d435921ac715c853582c4a7f5983c8d4a + languageName: node + linkType: hard + "@npmcli/git@npm:^5.0.0": version: 5.0.8 resolution: "@npmcli/git@npm:5.0.8" @@ -2317,8 +2390,8 @@ __metadata: linkType: hard "@nx/devkit@npm:>=17.1.2 < 21": - version: 20.8.1 - resolution: "@nx/devkit@npm:20.8.1" + version: 20.8.2 + resolution: "@nx/devkit@npm:20.8.2" dependencies: ejs: ^3.1.7 enquirer: ~2.3.6 @@ -2330,76 +2403,76 @@ __metadata: yargs-parser: 21.1.1 peerDependencies: nx: ">= 19 <= 21" - checksum: 4ded8c4a173a180186002cb3df4c33c0fb6e7b26ca3167359366566c22f882fb657bbb1eb577916ac79e45d6683fe8bedc41a04c7c69826c910859c5b89e120f + checksum: 2005419435593fcf763b89e0e025eb154a48a11331247e2bbc59ee23456f1a1a8dab24f420f69a3c87e6ff5a8a7bde8ff8f297cab1767f1bd9529a322cd9222b languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-darwin-arm64@npm:20.8.1" +"@nx/nx-darwin-arm64@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-darwin-arm64@npm:20.8.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-darwin-x64@npm:20.8.1" +"@nx/nx-darwin-x64@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-darwin-x64@npm:20.8.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-freebsd-x64@npm:20.8.1" +"@nx/nx-freebsd-x64@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-freebsd-x64@npm:20.8.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:20.8.1" +"@nx/nx-linux-arm-gnueabihf@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:20.8.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-linux-arm64-gnu@npm:20.8.1" +"@nx/nx-linux-arm64-gnu@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-arm64-gnu@npm:20.8.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-linux-arm64-musl@npm:20.8.1" +"@nx/nx-linux-arm64-musl@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-arm64-musl@npm:20.8.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-linux-x64-gnu@npm:20.8.1" +"@nx/nx-linux-x64-gnu@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-x64-gnu@npm:20.8.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-linux-x64-musl@npm:20.8.1" +"@nx/nx-linux-x64-musl@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-x64-musl@npm:20.8.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-win32-arm64-msvc@npm:20.8.1" +"@nx/nx-win32-arm64-msvc@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-win32-arm64-msvc@npm:20.8.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:20.8.1": - version: 20.8.1 - resolution: "@nx/nx-win32-x64-msvc@npm:20.8.1" +"@nx/nx-win32-x64-msvc@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-win32-x64-msvc@npm:20.8.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2412,8 +2485,8 @@ __metadata: linkType: hard "@octokit/core@npm:^5.0.2": - version: 5.2.1 - resolution: "@octokit/core@npm:5.2.1" + version: 5.2.2 + resolution: "@octokit/core@npm:5.2.2" dependencies: "@octokit/auth-token": ^4.0.0 "@octokit/graphql": ^7.1.0 @@ -2422,7 +2495,7 @@ __metadata: "@octokit/types": ^13.0.0 before-after-hook: ^2.2.0 universal-user-agent: ^6.0.0 - checksum: a7076095ec1109bb9273764a2b561b323368e96ea2c1257cef1d48107fe6493f363cfa84539da2d182b065831667c1baa85b00e99712079e299e06b46ba8693b + checksum: d4303d808c6b8eca32ce03381db5f6230440c1c6cfd9d73376ed583973094abd8ca56d9a64d490e6b0045f827a8f913b619bd90eae99c2cba682487720dc8002 languageName: node linkType: hard @@ -2550,10 +2623,10 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.2.3": - version: 0.2.4 - resolution: "@pkgr/core@npm:0.2.4" - checksum: 8544f0346c3f7035b9e2fdf60179c68b12d3c76b3fba9533844099af67cf5c0ce5257538f5faa05953d48cc1536d046f003231f321b2f75b3fb449db8410a2b7 +"@pkgr/core@npm:^0.2.4": + version: 0.2.7 + resolution: "@pkgr/core@npm:0.2.7" + checksum: b16959878940f3d3016b79a4b2c23fd518aaec6b47295baa3154fbcf6574fee644c51023bb69069fa3ea9cdcaca40432818f54695f11acc0ae326cf56676e4d1 languageName: node linkType: hard @@ -2578,8 +2651,8 @@ __metadata: linkType: hard "@rjsf/core@npm:^5.13.4": - version: 5.24.10 - resolution: "@rjsf/core@npm:5.24.10" + version: 5.24.12 + resolution: "@rjsf/core@npm:5.24.12" dependencies: lodash: ^4.17.21 lodash-es: ^4.17.21 @@ -2589,13 +2662,13 @@ __metadata: peerDependencies: "@rjsf/utils": ^5.24.x react: ^16.14.0 || >=17 - checksum: 90316d9dd90ae58805fc4f6fa2bb14dfd9a361abebb75bd3b1b7ed55b554e9a7d5145fc09ee5906bc91d362fc8f8c24619d4d4c432bae782da5cebb0a5b9cddf + checksum: 115bcb3e692494623b09df5808375d6b92be3ed5f72019df6673ff450851ba61de3658b494b8cdb67fad28e2a8c22d243316a15bb5a1fe7470ddd7eb891ce685 languageName: node linkType: hard "@rjsf/utils@npm:^5.13.4": - version: 5.24.10 - resolution: "@rjsf/utils@npm:5.24.10" + version: 5.24.12 + resolution: "@rjsf/utils@npm:5.24.12" dependencies: json-schema-merge-allof: ^0.8.1 jsonpointer: ^5.0.1 @@ -2604,13 +2677,13 @@ __metadata: react-is: ^18.2.0 peerDependencies: react: ^16.14.0 || >=17 - checksum: 64d9bcfea100c4b89128c20473982d316e960c01f9887fb3613bc0ecdaa9fdf8804f96ff99b0b415c2cbc7b4f7d5de941328a1a1a5d53148489d395a1f07a78e + checksum: 8ada729aaa4d79122d6bccce7d6f6bbdc37399d0e67dc8fe60ccd375833d262968e1033bba946bc674897df86cf6303dc7434a94daed9cbf6a0d24ac0e93c701 languageName: node linkType: hard "@rjsf/validator-ajv8@npm:^5.23.1": - version: 5.24.10 - resolution: "@rjsf/validator-ajv8@npm:5.24.10" + version: 5.24.12 + resolution: "@rjsf/validator-ajv8@npm:5.24.12" dependencies: ajv: ^8.12.0 ajv-formats: ^2.1.1 @@ -2618,7 +2691,7 @@ __metadata: lodash-es: ^4.17.21 peerDependencies: "@rjsf/utils": ^5.24.x - checksum: 920d466c972683108a3b093f813a0b77c289068a24c3ae74b6933a5f7346c2a0d7f3d02d0304f419fbfd8376f7ee59972a5f202939c827ac778aedc35bd0ed1b + checksum: 03cc45b65c92c2824a8b56aee2bc1b612ac8f775627204ba2845726b17bcc9fb5d822f179f6f2cf733ed30217df9399707d04f564547b4f579b0a6b74f8beb5f languageName: node linkType: hard @@ -2687,6 +2760,13 @@ __metadata: languageName: node linkType: hard +"@tokenizer/token@npm:^0.3.0": + version: 0.3.0 + resolution: "@tokenizer/token@npm:0.3.0" + checksum: 1d575d02d2a9f0c5a4ca5180635ebd2ad59e0f18b42a65f3d04844148b49b3db35cf00b6012a1af2d59c2ab3caca59451c5689f747ba8667ee586ad717ee58e1 + languageName: node + linkType: hard + "@tufjs/canonical-json@npm:2.0.0": version: 2.0.0 resolution: "@tufjs/canonical-json@npm:2.0.0" @@ -2704,6 +2784,247 @@ __metadata: languageName: node linkType: hard +"@turf/bbox@npm:*": + version: 7.2.0 + resolution: "@turf/bbox@npm:7.2.0" + dependencies: + "@turf/helpers": ^7.2.0 + "@turf/meta": ^7.2.0 + "@types/geojson": ^7946.0.10 + tslib: ^2.8.1 + checksum: 34dfb634d04bc20be292a211e0fdef610556bead4bb5a38174fe040c59f041b4a0e2f586148c2c8b88677b1c5af08a07de5745235233dbaa0197fd67bf21e0da + languageName: node + linkType: hard + +"@turf/bbox@npm:6.3.0": + version: 6.3.0 + resolution: "@turf/bbox@npm:6.3.0" + dependencies: + "@turf/helpers": ^6.3.0 + "@turf/meta": ^6.3.0 + checksum: d229c70b66d49128dd611b888f4b701b3a9d374d2925a699df116c296cddb778879702626c7855d73ced8155b3f5b3954e7535b55f793f5919639877ed4a1003 + languageName: node + linkType: hard + +"@turf/bbox@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/bbox@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: 537be56ae0c5ad44e71a691717b35745e947e19a6bd9f20fdac2ab4318caf98cd88472d7dbf576e8b32ead5da034d273ffb3f4559d6d386820ddcb88a1f7fedd + languageName: node + linkType: hard + +"@turf/bearing@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/bearing@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: f2883fb56d3017f9d0190937a92a2dae174e48f5165ea5540a5032caa03dd7980e5a95d298fd25e6bcc74cdf812d411af0e0c146112518ed3cd0d19795a1b645 + languageName: node + linkType: hard + +"@turf/boolean-clockwise@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-clockwise@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: a359550683425a21256a833a95363861c44e8f2884dd09d79e2847b2bc5b1e83a150730b6de3d31763dd845fd577b156a75071dbaf8574b712f933aa2af7eb80 + languageName: node + linkType: hard + +"@turf/boolean-point-in-polygon@npm:6.5.0, @turf/boolean-point-in-polygon@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-point-in-polygon@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 624e54d9956b8f9d955285065f44c80ae66cd4a87e5d893f85871009b62ad9721cca520245a56f8c4401467767c153dda58f67fec0968e3971c7bb3a39617105 + languageName: node + linkType: hard + +"@turf/boolean-point-on-line@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-point-on-line@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 469bc39dfe8cdd50be654d3dc1ed94c130e27d5724461333edc6d32352d31c955a1e4f2785994f0a255162fd6075657e49c90b9c805a644e88e05e2a51ead6bc + languageName: node + linkType: hard + +"@turf/boolean-within@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/boolean-within@npm:6.5.0" + dependencies: + "@turf/bbox": ^6.5.0 + "@turf/boolean-point-in-polygon": ^6.5.0 + "@turf/boolean-point-on-line": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 6cc36191e087106119e4c8beed03c0be108b2ddb79de3f357dd2c69c10ebc8b17125c6a2ace8a27eb5c120efa4025fc83a2c97fe45dd4f5b2bbc86966edeaf94 + languageName: node + linkType: hard + +"@turf/clone@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/clone@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: 8ef6f6ba8876bb32b35691b62554a74b1e8e2b9d04a1c4f7bcba9348163b4ae4cde774b9e8e9f63211e5eb816517d94b94c3d54e5f855691a84cd3556d3157e4 + languageName: node + linkType: hard + +"@turf/distance@npm:6.5.0, @turf/distance@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/distance@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: f311e19a5d489a11e2033f218723f6c2fae207cb03fbdd5dc64a44724d36851f5bb44d07ae31d479532db5f1df019845e19e2117c1948d9e832a6769f6bf0448 + languageName: node + linkType: hard + +"@turf/helpers@npm:6.5.0, @turf/helpers@npm:6.x, @turf/helpers@npm:^6.3.0, @turf/helpers@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/helpers@npm:6.5.0" + checksum: d57f746351357838c654e0a9b98be3285a14b447504fd6d59753d90c6d437410bb24805d61c65b612827f07f6c2ade823bb7e56e41a1a946217abccfbd64c117 + languageName: node + linkType: hard + +"@turf/helpers@npm:^7.2.0": + version: 7.2.0 + resolution: "@turf/helpers@npm:7.2.0" + dependencies: + "@types/geojson": ^7946.0.10 + tslib: ^2.8.1 + checksum: 44697cf00db81ef8c4a43d13c7fc59ad06a50a5fae78f8d5e735fcdf89822107611585dcec0e973ae56248327a0f8f835dfbee952ec08bb6b7154592ce14aa5e + languageName: node + linkType: hard + +"@turf/intersect@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/intersect@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + polygon-clipping: ^0.15.3 + checksum: 014e071cb3a2073bb4a1c82d9106a3e65b3761dc7c2b7226c88e6dbff9038556e821948b9d03202c1aabe7b6269fa90f47551393056f5e9e2b34131aa61c2f08 + languageName: node + linkType: hard + +"@turf/invariant@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/invariant@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: f45109ee41429d4aab49db9cfcc68f832cadf18b16c1b2c7031f0a6e52545bc4d64d0efd0a980f4d05f22532ed89d6e915aeaab9db44865898d4d030221d968e + languageName: node + linkType: hard + +"@turf/line-intersect@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/line-intersect@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/line-segment": ^6.5.0 + "@turf/meta": ^6.5.0 + geojson-rbush: 3.x + checksum: ae5eb762d879b18dfde0b7340fb34fe0158d83c9dee26d1d20bb9ef0111e3d042d1d2215ed6a8c04da1210011c85e45a513a64c3c2e6f641b17c58d43a017931 + languageName: node + linkType: hard + +"@turf/line-segment@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/line-segment@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: c58c91066fcc6632a2b97535bd5a3cc5c7d41f11bfd3cbfc3d3dae13b39c5fe1ccf14ecda6f8b9ff046d7a35ee4205b73ad30fea95fc03373f0831bb515e2ac1 + languageName: node + linkType: hard + +"@turf/meta@npm:6.x, @turf/meta@npm:^6.3.0, @turf/meta@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/meta@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + checksum: c6bb936aa92bf3365e87a50dc65f248e070c5767a36fac390754c00c89bf2d1583418686ab19a10332bfa9340b8cac6aaf2c55dad7f5fcf77f1a2dda75ccf363 + languageName: node + linkType: hard + +"@turf/meta@npm:^7.2.0": + version: 7.2.0 + resolution: "@turf/meta@npm:7.2.0" + dependencies: + "@turf/helpers": ^7.2.0 + "@types/geojson": ^7946.0.10 + checksum: 77de8b1e345511e62ea421581dcdaf0d46b20d2440137f116341ed2213ba519da39aba6fd041098eb63a65d52cefb179206cc663ab4d289f220cf00f49f95bb0 + languageName: node + linkType: hard + +"@turf/point-to-line-distance@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/point-to-line-distance@npm:6.5.0" + dependencies: + "@turf/bearing": ^6.5.0 + "@turf/distance": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + "@turf/meta": ^6.5.0 + "@turf/projection": ^6.5.0 + "@turf/rhumb-bearing": ^6.5.0 + "@turf/rhumb-distance": ^6.5.0 + checksum: addea96dbd3458d2dc3fa8ede3061f0a9d560e9ef1dba4f6d1ec84f9203fc930ff3f668573e9679edc555c9185e63c96447f1825ff7f907caf499e2bf5ab0458 + languageName: node + linkType: hard + +"@turf/polygon-to-line@npm:6.5.0": + version: 6.5.0 + resolution: "@turf/polygon-to-line@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: ba189ff22a9a7a281da1dfb707909ce114339b14f8f61fd237f72a9ff056fcf5eeb7019fd2d2a8b3bfc953169eb2caa818ecc9d8801cdb5615c3d274af2465d5 + languageName: node + linkType: hard + +"@turf/projection@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/projection@npm:6.5.0" + dependencies: + "@turf/clone": ^6.5.0 + "@turf/helpers": ^6.5.0 + "@turf/meta": ^6.5.0 + checksum: 31baafb27e3c2a7b639a08156b38c771d312236a9ab218133f7136b4f5ac94cec2465ad62b7da8a0b7f26d5afb09b79d122e56022c27fd17fc9994213fe61833 + languageName: node + linkType: hard + +"@turf/rhumb-bearing@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/rhumb-bearing@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: 150b7e1a8e68b9411194b4eb2abff48a65a77b78dde19c1d1a5b5f148aa09c4cded19a531b4d625e4953c510e556238e623e5465f65c5c7435a60c978e843f7f + languageName: node + linkType: hard + +"@turf/rhumb-distance@npm:^6.5.0": + version: 6.5.0 + resolution: "@turf/rhumb-distance@npm:6.5.0" + dependencies: + "@turf/helpers": ^6.5.0 + "@turf/invariant": ^6.5.0 + checksum: b9b78ee6f05cbfcf2bb3582746523a2cc4d70b004771c433004e650e4c5ccd74d7e35f80099ed59503b7cc731ce5277edfbb3e9b9ad82253267cba8bbf977d86 + languageName: node + linkType: hard + "@tybys/wasm-util@npm:^0.9.0": version: 0.9.0 resolution: "@tybys/wasm-util@npm:0.9.0" @@ -2756,20 +3077,27 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.6": - version: 1.0.7 - resolution: "@types/estree@npm:1.0.7" - checksum: d9312b7075bdd08f3c9e1bb477102f5458aaa42a8eec31a169481ce314ca99ac716645cff4fca81ea65a2294b0276a0de63159d1baca0f8e7b5050a92de950ad +"@types/estree@npm:*, @types/estree@npm:^1.0.8": + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: bd93e2e415b6f182ec4da1074e1f36c480f1d26add3e696d54fb30c09bc470897e41361c8fd957bf0985024f8fbf1e6e2aff977d79352ef7eb93a5c6dcff6c11 languageName: node linkType: hard -"@types/geojson@npm:*, @types/geojson@npm:^7946.0.14": +"@types/geojson@npm:*, @types/geojson@npm:^7946.0.10, @types/geojson@npm:^7946.0.16": version: 7946.0.16 resolution: "@types/geojson@npm:7946.0.16" checksum: d66e5e023f43b3e7121448117af1930af7d06410a32a585a8bc9c6bb5d97e0d656cd93d99e31fa432976c32e98d4b780f82bf1fd1acd20ccf952eb6b8e39edf2 languageName: node linkType: hard +"@types/geojson@npm:7946.0.8": + version: 7946.0.8 + resolution: "@types/geojson@npm:7946.0.8" + checksum: 6049a39b025cfe323d5cf87333d87c133ec963cdbd349c49295bee779827ee4b46a3041fd8bd2e7a4b02d6d1e26f3002968875928941bbed08477bfd5f6f9284 + languageName: node + linkType: hard + "@types/glob@npm:*": version: 8.1.0 resolution: "@types/glob@npm:8.1.0" @@ -2788,18 +3116,18 @@ __metadata: linkType: hard "@types/leaflet@npm:^1.9.8": - version: 1.9.17 - resolution: "@types/leaflet@npm:1.9.17" + version: 1.9.20 + resolution: "@types/leaflet@npm:1.9.20" dependencies: "@types/geojson": "*" - checksum: 762bb2d88cfae6990a7c2e48a399168e7dade51073ae71eeae59c77ad361ec80842fe3677dd534ba603e62a38839da89ba47dbbdd8a124e610cdc026bfdbac13 + checksum: 40130c48688a83496ddcea88eb6cd4890902bab51e562ff3dbcc4b5d4672b41ac155c4b62d9e1a4359ac91947b18c761eb59c51f96f5c9316d82428a87c6b1a8 languageName: node linkType: hard "@types/lodash@npm:^4.14.168": - version: 4.17.16 - resolution: "@types/lodash@npm:4.17.16" - checksum: 915618c5735b10007e0ed7d06fdce6b344f88fc721d492b189a69064bfd046d2382e1ba61d683eeb61cad60ca0286cd110e6fe0fa4ab2e99066a40478376831d + version: 4.17.20 + resolution: "@types/lodash@npm:4.17.20" + checksum: dc7bb4653514dd91117a4c4cec2c37e2b5a163d7643445e4757d76a360fabe064422ec7a42dde7450c5e7e0e7e678d5e6eae6d2a919abcddf581d81e63e63839 languageName: node linkType: hard @@ -2825,20 +3153,20 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 22.15.15 - resolution: "@types/node@npm:22.15.15" + version: 24.0.14 + resolution: "@types/node@npm:24.0.14" dependencies: - undici-types: ~6.21.0 - checksum: 6e1d1c55728a25dd4268aaac62d1a4a6dd3355a9cb76300a9d44f88a3894f39210a4eff471f6ef79c0ae759049a512582e5ca21fe344c6a02e553d02e8d43835 + undici-types: ~7.8.0 + checksum: 3f52217f2daeddfff88d9998e4bf3896cfe8c55514cb877a4309028c200a31a41c812275b529e4d1a2c6b62c17196c02f91b7d61267c16fb8e1f940b14d04316 languageName: node linkType: hard "@types/node@npm:^18.15.11": - version: 18.19.98 - resolution: "@types/node@npm:18.19.98" + version: 18.19.119 + resolution: "@types/node@npm:18.19.119" dependencies: undici-types: ~5.26.4 - checksum: 5644a61300266c8959ecdc37e10c0f108a6f1df0b623efc6f9ac9a420c517d5f6df5d1b41be155fca099d49e15a9f9c55fd89e53e743831b78ded9f4ce5f1693 + checksum: a328dcdda3c65a150ee8417dee75401665aab34c4cb6580f3ca02a1adf4b0ee5ad58ec8fbabaa9f929488c459884d0e00e66ee2a3b56a99ea65637697ff0d3ed languageName: node linkType: hard @@ -2856,6 +3184,13 @@ __metadata: languageName: node linkType: hard +"@types/proj4@npm:2.5.2": + version: 2.5.2 + resolution: "@types/proj4@npm:2.5.2" + checksum: f70fb89fe1e234faa164b57095624e054ead1b14653b1eb04e1aa50489ae9a6a30c90518efe571d53f5fcc12a25bee61e8cf8d9cc79b5a01586d051bdad4a992 + languageName: node + linkType: hard + "@types/proj4@npm:^2.5.5": version: 2.5.6 resolution: "@types/proj4@npm:2.5.6" @@ -2864,9 +3199,9 @@ __metadata: linkType: hard "@types/prop-types@npm:*": - version: 15.7.14 - resolution: "@types/prop-types@npm:15.7.14" - checksum: d0c5407b9ccc3dd5fae0ccf9b1007e7622ba5e6f1c18399b4f24dff33619d469da4b9fa918a374f19dc0d9fe6a013362aab0b844b606cfc10676efba3f5f736d + version: 15.7.15 + resolution: "@types/prop-types@npm:15.7.15" + checksum: 31aa2f59b28f24da6fb4f1d70807dae2aedfce090ec63eaf9ea01727a9533ef6eaf017de5bff99fbccad7d1c9e644f52c6c2ba30869465dd22b1a7221c29f356 languageName: node linkType: hard @@ -2888,21 +3223,21 @@ __metadata: linkType: hard "@types/react@npm:*": - version: 19.1.3 - resolution: "@types/react@npm:19.1.3" + version: 19.1.8 + resolution: "@types/react@npm:19.1.8" dependencies: csstype: ^3.0.2 - checksum: a2c246d95fb55b0f1ff781cae0764b61194a0073eb5dfacf222f6bac9b6f1d38948f088828d0be9373d201b130d1dfaf984013af81f1b2217030f6f335819c79 + checksum: 17e0c74d9c01214938fa805aaa8b97925bf3c5514e88fdf94bec42c0a6d4abbc63d4e30255db176f46fd7f0aa89f8085b9b2b2fa5abaffbbf7e5009386ada892 languageName: node linkType: hard "@types/react@npm:^18.0.26": - version: 18.3.21 - resolution: "@types/react@npm:18.3.21" + version: 18.3.23 + resolution: "@types/react@npm:18.3.23" dependencies: "@types/prop-types": "*" csstype: ^3.0.2 - checksum: 9c7dea4480aec72e9a592a49a61af38f34a88b322bb3ff983cd43bcb9bf315204102e5ed6ab4b6b3c1303ee9cc4008c0f9f80a22b0f36eb39d84834eb22384cf + checksum: d781257d42bf3c66f4bcd21e76a86cd9b6e21fbaf377fe0f840f1ff35049efa59491aa6a4dcf2b3db42af4ab085acebe185f0ae28b7c36d60be5e9094c707bdd languageName: node linkType: hard @@ -3309,7 +3644,7 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:^1.3.5": +"JSONStream@npm:^1.0.0, JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" dependencies: @@ -3335,6 +3670,31 @@ __metadata: languageName: node linkType: hard +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: e70b209f5f408dd3a3bbd0eec4b10a2ffd64704a4a3821d0969d84928cc490a8eb60f85b78a95622c1841113edac10161c62e52f5e7d0027aa26786a8136e02e + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: ^5.0.0 + checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 + languageName: node + linkType: hard + +"acorn-import-phases@npm:^1.0.3": + version: 1.0.4 + resolution: "acorn-import-phases@npm:1.0.4" + peerDependencies: + acorn: ^8.14.0 + checksum: e669cccfb6711af305150fcbfddcf4485fffdc4547a0ecabebe94103b47124cc02bfd186240061c00ac954cfb0461b4ecc3e203e138e43042b7af32063fa9510 + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -3344,12 +3704,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.14.0, acorn@npm:^8.8.2, acorn@npm:^8.9.0": - version: 8.14.1 - resolution: "acorn@npm:8.14.1" +"acorn@npm:^8.14.0, acorn@npm:^8.15.0, acorn@npm:^8.9.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" bin: acorn: bin/acorn - checksum: 260d9bb6017a1b6e42d31364687f0258f78eb20210b36ef2baad38fd619d78d4e95ff7dde9b3dbe0d81f137f79a8d651a845363a26e6985997f7b71145dc5e94 + checksum: 309c6b49aedf1a2e34aaf266de06de04aab6eb097c02375c66fdeb0f64556a6a823540409914fb364d9a11bc30d79d485a2eba29af47992d3490e9886c4391c3 languageName: node linkType: hard @@ -3361,9 +3721,9 @@ __metadata: linkType: hard "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 87bb7ee54f5ecf0ccbfcba0b07473885c43ecd76cb29a8db17d6137a19d9f9cd443a2a7c5fd8a3f24d58ad8145f9eb49116344a66b107e1aeab82cf2383f4753 + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 86a7f542af277cfbd77dd61e7df8422f90bac512953709003a1c530171a9d019d072e2400eab2b59f84b49ab9dd237be44315ca663ac73e82b3922d10ea5eafa languageName: node linkType: hard @@ -3637,13 +3997,13 @@ __metadata: linkType: hard "axios@npm:^1.8.3": - version: 1.9.0 - resolution: "axios@npm:1.9.0" + version: 1.10.0 + resolution: "axios@npm:1.10.0" dependencies: follow-redirects: ^1.15.6 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: 631f02c9c279f2ae90637a4989cc9d75c1c27aefd16b6e8eb90f98a4d0bddaccfd1cb1387be12101d1ab0f9bbf0c47e2451b4de0cf2870462a7d9ed3de8da3f2 + checksum: b5fd840d499469bf968e44b8ac96f4b363c6aa4c791a50834c086a7cffbc2d77fe24f27af1aba46c3e1f4840aaf991461fc27537990596b93dea0f4df3245a86 languageName: node linkType: hard @@ -3683,6 +4043,17 @@ __metadata: languageName: node linkType: hard +"better-sqlite3@npm:^9.1.1": + version: 9.6.0 + resolution: "better-sqlite3@npm:9.6.0" + dependencies: + bindings: ^1.5.0 + node-gyp: latest + prebuild-install: ^7.1.1 + checksum: be3a1d2a3f6f9b5141be6607a38c0a51fa5849495b071955e507bc0c2a2fb08430852c1bf03796eec1a53344b25645807db48dcb51c71b0662b74c5a70420bb0 + languageName: node + linkType: hard + "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -3702,6 +4073,15 @@ __metadata: languageName: node linkType: hard +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 + languageName: node + linkType: hard + "bl@npm:^4.0.3, bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -3714,21 +4094,21 @@ __metadata: linkType: hard "brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" dependencies: balanced-match: ^1.0.0 concat-map: 0.0.1 - checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + checksum: 12cb6d6310629e3048cadb003e1aca4d8c9bb5c67c3c321bafdd7e7a50155de081f78ea3e0ed92ecc75a9015e784f301efc8132383132f4f7904ad1ac529c562 languageName: node linkType: hard "brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" + version: 2.0.2 + resolution: "brace-expansion@npm:2.0.2" dependencies: balanced-match: ^1.0.0 - checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + checksum: 01dff195e3646bc4b0d27b63d9bab84d2ebc06121ff5013ad6e5356daa5a9d6b60fa26cf73c74797f2dc3fbec112af13578d51f75228c1112b26c790a87b0488 languageName: node linkType: hard @@ -3742,16 +4122,16 @@ __metadata: linkType: hard "browserslist@npm:^4.24.0": - version: 4.24.5 - resolution: "browserslist@npm:4.24.5" + version: 4.25.1 + resolution: "browserslist@npm:4.25.1" dependencies: - caniuse-lite: ^1.0.30001716 - electron-to-chromium: ^1.5.149 + caniuse-lite: ^1.0.30001726 + electron-to-chromium: ^1.5.173 node-releases: ^2.0.19 update-browserslist-db: ^1.1.3 bin: browserslist: cli.js - checksum: 69310ade58b0cb2b2871022fdaba8388902f9a2d17a6fa05f383d046d6da87fd9f83018a66fe1c6296648ca7d52e3208c3fc68c82f17a0fd4bf12a452c036247 + checksum: 2a7e4317e809b09a436456221a1fcb8ccbd101bada187ed217f7a07a9e42ced822c7c86a0a4333d7d1b4e6e0c859d201732ffff1585d6bcacd8d226f6ddce7e3 languageName: node linkType: hard @@ -3783,9 +4163,9 @@ __metadata: linkType: hard "but-unzip@npm:^0.1.4": - version: 0.1.4 - resolution: "but-unzip@npm:0.1.4" - checksum: 37e9f484c50d738de4cdafcc52e8cbc31a55e62b83e66858e020e29421f0cb6ce5b052434954f7775a9e9d461c4041ca517b77f54185fe13be6db7c56082e38b + version: 0.1.7 + resolution: "but-unzip@npm:0.1.7" + checksum: 7d4bc82b7f2ae989d8112242188abf23994114b3d4d57c43b1d1c4833a28d6d236b74bcd15301949924e8326b8adc6144b035d65fef5d45e9a1a63732ea66412 languageName: node linkType: hard @@ -3816,6 +4196,26 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": ^4.0.0 + fs-minipass: ^3.0.0 + glob: ^10.2.2 + lru-cache: ^10.0.1 + minipass: ^7.0.3 + minipass-collect: ^2.0.1 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + p-map: ^7.0.2 + ssri: ^12.0.0 + tar: ^7.4.3 + unique-filename: ^4.0.0 + checksum: e95684717de6881b4cdaa949fa7574e3171946421cd8291769dd3d2417dbf7abf4aa557d1f968cca83dcbc95bed2a281072b09abfc977c942413146ef7ed4525 + languageName: node + linkType: hard + "call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" @@ -3887,10 +4287,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001716": - version: 1.0.30001717 - resolution: "caniuse-lite@npm:1.0.30001717" - checksum: 357fbb230d86d28c0f7005d0c19a2274059ad4f1ed419ebe8754737ec908b567c9745abf0d16eda93417f40913221adc6290eb2f0432bc5bb5364f95bd7eabfa +"caniuse-lite@npm:^1.0.30001726": + version: 1.0.30001727 + resolution: "caniuse-lite@npm:1.0.30001727" + checksum: 2bc6112f242701198a99c17713d4409be9b404d09005f34f351ec29a4ea46c054e7aa4982bc16f06b81b7a375cbc61c937e89650170cbce84db772a376ed3963 languageName: node linkType: hard @@ -3904,6 +4304,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:4.1.1": + version: 4.1.1 + resolution: "chalk@npm:4.1.1" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 036e973e665ba1a32c975e291d5f3d549bceeb7b1b983320d4598fb75d70fe20c5db5d62971ec0fe76cdbce83985a00ee42372416abfc3a5584465005a7855ed + languageName: node + linkType: hard + "chalk@npm:^2.3.0, chalk@npm:^2.4.1": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -3932,6 +4342,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^1.1.1": + version: 1.1.4 + resolution: "chownr@npm:1.1.4" + checksum: 115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -3939,6 +4356,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: fd73a4bab48b79e66903fe1cafbdc208956f41ea4f856df883d0c7277b7ab29fd33ee65f93b2ec9192fc0169238f2f8307b7735d27c155821d886b84aa97aa8d + languageName: node + linkType: hard + "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -3954,9 +4378,9 @@ __metadata: linkType: hard "ci-info@npm:^4.0.0": - version: 4.2.0 - resolution: "ci-info@npm:4.2.0" - checksum: 0e3726721526f54c5b17cf44ab2ed69b842c756bcb4d2b26ce279e595a80a856aec9fb38a2986a2baca3de73d15895f3a01d2771c4aad93c898aae7e3ca0ceb1 + version: 4.3.0 + resolution: "ci-info@npm:4.3.0" + checksum: 77a851ec826e1fbcd993e0e3ef402e6a5e499c733c475af056b7808dea9c9ede53e560ed433020489a8efea2d824fd68ca203446c9988a0bac8475210b0d4491 languageName: node linkType: hard @@ -4050,10 +4474,10 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^1.1.1": - version: 1.2.1 - resolution: "clsx@npm:1.2.1" - checksum: 30befca8019b2eb7dbad38cff6266cf543091dae2825c856a62a8ccf2c3ab9c2907c4d12b288b73101196767f66812365400a227581484a05f968b0307cfaf12 +"clsx@npm:^2.1.1": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: acd3e1ab9d8a433ecb3cc2f6a05ab95fe50b4a3cfc5ba47abb6cbf3754585fcb87b84e90c822a1f256c4198e3b41c7f6c391577ffc8678ad587fc0976b24fd57 languageName: node linkType: hard @@ -4337,9 +4761,9 @@ __metadata: linkType: hard "core-js-pure@npm:^3.6.5": - version: 3.42.0 - resolution: "core-js-pure@npm:3.42.0" - checksum: 37f2488e810db5ea23f623458b8d5861a5a858cde1b4d5777c89b531b00775a3df2cf814f69af0d9d16a421094f6c640c4466b9f86a8580d65263e3219c75440 + version: 3.44.0 + resolution: "core-js-pure@npm:3.44.0" + checksum: a7ed9069421b8a63a6a326cbb34828744e2c21bf7e870301a695a7cc474976a7f18326f7fff9c3e2d4fcdef1ca930e219ed5631a8e2f1baa132a893c542f4965 languageName: node linkType: hard @@ -4367,7 +4791,7 @@ __metadata: languageName: node linkType: hard -"crelt@npm:^1.0.5": +"crelt@npm:^1.0.5, crelt@npm:^1.0.6": version: 1.0.6 resolution: "crelt@npm:1.0.6" checksum: dad842093371ad702afbc0531bfca2b0a8dd920b23a42f26e66dabbed9aad9acd5b9030496359545ef3937c3aced0fd4ac39f7a2d280a23ddf9eb7fdcb94a69f @@ -4546,14 +4970,14 @@ __metadata: linkType: hard "debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.4.0 - resolution: "debug@npm:4.4.0" + version: 4.4.1 + resolution: "debug@npm:4.4.1" dependencies: ms: ^2.1.3 peerDependenciesMeta: supports-color: optional: true - checksum: fb42df878dd0e22816fc56e1fdca9da73caa85212fbe40c868b1295a6878f9101ae684f4eeef516c13acfc700f5ea07f1136954f43d4cd2d477a811144136479 + checksum: a43826a01cda685ee4cec00fb2d3322eaa90ccadbef60d9287debc2a886be3e835d9199c80070ede75a409ee57828c4c6cd80e4b154f2843f0dc95a570dc0729 languageName: node linkType: hard @@ -4574,10 +4998,19 @@ __metadata: languageName: node linkType: hard -"dedent@npm:1.5.3": - version: 1.5.3 - resolution: "dedent@npm:1.5.3" - peerDependencies: +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: ^3.1.0 + checksum: d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 + languageName: node + linkType: hard + +"dedent@npm:1.5.3": + version: 1.5.3 + resolution: "dedent@npm:1.5.3" + peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: @@ -4586,6 +5019,13 @@ __metadata: languageName: node linkType: hard +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 + languageName: node + linkType: hard + "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -4659,6 +5099,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.0": + version: 2.0.4 + resolution: "detect-libc@npm:2.0.4" + checksum: 3d186b7d4e16965e10e21db596c78a4e131f9eee69c0081d13b85e6a61d7448d3ba23fe7997648022bdfa3b0eb4cc3c289a44c8188df949445a20852689abef6 + languageName: node + linkType: hard + "detect-node@npm:^2.1.0": version: 2.1.0 resolution: "detect-node@npm:2.1.0" @@ -4748,9 +5195,9 @@ __metadata: linkType: hard "dotenv@npm:^16.4.5": - version: 16.5.0 - resolution: "dotenv@npm:16.5.0" - checksum: 6543fe87b5ddf2d60dd42df6616eec99148a5fc150cb4530fef5bda655db5204a3afa0e6f25f7cd64b20657ace4d79c0ef974bec32fdb462cad18754191e7a90 + version: 16.6.1 + resolution: "dotenv@npm:16.6.1" + checksum: e8bd63c9a37f57934f7938a9cf35de698097fadf980cb6edb61d33b3e424ceccfe4d10f37130b904a973b9038627c2646a3365a904b4406514ea94d7f1816b69 languageName: node linkType: hard @@ -4772,7 +5219,7 @@ __metadata: languageName: node linkType: hard -"duplexer@npm:^0.1.1": +"duplexer@npm:^0.1.1, duplexer@npm:~0.1.1": version: 0.1.2 resolution: "duplexer@npm:0.1.2" checksum: 62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 @@ -4816,10 +5263,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.149": - version: 1.5.150 - resolution: "electron-to-chromium@npm:1.5.150" - checksum: 0d0dd1e045f293b4c2598910734ddc7a1ccd5bba1bd7f3319242e531e7f4d9f87f3a667593f49ec0d36662b50933efb76b7addf952c90f95cae18bb3b01327e5 +"electron-to-chromium@npm:^1.5.173": + version: 1.5.185 + resolution: "electron-to-chromium@npm:1.5.185" + checksum: e84e14c116229d38aaa9ba4eae49fe0f8a5e6d67f32fab54e3d2b03f28e9655336c9efac14428001191d8ad79112d745c9dd22a9403cb43ddec707a6ac7782fb languageName: node linkType: hard @@ -4853,22 +5300,22 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.4.1": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" +"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": + version: 1.4.5 + resolution: "end-of-stream@npm:1.4.5" dependencies: once: ^1.4.0 - checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + checksum: 1e0cfa6e7f49887544e03314f9dfc56a8cb6dde910cbb445983ecc2ff426fc05946df9d75d8a21a3a64f2cecfe1bf88f773952029f46756b2ed64a24e95b1fb8 languageName: node linkType: hard -"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.17.1": - version: 5.18.1 - resolution: "enhanced-resolve@npm:5.18.1" +"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.17.2": + version: 5.18.2 + resolution: "enhanced-resolve@npm:5.18.2" dependencies: graceful-fs: ^4.2.4 tapable: ^2.2.0 - checksum: de5bea7debe3576e78173bcc409c4aee7fcb56580c602d5c47c533b92952e55d7da3d9f53b864846ba62c8bd3efb0f9ecfe5f865e57de2f3e9b6e5cda03b4e7e + checksum: af8c0f19cc414f69d7595507576db470c7435f550e7aa1d46292c40aaf1fe03c4d714c495bc31aa927f90887faa8880db428c8bca4dc1595844853ab2195ee25 languageName: node linkType: hard @@ -4930,25 +5377,25 @@ __metadata: linkType: hard "es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9": - version: 1.23.9 - resolution: "es-abstract@npm:1.23.9" + version: 1.24.0 + resolution: "es-abstract@npm:1.24.0" dependencies: array-buffer-byte-length: ^1.0.2 arraybuffer.prototype.slice: ^1.0.4 available-typed-arrays: ^1.0.7 call-bind: ^1.0.8 - call-bound: ^1.0.3 + call-bound: ^1.0.4 data-view-buffer: ^1.0.2 data-view-byte-length: ^1.0.2 data-view-byte-offset: ^1.0.1 es-define-property: ^1.0.1 es-errors: ^1.3.0 - es-object-atoms: ^1.0.0 + es-object-atoms: ^1.1.1 es-set-tostringtag: ^2.1.0 es-to-primitive: ^1.3.0 function.prototype.name: ^1.1.8 - get-intrinsic: ^1.2.7 - get-proto: ^1.0.0 + get-intrinsic: ^1.3.0 + get-proto: ^1.0.1 get-symbol-description: ^1.1.0 globalthis: ^1.0.4 gopd: ^1.2.0 @@ -4960,21 +5407,24 @@ __metadata: is-array-buffer: ^3.0.5 is-callable: ^1.2.7 is-data-view: ^1.0.2 + is-negative-zero: ^2.0.3 is-regex: ^1.2.1 + is-set: ^2.0.3 is-shared-array-buffer: ^1.0.4 is-string: ^1.1.1 is-typed-array: ^1.1.15 - is-weakref: ^1.1.0 + is-weakref: ^1.1.1 math-intrinsics: ^1.1.0 - object-inspect: ^1.13.3 + object-inspect: ^1.13.4 object-keys: ^1.1.1 object.assign: ^4.1.7 own-keys: ^1.0.1 - regexp.prototype.flags: ^1.5.3 + regexp.prototype.flags: ^1.5.4 safe-array-concat: ^1.1.3 safe-push-apply: ^1.0.0 safe-regex-test: ^1.1.0 set-proto: ^1.0.0 + stop-iteration-iterator: ^1.1.0 string.prototype.trim: ^1.2.10 string.prototype.trimend: ^1.0.9 string.prototype.trimstart: ^1.0.8 @@ -4983,8 +5433,8 @@ __metadata: typed-array-byte-offset: ^1.0.4 typed-array-length: ^1.0.7 unbox-primitive: ^1.1.0 - which-typed-array: ^1.1.18 - checksum: f3ee2614159ca197f97414ab36e3f406ee748ce2f97ffbf09e420726db5a442ce13f1e574601468bff6e6eb81588e6c9ce1ac6c03868a37c7cd48ac679f8485a + which-typed-array: ^1.1.19 + checksum: 06b3d605e56e3da9d16d4db2629a42dac1ca31f2961a41d15c860422a266115e865b43e82d6b9da81a0fabbbb65ebc12fb68b0b755bc9dbddacb6bf7450e96df languageName: node linkType: hard @@ -5119,11 +5569,11 @@ __metadata: linkType: hard "eslint-plugin-prettier@npm:^5.0.1": - version: 5.4.0 - resolution: "eslint-plugin-prettier@npm:5.4.0" + version: 5.5.1 + resolution: "eslint-plugin-prettier@npm:5.5.1" dependencies: prettier-linter-helpers: ^1.0.0 - synckit: ^0.11.0 + synckit: ^0.11.7 peerDependencies: "@types/eslint": ">=8.0.0" eslint: ">=8.0.0" @@ -5134,7 +5584,7 @@ __metadata: optional: true eslint-config-prettier: optional: true - checksum: 1d71d4fb42b8f9654232c6f9c6805549f7e9da6ee3207069dac122ab1c55eae90a0840f5c109e821e3a5145ec223dbbdfa7cfd3c3a28267316d08d55d5812e21 + checksum: 913ecebfeab932ed510d8608875594d2529dc28957eed0d56a896e9862257031038a9f0921dcf198d61475ef0f5904332a7f1839be387d0a314c91f3cfbf3817 languageName: node linkType: hard @@ -5295,6 +5745,28 @@ __metadata: languageName: node linkType: hard +"event-stream@npm:^4.0.0": + version: 4.0.1 + resolution: "event-stream@npm:4.0.1" + dependencies: + duplexer: ^0.1.1 + from: ^0.1.7 + map-stream: 0.0.7 + pause-stream: ^0.0.11 + split: ^1.0.1 + stream-combiner: ^0.2.2 + through: ^2.3.8 + checksum: 515cdff30c8dd74d5869cf53133b8851deba012605d2a15a1bc77b777b9d237ebf06d99ec62be2c6fc8adb2c89bf392771e2809239b278e5e70ba2f88cd1955c + languageName: node + linkType: hard + +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 + languageName: node + linkType: hard + "eventemitter3@npm:^4.0.4": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" @@ -5302,7 +5774,7 @@ __metadata: languageName: node linkType: hard -"events@npm:^3.2.0": +"events@npm:^3.2.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 @@ -5333,6 +5805,13 @@ __metadata: languageName: node linkType: hard +"expand-template@npm:^2.0.3": + version: 2.0.3 + resolution: "expand-template@npm:2.0.3" + checksum: 588c19847216421ed92befb521767b7018dc88f88b0576df98cb242f20961425e96a92cbece525ef28cc5becceae5d544ae0f5b9b5e2aa05acb13716ca5b3099 + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.2 resolution: "exponential-backoff@npm:3.1.2" @@ -5424,6 +5903,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.3, fdir@npm:^6.4.4": + version: 6.4.6 + resolution: "fdir@npm:6.4.6" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: fe9f3014901d023cf631831dcb9eae5447f4d7f69218001dd01ecf007eccc40f6c129a04411b5cc273a5f93c14e02e971e17270afc9022041c80be924091eb6f + languageName: node + linkType: hard + "fflate@npm:^0.8.0": version: 0.8.2 resolution: "fflate@npm:0.8.2" @@ -5449,6 +5940,24 @@ __metadata: languageName: node linkType: hard +"file-type@npm:^16.5.4": + version: 16.5.4 + resolution: "file-type@npm:16.5.4" + dependencies: + readable-web-to-node-stream: ^3.0.0 + strtok3: ^6.2.4 + token-types: ^4.1.1 + checksum: d983c0f36491c57fcb6cc70fcb02c36d6b53f312a15053263e1924e28ca8314adf0db32170801ad777f09432c32155f31715ceaee66310947731588120d7ec27 + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 + languageName: node + linkType: hard + "filelist@npm:^1.0.4": version: 1.0.4 resolution: "filelist@npm:1.0.4" @@ -5560,14 +6069,15 @@ __metadata: linkType: hard "form-data@npm:^4.0.0": - version: 4.0.2 - resolution: "form-data@npm:4.0.2" + version: 4.0.3 + resolution: "form-data@npm:4.0.3" dependencies: asynckit: ^0.4.0 combined-stream: ^1.0.8 es-set-tostringtag: ^2.1.0 + hasown: ^2.0.2 mime-types: ^2.1.12 - checksum: e887298b22c13c7c9c5a8ba3716f295a479a13ca78bfd855ef11cbce1bcf22bc0ae2062e94808e21d46e5c667664a1a1a8a7f57d7040193c1fefbfb11af58aab + checksum: b8e2568c0853ce167b2b9c9c4b81fe563f9ade647178baf6b6381cf8a11e3c01dd2b78a63ba367e6f5eab59afab8284a9438bb5ae768133f9d9fce6567fbc26a languageName: node linkType: hard @@ -5578,6 +6088,13 @@ __metadata: languageName: node linkType: hard +"from@npm:^0.1.7": + version: 0.1.7 + resolution: "from@npm:0.1.7" + checksum: b85125b7890489656eb2e4f208f7654a93ec26e3aefaf3bbbcc0d496fc1941e4405834fcc9fe7333192aa2187905510ace70417bbf9ac6f6f4784a731d986939 + languageName: node + linkType: hard + "front-matter@npm:^4.0.2": version: 4.0.2 resolution: "front-matter@npm:4.0.2" @@ -5679,6 +6196,29 @@ __metadata: languageName: node linkType: hard +"geojson-rbush@npm:3.x": + version: 3.2.0 + resolution: "geojson-rbush@npm:3.2.0" + dependencies: + "@turf/bbox": "*" + "@turf/helpers": 6.x + "@turf/meta": 6.x + "@types/geojson": 7946.0.8 + rbush: ^3.0.1 + checksum: f373e646f3699b86e3f88b16783bb8835b75446f0be9d5cbefbb5a0197e657ebe85fecfd7ce0b9140feecf532a88716c1aacf4d6a0dbcce1b48d6fd29d507927 + languageName: node + linkType: hard + +"geojson-stream@npm:0.1.0": + version: 0.1.0 + resolution: "geojson-stream@npm:0.1.0" + dependencies: + JSONStream: ^1.0.0 + through: ^2.3.4 + checksum: 0de882f32eee5aecc3abbf748a46fa0a6ba4d023c7749a6cbda11a367ad5999cfc6e11eb25fb7702defabdb4a57a41cb8267ffe1a98534017da8605abf29d604 + languageName: node + linkType: hard + "geojson-vt@npm:^4.0.2": version: 4.0.2 resolution: "geojson-vt@npm:4.0.2" @@ -5853,6 +6393,13 @@ __metadata: languageName: node linkType: hard +"github-from-package@npm:0.0.0": + version: 0.0.0 + resolution: "github-from-package@npm:0.0.0" + checksum: 14e448192a35c1e42efee94c9d01a10f42fe790375891a24b25261246ce9336ab9df5d274585aedd4568f7922246c2a78b8a8cd2571bfe99c693a9718e7dd0e3 + languageName: node + linkType: hard + "glob-parent@npm:6.0.2, glob-parent@npm:^6.0.1, glob-parent@npm:^6.0.2": version: 6.0.2 resolution: "glob-parent@npm:6.0.2" @@ -5945,13 +6492,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e - languageName: node - linkType: hard - "globals@npm:^13.19.0": version: 13.24.0 resolution: "globals@npm:13.24.0" @@ -5971,7 +6511,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:11.1.0, globby@npm:^11.1.0": +"globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -6170,9 +6710,9 @@ __metadata: linkType: hard "http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 7a7246ddfce629f96832791176fd643589d954e6f3b49548dadb4290451961237fab8fcea41cd2008fe819d95b41c1e8b97f47d088afc0a1c81705287b4ddbcc languageName: node linkType: hard @@ -6253,6 +6793,17 @@ __metadata: languageName: node linkType: hard +"image-size@npm:0.8.3": + version: 0.8.3 + resolution: "image-size@npm:0.8.3" + dependencies: + queue: 6.0.1 + bin: + image-size: bin/image-size.js + checksum: e118dc6a738b26e9e9c17bf947205a93a734971970f0a8d1827faa019f414d20af088c1f3c92105c4ec4f596fbc105e1e33217881cb6791a5cc505183f2fac15 + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" @@ -6318,7 +6869,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.2, ini@npm:^1.3.8": +"ini@npm:^1.3.2, ini@npm:^1.3.8, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -6347,6 +6898,27 @@ __metadata: languageName: node linkType: hard +"inquirer@npm:8.0.0": + version: 8.0.0 + resolution: "inquirer@npm:8.0.0" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^4.1.0 + cli-cursor: ^3.1.0 + cli-width: ^3.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.21 + mute-stream: 0.0.8 + run-async: ^2.4.0 + rxjs: ^6.6.6 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + through: ^2.3.6 + checksum: 289a485752922998118668ae1c15001bd5ff1cb61e02d101da78c47dd9c9f4d46d2fcbcc9ebcae22dcdb820323636021508c723550394043dfde0e4f213596ec + languageName: node + linkType: hard + "inquirer@npm:^8.2.4": version: 8.2.6 resolution: "inquirer@npm:8.2.6" @@ -6580,6 +7152,13 @@ __metadata: languageName: node linkType: hard +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: c1e6b23d2070c0539d7b36022d5a94407132411d01aba39ec549af824231f3804b1aea90b5e4e58e807a65d23ceb538ed6e355ce76b267bdd86edb757ffcbdcd + languageName: node + linkType: hard + "is-number-object@npm:^1.1.1": version: 1.1.1 resolution: "is-number-object@npm:1.1.1" @@ -6745,7 +7324,7 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1": version: 1.1.1 resolution: "is-weakref@npm:1.1.1" dependencies: @@ -7127,10 +7706,10 @@ __metadata: linkType: hard "lerna@npm:^8.1.9": - version: 8.2.2 - resolution: "lerna@npm:8.2.2" + version: 8.2.3 + resolution: "lerna@npm:8.2.3" dependencies: - "@lerna/create": 8.2.2 + "@lerna/create": 8.2.3 "@npmcli/arborist": 7.5.4 "@npmcli/package-json": 5.2.0 "@npmcli/run-script": 8.1.0 @@ -7157,7 +7736,6 @@ __metadata: get-stream: 6.0.0 git-url-parse: 14.0.0 glob-parent: 6.0.2 - globby: 11.1.0 graceful-fs: 4.2.11 has-unicode: 2.0.1 import-local: 3.1.0 @@ -7197,9 +7775,10 @@ __metadata: slash: 3.0.0 ssri: ^10.0.6 string-width: ^4.2.3 - strong-log-transformer: 2.1.0 tar: 6.2.1 temp-dir: 1.0.0 + through: 2.3.8 + tinyglobby: 0.2.12 typescript: ">=3 < 6" upath: 2.0.1 uuid: ^10.0.0 @@ -7212,7 +7791,7 @@ __metadata: yargs-parser: 21.1.1 bin: lerna: dist/cli.js - checksum: 60af894bdec7c78fba262e097f7a6cdc49949e90644805b62e76d5ed987129b10135ffcd2e23fed8516b4df64032630151c552b759d1578923ca5abefd96d36d + checksum: 450bbd422e4d4d8ae86389e03797b5330a4718614c70f5820b4dc3099869a98839a1b0bebaace049c7a65a0e31010c1d77c4892a21eedbe29e15035219ff6a17 languageName: node linkType: hard @@ -7234,15 +7813,15 @@ __metadata: linkType: hard "lib0@npm:^0.2.76, lib0@npm:^0.2.85, lib0@npm:^0.2.99": - version: 0.2.107 - resolution: "lib0@npm:0.2.107" + version: 0.2.111 + resolution: "lib0@npm:0.2.111" dependencies: isomorphic.js: ^0.2.4 bin: 0ecdsa-generate-keypair: bin/0ecdsa-generate-keypair.js 0gentesthtml: bin/gentesthtml.js 0serve: bin/0serve.js - checksum: d22889dff91746d7429f73c89b46790627c040c2e43d39ac084d83f74ada96df02e567cf3ecef409ea855c704afa3d8bc34113c235433c0f8b2ad76722c4f97d + checksum: 84ad7f159380dcc4689529f65bf933cc81b95a84b88eeb81bb69710be48850f54461f6afb31f706a10c030aee357e9b100d34e15631cb32d52365deea58be334 languageName: node linkType: hard @@ -7404,7 +7983,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": +"lodash@npm:4.17.21, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -7496,6 +8075,25 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": ^3.0.0 + cacache: ^19.0.1 + http-cache-semantics: ^4.1.1 + minipass: ^7.0.2 + minipass-fetch: ^4.0.0 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^1.0.0 + proc-log: ^5.0.0 + promise-retry: ^2.0.1 + ssri: ^12.0.0 + checksum: 6fb2fee6da3d98f1953b03d315826b5c5a4ea1f908481afc113782d8027e19f080c85ae998454de4e5f27a681d3ec58d57278f0868d4e0b736f51d396b661691 + languageName: node + linkType: hard + "map-obj@npm:^1.0.0": version: 1.0.1 resolution: "map-obj@npm:1.0.1" @@ -7510,12 +8108,19 @@ __metadata: languageName: node linkType: hard +"map-stream@npm:0.0.7": + version: 0.0.7 + resolution: "map-stream@npm:0.0.7" + checksum: 74596bc701abb3e328e0783d70fcfdc5204798d945662a1824b57b7f10f3c36835edee5881bdd68618f96c992594bcbe09233f12b04d3a6a55a76e1a5793b76e + languageName: node + linkType: hard + "markdown-to-jsx@npm:^7.4.1": - version: 7.7.6 - resolution: "markdown-to-jsx@npm:7.7.6" + version: 7.7.10 + resolution: "markdown-to-jsx@npm:7.7.10" peerDependencies: react: ">= 0.14.0" - checksum: 326fee0bd03686b640632c36a5250d2f3b9fba6d8cdf6719bc6c0b27cc27a1bed86ae3d940dacc52d7be28e02238ad458aa0b5fdb1331463a23037975a672202 + checksum: 674e2d0a2ca7632aae5de7d550c61e274d29ee6b5ccd6f479165a6cc2d96819d3bc35b1111deef8239d6353f19e2f5cbbd67b7eba9495bfab09e207ecea8a943 languageName: node linkType: hard @@ -7622,6 +8227,13 @@ __metadata: languageName: node linkType: hard +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 25739fee32c17f433626bf19f016df9036b75b3d84a3046c7d156e72ec963dd29d7fc8a302f55a3d6c5a4ff24259676b15d915aad6480815a969ff2ec0836867 + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -7715,7 +8327,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.0": +"minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.0": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 @@ -7746,6 +8358,21 @@ __metadata: languageName: node linkType: hard +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: ^0.1.13 + minipass: ^7.0.3 + minipass-sized: ^1.0.3 + minizlib: ^3.0.1 + dependenciesMeta: + encoding: + optional: true + checksum: 3dfca705ce887ca9ff14d73e8d8593996dea1a1ecd8101fdbb9c10549d1f9670bc8fb66ad0192769ead4c2dc01b4f9ca1cf567ded365adff17827a303b948140 + languageName: node + linkType: hard + "minipass-flush@npm:^1.0.5": version: 1.0.5 resolution: "minipass-flush@npm:1.0.5" @@ -7796,7 +8423,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3 @@ -7813,6 +8440,22 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: ^7.1.2 + checksum: 493bed14dcb6118da7f8af356a8947cf1473289c09658e5aabd69a737800a8c3b1736fb7d7931b722268a9c9bc038a6d53c049b6a6af24b34a121823bb709996 + languageName: node + linkType: hard + +"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": + version: 0.5.3 + resolution: "mkdirp-classic@npm:0.5.3" + checksum: 3f4e088208270bbcc148d53b73e9a5bd9eef05ad2cbf3b3d0ff8795278d50dd1d11a8ef1875ff5aea3fa888931f95bfcb2ad5b7c1061cfefd6284d199e6776ac + languageName: node + linkType: hard + "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -7822,6 +8465,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 972deb188e8fb55547f1e58d66bd6b4a3623bf0c7137802582602d73e6480c1c2268dcbafbfb1be466e00cc7e56ac514d7fd9334b7cf33e3e2ab547c16f83a8d + languageName: node + linkType: hard + "modify-values@npm:^1.0.1": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -7874,7 +8526,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.1.23, nanoid@npm:^3.3.7, nanoid@npm:^3.3.8": +"nanoid@npm:^3.1.23, nanoid@npm:^3.3.11, nanoid@npm:^3.3.7": version: 3.3.11 resolution: "nanoid@npm:3.3.11" bin: @@ -7892,6 +8544,13 @@ __metadata: languageName: node linkType: hard +"napi-build-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "napi-build-utils@npm:2.0.0" + checksum: 532121efd2dd2272595580bca48859e404bdd4ed455a72a28432ba44868c38d0e64fac3026a8f82bf8563d2a18b32eb9a1d59e601a9da4e84ba4d45b922297f5 + languageName: node + linkType: hard + "natural-compare-lite@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare-lite@npm:1.4.0" @@ -7913,6 +8572,13 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 20ebfe79b2d2e7cf9cbc8239a72662b584f71164096e6e8896c8325055497c96f6b80cd22c258e8a2f2aa382a787795ec3ee8b37b422a302c7d4381b0d5ecfbb + languageName: node + linkType: hard + "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -7934,6 +8600,15 @@ __metadata: languageName: node linkType: hard +"node-abi@npm:^3.3.0": + version: 3.75.0 + resolution: "node-abi@npm:3.75.0" + dependencies: + semver: ^7.3.5 + checksum: b86021c748b316b31efda4f1f4a74db9fd411b0ae63fa50be5b0247546285ae7e31c737e92013478877eaf39a3fd0a06072d48b1cace21ad629862373410416f + languageName: node + linkType: hard + "node-fetch@npm:2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" @@ -7968,6 +8643,26 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: ^2.2.0 + exponential-backoff: ^3.1.1 + graceful-fs: ^4.2.6 + make-fetch-happen: ^14.0.3 + nopt: ^8.0.0 + proc-log: ^5.0.0 + semver: ^7.3.5 + tar: ^7.4.3 + tinyglobby: ^0.2.12 + which: ^5.0.0 + bin: + node-gyp: bin/node-gyp.js + checksum: 2536282ba81f8a94b29482d3622b6ab298611440619e46de4512a6f32396a68b5530357c474b859787069d84a4c537d99e0c71078cce5b9f808bf84eeb78e8fb + languageName: node + linkType: hard + "node-machine-id@npm:1.1.12": version: 1.1.12 resolution: "node-machine-id@npm:1.1.12" @@ -7993,6 +8688,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: ^3.0.0 + bin: + nopt: bin/nopt.js + checksum: 49cfd3eb6f565e292bf61f2ff1373a457238804d5a5a63a8d786c923007498cba89f3648e3b952bc10203e3e7285752abf5b14eaf012edb821e84f24e881a92a + languageName: node + linkType: hard + "normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" @@ -8152,20 +8858,20 @@ __metadata: linkType: hard "nx@npm:>=17.1.2 < 21": - version: 20.8.1 - resolution: "nx@npm:20.8.1" + version: 20.8.2 + resolution: "nx@npm:20.8.2" dependencies: "@napi-rs/wasm-runtime": 0.2.4 - "@nx/nx-darwin-arm64": 20.8.1 - "@nx/nx-darwin-x64": 20.8.1 - "@nx/nx-freebsd-x64": 20.8.1 - "@nx/nx-linux-arm-gnueabihf": 20.8.1 - "@nx/nx-linux-arm64-gnu": 20.8.1 - "@nx/nx-linux-arm64-musl": 20.8.1 - "@nx/nx-linux-x64-gnu": 20.8.1 - "@nx/nx-linux-x64-musl": 20.8.1 - "@nx/nx-win32-arm64-msvc": 20.8.1 - "@nx/nx-win32-x64-msvc": 20.8.1 + "@nx/nx-darwin-arm64": 20.8.2 + "@nx/nx-darwin-x64": 20.8.2 + "@nx/nx-freebsd-x64": 20.8.2 + "@nx/nx-linux-arm-gnueabihf": 20.8.2 + "@nx/nx-linux-arm64-gnu": 20.8.2 + "@nx/nx-linux-arm64-musl": 20.8.2 + "@nx/nx-linux-x64-gnu": 20.8.2 + "@nx/nx-linux-x64-musl": 20.8.2 + "@nx/nx-win32-arm64-msvc": 20.8.2 + "@nx/nx-win32-x64-msvc": 20.8.2 "@yarnpkg/lockfile": ^1.1.0 "@yarnpkg/parsers": 3.0.2 "@zkochan/js-yaml": 0.0.7 @@ -8231,7 +8937,7 @@ __metadata: bin: nx: bin/nx.js nx-cloud: bin/nx-cloud.js - checksum: 6144b98885f4f974bdf31ee50d4daa22be292448b2c442b035d01e6584494c23ac8a81d28c9f1b431ca379a8996f6807f437a54ee47e92c83c89b1e1da119cc5 + checksum: fbc063f8dc7cd55b56164d636c5151d8da8c5fd6e22d15e7b141c5b75dda5f84d0bc7c381f1eb52791bd1916651110b851448c5a64a82413d9dd3784c8c54aca languageName: node linkType: hard @@ -8242,7 +8948,7 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.3": +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": version: 1.13.4 resolution: "object-inspect@npm:1.13.4" checksum: 582810c6a8d2ef988ea0a39e69e115a138dad8f42dd445383b394877e5816eb4268489f316a6f74ee9c4e0a984b3eab1028e3e79d62b1ed67c726661d55c7a8b @@ -8293,19 +8999,19 @@ __metadata: linkType: hard "ol@npm:>=6.7.0, ol@npm:^10.1.0": - version: 10.5.0 - resolution: "ol@npm:10.5.0" + version: 10.6.1 + resolution: "ol@npm:10.6.1" dependencies: "@types/rbush": 4.0.0 earcut: ^3.0.0 geotiff: ^2.1.3 pbf: 4.0.1 rbush: ^4.0.0 - checksum: feeb9c87a874ff27579d63994ece1d59fc5fa5ee232ff8079366877804e19cc7cd9e27403ec6166b5c3b91c3839240bf4aeae5d135e26b3d6918c3ec3a7582a9 + checksum: 5c3955251325c6c1b9450f79a47bbe69fdc2ffa308620f519932adb83d4d7198e140429336e32f8ed418b56bff94b20608b30313bd2a7de5a87c766a62390c7d languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.4.0": +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -8476,6 +9182,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 8c92d533acf82f0d12f7e196edccff773f384098bbb048acdd55a08778ce4fc8889d8f1bde72969487bd96f9c63212698d79744c20bedfce36c5b00b46d369f8 + languageName: node + linkType: hard + "p-pipe@npm:3.1.0": version: 3.1.0 resolution: "p-pipe@npm:3.1.0" @@ -8729,6 +9442,15 @@ __metadata: languageName: node linkType: hard +"pause-stream@npm:^0.0.11": + version: 0.0.11 + resolution: "pause-stream@npm:0.0.11" + dependencies: + through: ~2.3 + checksum: 3c4a14052a638b92e0c96eb00c0d7977df7f79ea28395250c525d197f1fc02d34ce1165d5362e2e6ebbb251524b94a76f3f0d4abc39ab8b016d97449fe15583c + languageName: node + linkType: hard + "pbf@npm:4.0.1, pbf@npm:^4.0.1": version: 4.0.1 resolution: "pbf@npm:4.0.1" @@ -8740,6 +9462,13 @@ __metadata: languageName: node linkType: hard +"peek-readable@npm:^4.1.0": + version: 4.1.0 + resolution: "peek-readable@npm:4.1.0" + checksum: 02c673f9bc816f8e4e74a054c097225ad38d457d745b775e2b96faf404a54473b2f62f5bcd496f5ebc28696708bcc5e95bed409856f4bef5ed62eae9b4ac0dab + languageName: node + linkType: hard + "picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" @@ -8754,6 +9483,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 6817fb74eb745a71445debe1029768de55fd59a42b75606f478ee1d0dc1aa6e78b711d041a7c9d5550e042642029b7f373dc1a43b224c4b7f12d23436735dba0 + languageName: node + linkType: hard + "pidtree@npm:^0.3.0": version: 0.3.1 resolution: "pidtree@npm:0.3.1" @@ -8810,6 +9546,16 @@ __metadata: languageName: node linkType: hard +"polygon-clipping@npm:^0.15.3": + version: 0.15.7 + resolution: "polygon-clipping@npm:0.15.7" + dependencies: + robust-predicates: ^3.0.2 + splaytree: ^3.1.0 + checksum: b68fb71d1770b362026f5e956919f5ebb1245bc6b24d7926ead1c55beaa2f539e19c22e47d2aa31587dcb4318c695020f9ccd0e63d0f0425ef34f4cb02228d42 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.1.0 resolution: "possible-typed-array-names@npm:1.1.0" @@ -8889,13 +9635,35 @@ __metadata: linkType: hard "postcss@npm:^8.3.11, postcss@npm:^8.4.33": - version: 8.5.3 - resolution: "postcss@npm:8.5.3" + version: 8.5.6 + resolution: "postcss@npm:8.5.6" dependencies: - nanoid: ^3.3.8 + nanoid: ^3.3.11 picocolors: ^1.1.1 source-map-js: ^1.2.1 - checksum: da574620eb84ff60e65e1d8fc6bd5ad87a19101a23d0aba113c653434161543918229a0f673d89efb3b6d4906287eb04b957310dbcf4cbebacad9d1312711461 + checksum: 20f3b5d673ffeec2b28d65436756d31ee33f65b0a8bedb3d32f556fbd5973be38c3a7fb5b959a5236c60a5db7b91b0a6b14ffaac0d717dce1b903b964ee1c1bb + languageName: node + linkType: hard + +"prebuild-install@npm:^7.1.1": + version: 7.1.3 + resolution: "prebuild-install@npm:7.1.3" + dependencies: + detect-libc: ^2.0.0 + expand-template: ^2.0.3 + github-from-package: 0.0.0 + minimist: ^1.2.3 + mkdirp-classic: ^0.5.3 + napi-build-utils: ^2.0.0 + node-abi: ^3.3.0 + pump: ^3.0.0 + rc: ^1.2.7 + simple-get: ^4.0.0 + tar-fs: ^2.0.0 + tunnel-agent: ^0.6.0 + bin: + prebuild-install: bin.js + checksum: 300740ca415e9ddbf2bd363f1a6d2673cc11dd0665c5ec431bbb5bf024c2f13c56791fb939ce2b2a2c12f2d2a09c91316169e8063a80eb4482a44b8fe5b265e1 languageName: node linkType: hard @@ -8925,11 +9693,11 @@ __metadata: linkType: hard "prettier@npm:^3.0.0": - version: 3.5.3 - resolution: "prettier@npm:3.5.3" + version: 3.6.2 + resolution: "prettier@npm:3.6.2" bin: prettier: bin/prettier.cjs - checksum: 61e97bb8e71a95d8f9c71f1fd5229c9aaa9d1e184dedb12399f76aa802fb6fdc8954ecac9df25a7f82ee7311cf8ddbd06baf5507388fc98e5b44036cc6a88a1b + checksum: 0206f5f437892e8858f298af8850bf9d0ef1c22e21107a213ba56bfb9c2387a2020bfda244a20161d8e3dad40c6b04101609a55d370dece53d0a31893b64f861 languageName: node linkType: hard @@ -8951,6 +9719,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: c78b26ecef6d5cce4a7489a1e9923d7b4b1679028c8654aef0463b27f4a90b0946cd598f55799da602895c52feb085ec76381d007ab8dcceebd40b89c2f9dfe0 + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -8979,13 +9754,23 @@ __metadata: languageName: node linkType: hard -"proj4@npm:^2.1.4, proj4@npm:^2.14.0": - version: 2.15.0 - resolution: "proj4@npm:2.15.0" +"proj4@npm:2.8.0": + version: 2.8.0 + resolution: "proj4@npm:2.8.0" + dependencies: + mgrs: 1.0.0 + wkt-parser: ^1.3.1 + checksum: 05c46387ac866bba699d50291507f9cfd2eece4806e375e7bc536c28c03af4d4ae8c386ab53a0c4a26a4b1718d5d0b30a6cf972614f4fb997e89bd262348c6b1 + languageName: node + linkType: hard + +"proj4@npm:^2.1.4, proj4@npm:^2.14.0, proj4@npm:^2.4.4": + version: 2.19.7 + resolution: "proj4@npm:2.19.7" dependencies: mgrs: 1.0.0 - wkt-parser: ^1.4.0 - checksum: a7197f33b4ba8cb9233c0e4a3363a71fc988dfdc69915a274e69952901441cc0721ef9a91febccff2d55d34e3f24a169f93451a1397b8965e4668060fb94702c + wkt-parser: ^1.5.1 + checksum: fb8a9b0fbc2666fc21fbb6daa39e3a532d39766dd84997091c6bec020d2d97576236c287e8d46ec8d579ff4882ea6b3cf011a0073422d28c092883851c87fe0f languageName: node linkType: hard @@ -9061,6 +9846,16 @@ __metadata: languageName: node linkType: hard +"pump@npm:^3.0.0": + version: 3.0.3 + resolution: "pump@npm:3.0.3" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: 52843fc933b838c0330f588388115a1b28ef2a5ffa7774709b142e35431e8ab0c2edec90de3fa34ebb72d59fef854f151eea7dfc211b6dcf586b384556bd2f39 + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -9082,6 +9877,15 @@ __metadata: languageName: node linkType: hard +"queue@npm:6.0.1": + version: 6.0.1 + resolution: "queue@npm:6.0.1" + dependencies: + inherits: ~2.0.3 + checksum: f39f70b030f9aebf4b32b0db5b7b11d2b799cdaedb190849532983fb31ba45a94d2ee48308e545e8452826b29a4ac996946579af7b42072f04ded3ce40c41703 + languageName: node + linkType: hard + "quick-lru@npm:^4.0.1": version: 4.0.1 resolution: "quick-lru@npm:4.0.1" @@ -9096,6 +9900,13 @@ __metadata: languageName: node linkType: hard +"quickselect@npm:^2.0.0": + version: 2.0.0 + resolution: "quickselect@npm:2.0.0" + checksum: ed2e78431050d223fb75da20ee98011aef1a03f7cb04e1a32ee893402e640be3cfb76d72e9dbe01edf3bb457ff6a62e5c2d85748424d1aa531f6ba50daef098c + languageName: node + linkType: hard + "quickselect@npm:^3.0.0": version: 3.0.0 resolution: "quickselect@npm:3.0.0" @@ -9112,6 +9923,15 @@ __metadata: languageName: node linkType: hard +"rbush@npm:^3.0.1": + version: 3.0.1 + resolution: "rbush@npm:3.0.1" + dependencies: + quickselect: ^2.0.0 + checksum: b7def5ba762ca01b6c7c032098ef61b86bd4fef4afb82e4a1d70a07a929b39e779290446c2d4730f577e8a1c8fd0dfd349605b5ea0229258d5f013debdffa65a + languageName: node + linkType: hard + "rbush@npm:^4.0.0": version: 4.0.1 resolution: "rbush@npm:4.0.1" @@ -9121,6 +9941,20 @@ __metadata: languageName: node linkType: hard +"rc@npm:^1.2.7": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: ^0.6.0 + ini: ~1.3.0 + minimist: ^1.2.0 + strip-json-comments: ~2.0.1 + bin: + rc: ./cli.js + checksum: 2e26e052f8be2abd64e6d1dabfbd7be03f80ec18ccbc49562d31f617d0015fbdbcf0f9eed30346ea6ab789e0fdfe4337f033f8016efdbee0df5354751842080e + languageName: node + linkType: hard + "react-dom@npm:^18.2.0": version: 18.3.1 resolution: "react-dom@npm:18.3.1" @@ -9134,15 +9968,15 @@ __metadata: linkType: hard "react-draggable@npm:^4.4.5": - version: 4.4.6 - resolution: "react-draggable@npm:4.4.6" + version: 4.5.0 + resolution: "react-draggable@npm:4.5.0" dependencies: - clsx: ^1.1.1 + clsx: ^2.1.1 prop-types: ^15.8.1 peerDependencies: react: ">= 16.3.0" react-dom: ">= 16.3.0" - checksum: 9b15aac59244873ac4561c5a2bead43a56e18d406e0a5f242bd4f9d151c074530c02b99387983104bf43417292f9cf8d063e554ed08d88792235e3fbc965f1b8 + checksum: a5563ed8142ab77e9e68af9b5a57484358462bae76368691362419d7fb4d9fba73300b5c5d1346db6551d88743c68746dc18bc035276db1539d0ad0aff6580cc languageName: node linkType: hard @@ -9257,6 +10091,19 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^4.7.0": + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" + dependencies: + abort-controller: ^3.0.0 + buffer: ^6.0.3 + events: ^3.3.0 + process: ^0.11.10 + string_decoder: ^1.3.0 + checksum: 03ec762faed8e149dc6452798b60394a8650861a1bb4bf936fa07b94044826bc25abe73696f5f45372abc404eec01876c560f64b479eba108b56397312dbe2ae + languageName: node + linkType: hard + "readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -9272,6 +10119,15 @@ __metadata: languageName: node linkType: hard +"readable-web-to-node-stream@npm:^3.0.0": + version: 3.0.4 + resolution: "readable-web-to-node-stream@npm:3.0.4" + dependencies: + readable-stream: ^4.7.0 + checksum: a11704035cab9ad857a3081e7663dca28a7befd7328e5b2eb2c124e4150e08534ea00c3159e5f7ff2588fca366b348a7d8d2bc0bc7d5eabc6b7108dd753886b7 + languageName: node + linkType: hard + "rechoir@npm:^0.8.0": version: 0.8.0 resolution: "rechoir@npm:0.8.0" @@ -9307,7 +10163,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.3": +"regexp.prototype.flags@npm:^1.5.4": version: 1.5.4 resolution: "regexp.prototype.flags@npm:1.5.4" dependencies: @@ -9321,6 +10177,21 @@ __metadata: languageName: node linkType: hard +"reproject@npm:1.2.5": + version: 1.2.5 + resolution: "reproject@npm:1.2.5" + dependencies: + concat-stream: ^2.0.0 + event-stream: ^4.0.0 + geojson-stream: 0.1.0 + minimist: ^1.2.0 + proj4: ^2.4.4 + bin: + reproject: cli.js + checksum: 5cc5f8d7cc0f16f3395a40044323f678f5f6f40d74073feb18fb2296b490f1f757d965cc03ebcc3e65461713c3d062223fc0c936dee71135b0e4733996c252f7 + languageName: node + linkType: hard + "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -9453,6 +10324,20 @@ __metadata: languageName: node linkType: hard +"robust-predicates@npm:^3.0.2": + version: 3.0.2 + resolution: "robust-predicates@npm:3.0.2" + checksum: 36854c1321548ceca96d36ad9d6e0a5a512986029ec6929ad6ed3ec1612c22cc8b46cc72d2c5674af42e8074a119d793f6f0ea3a5b51373e3ab926c64b172d7a + languageName: node + linkType: hard + +"rtree-sql.js@npm:1.7.0": + version: 1.7.0 + resolution: "rtree-sql.js@npm:1.7.0" + checksum: feac8cef720348dcd3aad1d87f35588a302c96c4d2c86ce474a26f687419d49edfd18323c2f2de332909b781623d7c7047b166c2e39e3a7717214052064bef50 + languageName: node + linkType: hard + "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -9469,6 +10354,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^6.6.6": + version: 6.6.7 + resolution: "rxjs@npm:6.6.7" + dependencies: + tslib: ^1.9.0 + checksum: bc334edef1bb8bbf56590b0b25734ba0deaf8825b703256a93714308ea36dff8a11d25533671adf8e104e5e8f256aa6fdfe39b2e248cdbd7a5f90c260acbbd1b + languageName: node + linkType: hard + "rxjs@npm:^7.5.5": version: 7.8.2 resolution: "rxjs@npm:7.8.2" @@ -9491,7 +10385,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -9607,11 +10501,11 @@ __metadata: linkType: hard "semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4": - version: 7.7.1 - resolution: "semver@npm:7.7.1" + version: 7.7.2 + resolution: "semver@npm:7.7.2" bin: semver: bin/semver.js - checksum: 586b825d36874007c9382d9e1ad8f93888d8670040add24a28e06a910aeebd673a2eb9e3bf169c6679d9245e66efb9057e0852e70d9daa6c27372aab1dda7104 + checksum: dd94ba8f1cbc903d8eeb4dd8bf19f46b3deb14262b6717d0de3c804b594058ae785ef2e4b46c5c3b58733c99c83339068203002f9e37cfe44f7e2cc5e3d2f621 languageName: node linkType: hard @@ -9717,9 +10611,9 @@ __metadata: linkType: hard "shell-quote@npm:^1.6.1": - version: 1.8.2 - resolution: "shell-quote@npm:1.8.2" - checksum: 1e97b62ced1c4c5135015978ebf273bed1f425a68cf84163e83fbb0f34b3ff9471e656720dab2b7cbb4ae0f58998e686d17d166c28dfb3662acd009e8bd7faed + version: 1.8.3 + resolution: "shell-quote@npm:1.8.3" + checksum: 550dd84e677f8915eb013d43689c80bb114860649ec5298eb978f40b8f3d4bc4ccb072b82c094eb3548dc587144bb3965a8676f0d685c1cf4c40b5dc27166242 languageName: node linkType: hard @@ -9810,6 +10704,31 @@ __metadata: languageName: node linkType: hard +"simple-concat@npm:^1.0.0": + version: 1.0.1 + resolution: "simple-concat@npm:1.0.1" + checksum: 4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a + languageName: node + linkType: hard + +"simple-get@npm:^4.0.0": + version: 4.0.1 + resolution: "simple-get@npm:4.0.1" + dependencies: + decompress-response: ^6.0.0 + once: ^1.3.1 + simple-concat: ^1.0.0 + checksum: e4132fd27cf7af230d853fa45c1b8ce900cb430dd0a3c6d3829649fe4f2b26574c803698076c4006450efb0fad2ba8c5455fbb5755d4b0a5ec42d4f12b31d27e + languageName: node + linkType: hard + +"simplify-js@npm:1.2.4": + version: 1.2.4 + resolution: "simplify-js@npm:1.2.4" + checksum: 5bbc7b6223565ce7e1aa636405a973fc6a34b3b2704d697682d3023cf2582a8a7c5fdb42f1b251749d6377b44465d3c33d60aa98306192d9ba069d71dc778735 + languageName: node + linkType: hard + "slash@npm:3.0.0, slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -9843,12 +10762,12 @@ __metadata: linkType: hard "socks@npm:^2.8.3": - version: 2.8.4 - resolution: "socks@npm:2.8.4" + version: 2.8.6 + resolution: "socks@npm:2.8.6" dependencies: ip-address: ^9.0.5 smart-buffer: ^4.2.0 - checksum: cd1edc924475d5dfde534adf66038df7e62c7343e6b8c0113e52dc9bb6a0a10e25b2f136197f379d695f18e8f0f2b7f6e42977bf720ddbee912a851201c396ad + checksum: 3d2a696d42d94b05b2a7e797b9291483d6768b23300b015353f34f8046cce35f23fe59300a38a77a9f0dee4274dd6c333afbdef628cf48f3df171bfb86c2d21c languageName: node linkType: hard @@ -9961,6 +10880,13 @@ __metadata: languageName: node linkType: hard +"splaytree@npm:^3.1.0": + version: 3.1.2 + resolution: "splaytree@npm:3.1.2" + checksum: 7b90a52e02036699b0c7228bb86c784aa674618909622da652c80a809694dafa068b73c97309ecb719783b7c1e1092ac6917acf2213defc0fa9027f92b2afa62 + languageName: node + linkType: hard + "split2@npm:^3.2.2": version: 3.2.2 resolution: "split2@npm:3.2.2" @@ -10009,6 +10935,25 @@ __metadata: languageName: node linkType: hard +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: ^7.0.3 + checksum: ef4b6b0ae47b4a69896f5f1c4375f953b9435388c053c36d27998bc3d73e046969ccde61ab659e679142971a0b08e50478a1228f62edb994105b280f17900c98 + languageName: node + linkType: hard + +"stop-iteration-iterator@npm:^1.1.0": + version: 1.1.0 + resolution: "stop-iteration-iterator@npm:1.1.0" + dependencies: + es-errors: ^1.3.0 + internal-slot: ^1.1.0 + checksum: be944489d8829fb3bdec1a1cc4a2142c6b6eb317305eeace1ece978d286d6997778afa1ae8cb3bd70e2b274b9aa8c69f93febb1e15b94b1359b11058f9d3c3a1 + languageName: node + linkType: hard + "stream-browserify@npm:^3.0.0": version: 3.0.0 resolution: "stream-browserify@npm:3.0.0" @@ -10019,6 +10964,16 @@ __metadata: languageName: node linkType: hard +"stream-combiner@npm:^0.2.2": + version: 0.2.2 + resolution: "stream-combiner@npm:0.2.2" + dependencies: + duplexer: ~0.1.1 + through: ~2.3.4 + checksum: 5d3f4f6dd3604b3c5acf16150eabbbd131247378b54719c39cac5b5793150a92842306f662b58df65f2bd2e64bf8081f21449489591fed440c2b280021474e7d + languageName: node + linkType: hard + "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -10091,7 +11046,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -10164,16 +11119,20 @@ __metadata: languageName: node linkType: hard -"strong-log-transformer@npm:2.1.0": - version: 2.1.0 - resolution: "strong-log-transformer@npm:2.1.0" +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 + languageName: node + linkType: hard + +"strtok3@npm:^6.2.4": + version: 6.3.0 + resolution: "strtok3@npm:6.3.0" dependencies: - duplexer: ^0.1.1 - minimist: ^1.2.0 - through: ^2.3.4 - bin: - sl-log-transformer: bin/sl-log-transformer.js - checksum: abf9a4ac143118f26c3a0771b204b02f5cf4fa80384ae158f25e02bfbff761038accc44a7f65869ccd5a5995a7f2c16b1466b83149644ba6cecd3072a8927297 + "@tokenizer/token": ^0.3.0 + peek-readable: ^4.1.0 + checksum: 90732cff3f325aef7c47c511f609b593e0873ec77b5081810071cde941344e6a0ee3ccb0cae1a9f5b4e12c81a2546fd6b322fabcdfbd1dd08362c2ce5291334a languageName: node linkType: hard @@ -10249,13 +11208,12 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.11.0": - version: 0.11.4 - resolution: "synckit@npm:0.11.4" +"synckit@npm:^0.11.7": + version: 0.11.8 + resolution: "synckit@npm:0.11.8" dependencies: - "@pkgr/core": ^0.2.3 - tslib: ^2.8.1 - checksum: ebbc345153c5cadcdd5b15b3a97ced98cfcff7cb6c2ef4c448e60814dd64e9dea0e0e77a7f0dd3daf6c4c287e170b83cbed8f4d5c08c8566152b293c4d889e11 + "@pkgr/core": ^0.2.4 + checksum: dd7193736e0b5eb209192e280649b98b539537bf23bef20c8a2b24cd12ccde47bcf4e77773ff9cb66c35960d2cb41e28c05e0b19124488abbfb6423258b56275 languageName: node linkType: hard @@ -10267,13 +11225,25 @@ __metadata: linkType: hard "tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 + version: 2.2.2 + resolution: "tapable@npm:2.2.2" + checksum: 781b3666f4454eb506fd2bcd985c1994f2b93884ea88a7a2a5be956cad8337b31128a7591e771f7aab8e247993b2a0887d360a2d4f54382902ed89994c102740 + languageName: node + linkType: hard + +"tar-fs@npm:^2.0.0": + version: 2.1.3 + resolution: "tar-fs@npm:2.1.3" + dependencies: + chownr: ^1.1.1 + mkdirp-classic: ^0.5.2 + pump: ^3.0.0 + tar-stream: ^2.1.4 + checksum: 8dd66c20779c1fe535df5cf2ab5132705c12aba3ab95283f225a798329c5aaa8bbe92144c8e21bc9404f46a0d3ce59fc4997f5c42bafc55b6a225d4ad15aa966 languageName: node linkType: hard -"tar-stream@npm:~2.2.0": +"tar-stream@npm:^2.1.4, tar-stream@npm:~2.2.0": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" dependencies: @@ -10300,6 +11270,20 @@ __metadata: languageName: node linkType: hard +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": ^4.0.0 + chownr: ^3.0.0 + minipass: ^7.1.2 + minizlib: ^3.0.1 + mkdirp: ^3.0.1 + yallist: ^5.0.0 + checksum: 8485350c0688331c94493031f417df069b778aadb25598abdad51862e007c39d1dd5310702c7be4a6784731a174799d8885d2fde0484269aea205b724d7b2ffa + languageName: node + linkType: hard + "temp-dir@npm:1.0.0": version: 1.0.0 resolution: "temp-dir@npm:1.0.0" @@ -10330,16 +11314,16 @@ __metadata: linkType: hard "terser@npm:^5.31.1": - version: 5.39.0 - resolution: "terser@npm:5.39.0" + version: 5.43.1 + resolution: "terser@npm:5.43.1" dependencies: "@jridgewell/source-map": ^0.3.3 - acorn: ^8.8.2 + acorn: ^8.14.0 commander: ^2.20.0 source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: e39c302aed7a70273c8b03032c37c68c8d9d3b432a7b6abe89caf9d087f7dd94d743c01ee5ba1431a095ad347c4a680b60d258f298a097cf512346d6041eb661 + checksum: 1d51747f4540a0842139c2f2617e88d68a26da42d7571cda8955e1bd8febac6e60bc514c258781334e1724aeeccfbd511473eb9d8d831435e4e5fad1ce7f6e8b languageName: node linkType: hard @@ -10401,7 +11385,7 @@ __metadata: languageName: node linkType: hard -"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6": +"through@npm:2, through@npm:2.3.8, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3, through@npm:~2.3.4": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd @@ -10418,6 +11402,26 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:0.2.12": + version: 0.2.12 + resolution: "tinyglobby@npm:0.2.12" + dependencies: + fdir: ^6.4.3 + picomatch: ^4.0.2 + checksum: ef9357fa1b2b661afdccd315cb4995f5f36bce948faaace68aae85fe57bdd8f837883045c88efc50d3186bac6586e4ae2f31026b9a3aac061b884217e6092e23 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.14 + resolution: "tinyglobby@npm:0.2.14" + dependencies: + fdir: ^6.4.4 + picomatch: ^4.0.2 + checksum: 261e986e3f2062dec3a582303bad2ce31b4634b9348648b46828c000d464b012cf474e38f503312367d4117c3f2f18611992738fca684040758bba44c24de522 + languageName: node + linkType: hard + "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -10443,6 +11447,16 @@ __metadata: languageName: node linkType: hard +"token-types@npm:^4.1.1": + version: 4.2.1 + resolution: "token-types@npm:4.2.1" + dependencies: + "@tokenizer/token": ^0.3.0 + ieee754: ^1.2.1 + checksum: cce256766b33e0f08ceffefa2198fb4961a417866d00780e58625999ab5c0699821407053e64eadc41b00bbb6c0d0c4d02fbd2199940d8a3ccb71e1b148ab9a2 + languageName: node + linkType: hard + "tr46@npm:^2.1.0": version: 2.1.0 resolution: "tr46@npm:2.1.0" @@ -10500,7 +11514,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.13.0, tslib@npm:^1.8.1": +"tslib@npm:^1.13.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd @@ -10536,6 +11550,15 @@ __metadata: languageName: node linkType: hard +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: ^5.0.1 + checksum: 05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -10712,10 +11735,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.21.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 46331c7d6016bf85b3e8f20c159d62f5ae471aba1eb3dc52fff35a0259d58dcc7d592d4cc4f00c5f9243fa738a11cfa48bd20203040d4a9e6bc25e807fab7ab3 +"undici-types@npm:~7.8.0": + version: 7.8.0 + resolution: "undici-types@npm:7.8.0" + checksum: 59521a5b9b50e72cb838a29466b3557b4eacbc191a83f4df5a2f7b156bc8263072b145dc4bb8ec41da7d56a7e9b178892458da02af769243d57f801a50ac5751 languageName: node linkType: hard @@ -10728,6 +11751,15 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: ^5.0.0 + checksum: 6a62094fcac286b9ec39edbd1f8f64ff92383baa430af303dfed1ffda5e47a08a6b316408554abfddd9730c78b6106bef4ca4d02c1231a735ddd56ced77573df + languageName: node + linkType: hard + "unique-slug@npm:^4.0.0": version: 4.0.0 resolution: "unique-slug@npm:4.0.0" @@ -10737,6 +11769,15 @@ __metadata: languageName: node linkType: hard +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 222d0322bc7bbf6e45c08967863212398313ef73423f4125e075f893a02405a5ffdbaaf150f7dd1e99f8861348a486dd079186d27c5f2c60e465b7dcbb1d3e5b + languageName: node + linkType: hard + "universal-user-agent@npm:^6.0.0": version: 6.0.1 resolution: "universal-user-agent@npm:6.0.1" @@ -10957,12 +11998,12 @@ __metadata: linkType: hard "watchpack@npm:^2.4.1": - version: 2.4.2 - resolution: "watchpack@npm:2.4.2" + version: 2.4.4 + resolution: "watchpack@npm:2.4.4" dependencies: glob-to-regexp: ^0.4.1 graceful-fs: ^4.1.2 - checksum: 92d9d52ce3d16fd83ed6994d1dd66a4d146998882f4c362d37adfea9ab77748a5b4d1e0c65fa104797928b2d40f635efa8f9b925a6265428a69f1e1852ca3441 + checksum: 469514a04bcdd7ea77d4b3c62d1f087eafbce64cbc728c89355d5710ee01311533456122da7c585d3654d5bfcf09e6085db1a6eb274c4762a18e370526d17561 languageName: node linkType: hard @@ -11049,27 +12090,28 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^3.2.3": - version: 3.2.3 - resolution: "webpack-sources@npm:3.2.3" - checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 +"webpack-sources@npm:^3.3.3": + version: 3.3.3 + resolution: "webpack-sources@npm:3.3.3" + checksum: 243d438ec4dfe805cca20fa66d111114b1f277b8ecfa95bb6ee0a6c7d996aee682539952028c2b203a6c170e6ef56f71ecf3e366e90bf1cb58b0ae982176b651 languageName: node linkType: hard "webpack@npm:^5.76.1, webpack@npm:^5.76.3, webpack@npm:^5.77.0": - version: 5.99.8 - resolution: "webpack@npm:5.99.8" + version: 5.100.2 + resolution: "webpack@npm:5.100.2" dependencies: "@types/eslint-scope": ^3.7.7 - "@types/estree": ^1.0.6 + "@types/estree": ^1.0.8 "@types/json-schema": ^7.0.15 "@webassemblyjs/ast": ^1.14.1 "@webassemblyjs/wasm-edit": ^1.14.1 "@webassemblyjs/wasm-parser": ^1.14.1 - acorn: ^8.14.0 + acorn: ^8.15.0 + acorn-import-phases: ^1.0.3 browserslist: ^4.24.0 chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.17.1 + enhanced-resolve: ^5.17.2 es-module-lexer: ^1.2.1 eslint-scope: 5.1.1 events: ^3.2.0 @@ -11083,13 +12125,20 @@ __metadata: tapable: ^2.1.1 terser-webpack-plugin: ^5.3.11 watchpack: ^2.4.1 - webpack-sources: ^3.2.3 + webpack-sources: ^3.3.3 peerDependenciesMeta: webpack-cli: optional: true bin: webpack: bin/webpack.js - checksum: 40388883f17bb8c68fe0cc10cf158c350a90e52495c9ae465002b83a5eb0106079f42544bd7b177fb2a79fd9cd9c63f4a5a72c71474411bdccec3cfb53a597a5 + checksum: 78003fe8948ab6c5192b9fbabdef9c4f572229b7da9c950b4e9f4625d2907a7c1a3c2b77b507f1eab5c33d29964802d24826230a17dd3d34b1a73612693f4172 + languageName: node + linkType: hard + +"webworkify@npm:1.5.0": + version: 1.5.0 + resolution: "webworkify@npm:1.5.0" + checksum: 426c10e0b94cac0678aed05fdf1abce98e8e11a523380537bab99fcd63df7c4b71b3630e61ab8052fdbd8d6e55e53700523b423cd475b258f95be5189d8cde49 languageName: node linkType: hard @@ -11167,7 +12216,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.2": +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19, which-typed-array@npm:^1.1.2": version: 1.1.19 resolution: "which-typed-array@npm:1.1.19" dependencies: @@ -11215,6 +12264,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: ^3.1.1 + bin: + node-which: bin/which.js + checksum: 6ec99e89ba32c7e748b8a3144e64bfc74aa63e2b2eacbb61a0060ad0b961eb1a632b08fb1de067ed59b002cec3e21de18299216ebf2325ef0f78e0f121e14e90 + languageName: node + linkType: hard + "wide-align@npm:1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" @@ -11231,10 +12291,19 @@ __metadata: languageName: node linkType: hard -"wkt-parser@npm:^1.4.0": - version: 1.4.0 - resolution: "wkt-parser@npm:1.4.0" - checksum: 52d1b59ea0345f7d921a40547848fd51751ab20afed1c79ae1b9fb2434df4e8d79c91db0456edca58063b0ce6fb760d8d25bbc4de7e4b85c6be238e247632938 +"wkt-parser@npm:^1.3.1, wkt-parser@npm:^1.5.1": + version: 1.5.2 + resolution: "wkt-parser@npm:1.5.2" + checksum: 0055b11008bf47c390ae7c517ee3e2aa093b0c1149c8039c2d86d3dd3d33908e3ead31839addfbcd3fa4abf035348fc192cfae985296848f8eb6644c810108c9 + languageName: node + linkType: hard + +"wkx@npm:0.4.8": + version: 0.4.8 + resolution: "wkx@npm:0.4.8" + dependencies: + "@types/node": "*" + checksum: c11a165d3d2effe0764eb04f2cb634528a485b2215aa373ca535bded9bfe016a107f3e96fd99b6f771e579b0603a378f4746d68661b22e70929660eb6b01dd69 languageName: node linkType: hard @@ -11351,8 +12420,8 @@ __metadata: linkType: hard "ws@npm:^8.11.0": - version: 8.18.2 - resolution: "ws@npm:8.18.2" + version: 8.18.3 + resolution: "ws@npm:8.18.3" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -11361,7 +12430,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: e38beae19ba4d68577ec24eb34fbfab376333fedd10f99b07511a8e842e22dbc102de39adac333a18e4c58868d0703cd5f239b04b345e22402d0ed8c34ea0aa0 + checksum: d64ef1631227bd0c5fe21b3eb3646c9c91229402fb963d12d87b49af0a1ef757277083af23a5f85742bae1e520feddfb434cb882ea59249b15673c16dc3f36e0 languageName: node linkType: hard @@ -11415,12 +12484,19 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: eba51182400b9f35b017daa7f419f434424410691bbc5de4f4240cc830fdef906b504424992700dc047f16b4d99100a6f8b8b11175c193f38008e9c96322b6a5 + languageName: node + linkType: hard + "yaml@npm:^2.6.0": - version: 2.7.1 - resolution: "yaml@npm:2.7.1" + version: 2.8.0 + resolution: "yaml@npm:2.8.0" bin: yaml: bin.mjs - checksum: 385f8115ddfafdf8e599813cca8b2bf4e3f6a01b919fff5ae7da277e164df684d7dfe558b4085172094792b5a04786d3c55fa8b74abb0ee029873f031150bb80 + checksum: 66f103ca5a2f02dac0526895cc7ae7626d91aa8c43aad6fdcff15edf68b1199be4012140b390063877913441aaa5288fdf57eca30e06268a8282dd741525e626 languageName: node linkType: hard @@ -11491,11 +12567,11 @@ __metadata: linkType: hard "yjs@npm:^13.5.0, yjs@npm:^13.5.40": - version: 13.6.26 - resolution: "yjs@npm:13.6.26" + version: 13.6.27 + resolution: "yjs@npm:13.6.27" dependencies: lib0: ^0.2.99 - checksum: 86def6cce6410aa929d1ba62dc712d8f73261f16b4526589b5a2354c206d936bb922e28fff93391f49c23fef251d911d34475e52c7998a77be0b8536a36825c7 + checksum: 3c934464cf28027278fa0d000568148d02af04d89d9debae7781aa50f09e20895de071120f9bd2b40faa115322a7ed8933518537344d78fb2a470e6d06df95a0 languageName: node linkType: hard From ba9a184a062a7300eb68028d0c48e658eb70c194 Mon Sep 17 00:00:00 2001 From: elifsu Date: Thu, 17 Jul 2025 10:17:23 +0200 Subject: [PATCH 10/26] Add gpkg raster layers from URLs and set projection for vector layers --- .../base/src/formbuilder/creationform.tsx | 3 +- packages/base/src/mainview/mainView.tsx | 3 +- packages/base/src/tools.ts | 32 +++++++++---------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index 7c02684fe..ade46801b 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -175,7 +175,8 @@ export class CreationForm extends React.Component { name: `${source.name} ${tableName} Source`, parameters: { path: source.path, - tables: tableName + tables: tableName, + projection: source.projection || 'EPSG:4326' } }; this.props.model.sharedModel.addSource(childId, sourceModel); diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index 41a1472de..6e2f01334 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -709,9 +709,8 @@ export class MainView extends React.Component { }); const table = tableMap[parameters.tables]; - const vectorSource = table.source; - //parameters.vectorSource = vectorSource; safe to delete? + vectorSource['projection'] = getProjection(parameters.projection); newSource = vectorSource; break; } diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index a5d702c55..0331a4390 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -493,8 +493,8 @@ export const loadGeoTiff = async ( }; }; -type TableMap = Record; -const cache = new Map>(); +type TableMap = Record; //TODO: Define a more specific type +const cache = new Map>(); //TODO give a more specific name export function loadGeoPackageVectorFile( filepath: string, @@ -504,9 +504,7 @@ export function loadGeoPackageVectorFile( if (!cache.has(cache_filename)) { const loader = (async (): Promise => { try { - console.log(filepath, projection); const [tables, slds] = await loadGpkg(filepath, projection); - console.log('done'); const tableMap: TableMap = {}; for (const name of Object.keys(tables)) { tableMap[name] = { @@ -527,27 +525,21 @@ export function loadGeoPackageVectorFile( export function loadGeoPackageRasterFile( - filepath: string, - projection: string, //TODO - cache_filename: string, - uintarray :any + file: Uint8Array , + cache_filename: string ) { if (!cache.has(cache_filename)) { const loader = (async (): Promise => { try { - const geoPackage = await GeoPackageAPI.open(uintarray); + const geoPackage = await GeoPackageAPI.open(file); const tileTables = geoPackage.getTileTables(); const tableMap: TableMap = {}; tileTables.forEach(table => { - console.log('tablename',table); const tileDao = geoPackage.getTileDao(table); - console.log('tileDao',tileDao); tableMap[table] = {gpr: new GeoPackageTileRetriever(tileDao, 256, 256), tileDao: tileDao}; - console.log('tableMap[table]', tableMap[table]); } ) - console.log('tablemap', tableMap); return tableMap; } catch (e: any) { showErrorMessage('Failed to load gpkg file', e); @@ -572,7 +564,7 @@ export async function getGeoPackageTableNames( } else { const file = await model.contentsManager!.get(filepath, { - content: true + content: true //TODO: can we do this another way? }); const arrayBuffer = await stringToArrayBuffer(file.content) const bytes = new Uint8Array(arrayBuffer); @@ -682,7 +674,15 @@ export const loadFile = async (fileInfo: { if (!projection) { throw new Error(`Projection is not specified for ${filepath}`); } - return loadGeoPackageRasterFile(filepath, '', filepath, filepath+'Raster'); + return await fetchWithProxies( + filepath, + model, + async response => { + const arrayBuffer = await response.arrayBuffer(); + const bytes = new Uint8Array(arrayBuffer); + return loadGeoPackageRasterFile(bytes, filepath+'Raster'); + } + ); } default: { @@ -771,7 +771,7 @@ export const loadFile = async (fileInfo: { const arrayBuffer = await stringToArrayBuffer(file.content); const bytes = new Uint8Array(arrayBuffer); - return loadGeoPackageRasterFile(filepath, '', filepath+'Raster', bytes); + return loadGeoPackageRasterFile(bytes, filepath+'Raster'); } default: { From 7c849c7e59125c8b436f8b6cfb98058b2b8bc0df Mon Sep 17 00:00:00 2001 From: elifsu Date: Fri, 18 Jul 2025 13:48:55 +0200 Subject: [PATCH 11/26] Add gpkg raster layer from Python API --- packages/base/src/tools.ts | 138 ++++++++++-------- .../sources/geoPackageVectorSource.json | 2 +- .../jupytergis_lab/notebook/gis_document.py | 82 +++++++++-- .../jupytergis_lab/notebook/tests/test_api.py | 15 +- .../jupytergis_lab/notebook/utils.py | 15 +- 5 files changed, 157 insertions(+), 95 deletions(-) diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 0331a4390..f0b9a8f7c 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -524,31 +524,51 @@ export function loadGeoPackageVectorFile( } -export function loadGeoPackageRasterFile( - file: Uint8Array , - cache_filename: string -) { -if (!cache.has(cache_filename)) { +async function loadGeoPackageRasterFile( + filepath: string, + cacheFilename: string, + model?: IJupyterGISModel, + file_content?: string +): Promise { + + if (cache.has(cacheFilename)) { + return cache.get(cacheFilename)!; + } + const loader = (async (): Promise => { try { - const geoPackage = await GeoPackageAPI.open(file); - const tileTables = geoPackage.getTileTables(); - const tableMap: TableMap = {}; - - tileTables.forEach(table => { - const tileDao = geoPackage.getTileDao(table); - tableMap[table] = {gpr: new GeoPackageTileRetriever(tileDao, 256, 256), tileDao: tileDao}; - } ) - - return tableMap; - } catch (e: any) { - showErrorMessage('Failed to load gpkg file', e); - throw e; + let bytes: Uint8Array; + if (filepath.startsWith('http://') || filepath.startsWith('https://')) { + bytes = await loadGkpgFromUrl(filepath, model!); + } + else { + const arrayBuffer = await stringToArrayBuffer(file_content as string); + bytes = new Uint8Array(arrayBuffer); + } + + const geoPackage = await GeoPackageAPI.open(bytes); + const tileTables = await geoPackage.getTileTables(); + const map: TableMap = {}; + + tileTables.forEach(tableName => { + const tileDao = geoPackage.getTileDao(tableName); + map[tableName] = { + gpr: new GeoPackageTileRetriever(tileDao, 256, 256), + tileDao, + }; + }); + + return map; + } + + catch (error: any) { + showErrorMessage(`Failed to load GeoPackage raster: ${cacheFilename}`, error); + throw error; } })(); - cache.set(cache_filename, loader); -} -return cache.get(cache_filename)!; + + cache.set(cacheFilename, loader); + return loader; } export async function getGeoPackageTableNames( @@ -559,24 +579,15 @@ export async function getGeoPackageTableNames( let geoPackage; - if (filepath.startsWith('https://') || filepath.startsWith('https://')) { - geoPackage = await GeoPackageAPI.open(filepath); - } + + if (type === 'GeoPackageRasterSource') { + geoPackage = await loadGeoPackageRasterFile(filepath, filepath+'Raster', model); + } else { - const file = await model.contentsManager!.get(filepath, { - content: true //TODO: can we do this another way? - }); - const arrayBuffer = await stringToArrayBuffer(file.content) - const bytes = new Uint8Array(arrayBuffer); - geoPackage = await GeoPackageAPI.open(bytes); + geoPackage = await loadGeoPackageVectorFile(filepath, model.sharedModel.options.projection!, filepath+'Vector'); } - - if (type === 'GeoPackageVectorSource') { - return geoPackage.getFeatureTables(); - } else { - return geoPackage.getTileTables(); - } + return Object.keys(geoPackage); } @@ -662,27 +673,18 @@ export const loadFile = async (fileInfo: { } case 'GeoPackageVectorSource': { - const projection = model.sharedModel.options.projection; + let projection = model.sharedModel.options.projection; if (!projection) { - throw new Error(`Projection is not specified for ${filepath}`); + //TODO: this error should be uncommented when PR #732 is merged + //throw new Error(`Projection is not specified for ${filepath}`); + projection = 'EPSG:3857'; } return loadGeoPackageVectorFile(filepath, projection, filepath+'Vector'); } - case 'GeoPackageRasterSource': { - const projection = model.sharedModel.options.projection; - if (!projection) { - throw new Error(`Projection is not specified for ${filepath}`); - } - return await fetchWithProxies( - filepath, - model, - async response => { - const arrayBuffer = await response.arrayBuffer(); - const bytes = new Uint8Array(arrayBuffer); - return loadGeoPackageRasterFile(bytes, filepath+'Raster'); - } - ); + case 'GeoPackageRasterSource': { + return loadGeoPackageRasterFile(filepath, filepath+'Raster', model); + } default: { @@ -752,26 +754,19 @@ export const loadFile = async (fileInfo: { } case 'GeoPackageVectorSource': { - const projection = model.sharedModel.options.projection; + let projection = model.sharedModel.options.projection; if (!projection) { - throw new Error(`Projection is not specified for ${filepath}`); + //TODO: this error should be uncommented when PR #732 is merged + //throw new Error(`Projection is not specified for ${filepath}`); + projection = 'EPSG:3857'; } - const blob = await base64ToBlob(file.content, getMimeType(filepath)); const url = URL.createObjectURL(blob); return loadGeoPackageVectorFile(url, projection, filepath+'Vector'); } case 'GeoPackageRasterSource': { - const projection = model.sharedModel.options.projection; - if (!projection) { - throw new Error(`Projection is not specified for ${filepath}`); - } - - const arrayBuffer = await stringToArrayBuffer(file.content); - const bytes = new Uint8Array(arrayBuffer); - - return loadGeoPackageRasterFile(bytes, filepath+'Raster'); + return loadGeoPackageRasterFile(filepath, filepath+'Raster', undefined, file.content); } default: { @@ -1063,3 +1058,18 @@ export async function getGeoJSONDataFromLayerSource( console.error("Source is missing both 'path' and 'data' parameters."); return null; } + +async function loadGkpgFromUrl(filepath: string, model: IJupyterGISModel): Promise { + const response = await fetchWithProxies( + filepath, + model, + async (response) => { + const arrayBuffer = await response.arrayBuffer(); + return new Uint8Array(arrayBuffer); + } + ); + if (!response) { + throw new Error(`Failed to fetch GeoPackage from URL: ${filepath}`); + } + return response; +} diff --git a/packages/schema/src/schema/project/sources/geoPackageVectorSource.json b/packages/schema/src/schema/project/sources/geoPackageVectorSource.json index 41b5dc76d..32f89a049 100644 --- a/packages/schema/src/schema/project/sources/geoPackageVectorSource.json +++ b/packages/schema/src/schema/project/sources/geoPackageVectorSource.json @@ -18,7 +18,7 @@ "projection": { "type": "string", "description": "The projection information for the GeoPackage data (optional).", - "default": "EPSG:4326" + "default": "EPSG:3857" }, "tables": { "type": "string", diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py index cb6356d1d..3cc3409b8 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py @@ -13,7 +13,8 @@ from jupytergis_core.schema import ( IGeoJSONSource, - IGeoPackageSource, + IGeoPackageVectorSource, + IGeoPackageRasterSource, IGeoTiffSource, IHeatmapLayer, IHillshadeLayer, @@ -30,7 +31,7 @@ LayerType, SourceType, ) -from jupytergis_lab.notebook.utils import get_gpkg_layers, isURL, file_to_data_url +from jupytergis_lab.notebook.utils import get_gpkg_layers logger = logging.getLogger(__file__) @@ -539,7 +540,7 @@ def add_heatmap_layer( return self._add_layer(OBJECT_FACTORY.create_layer(layer, self)) - def add_geopackage_layer( + def add_geopackage_vector_layer( self, path: str, table_names: list[str] | str | None = None, @@ -553,7 +554,7 @@ def add_geopackage_layer( color_expr=None, ): """ - Add a GeoPackage Layer to the document + Add a GeoPackage Vector Layer to the document :param path: The path to the GeoPackage file to embed into the jGIS file. :param table_names: A list of table names to create layers for. :param name: The name that will be used for the object in the document. @@ -570,18 +571,21 @@ def add_geopackage_layer( table_names = [part.strip() for part in table_names.split(',')] if not table_names: - table_names = get_gpkg_layers(path) + table_names = get_gpkg_layers(path, 'features') layer_ids = [] - if not isURL(path): - path = file_to_data_url(path, mime="application/geopackage+sqlite3") + + if "projection" in self._options: + projection = self._options["projection"] + else: + projection = "EPSG:3857" for table_name in table_names: source = { - "type": SourceType.GeoPackageSource, + "type": SourceType.GeoPackageVectorSource, "name": f"{name} {table_name} Source", - "parameters": {"path": path, 'tables': table_name}, + "parameters": {"path": path, 'tables': table_name, 'projection':projection}, } source_id = str(uuid4()) + '/' + str(table_name) @@ -611,6 +615,60 @@ def add_geopackage_layer( return layer_ids + def add_geopackage_raster_layer( + self, + path: str, + table_names: list[str] | str | None = None, + name: str = "GeoPackage Layer", + attribution: str = "", + opacity: float = 1, + ): + """ + Add a GeoPackage Raster Layer to the document. + + :param path: The tiles path. + :param table_names: A list of table names to create layers for. + :param name: The name that will be used for the object in the document. + :param attribution: The attribution. + :param opacity: The opacity, between 0 and 1. + """ + + if isinstance(table_names, str): + table_names = [part.strip() for part in table_names.split(',')] + + if not table_names: + table_names = get_gpkg_layers(path, 'tiles') + + layer_ids = [] + + for table_name in table_names: + source = { + "type": SourceType.GeoPackageRasterSource, + "name": f"{name} {table_name} Source", + "parameters": {"path": path, 'tables': table_name}, + } + + source_id = str(uuid4()) + '/' + str(table_name) + + self._add_source(OBJECT_FACTORY.create_source(source, self), source_id) + + layer = { + "type": LayerType.RasterLayer, + "name": f"{name} {table_name} Layer", + "visible": True, + "parameters": { + "source": source_id, + "type": type, + "opacity": opacity, + "attribution": attribution, + } + } + + layer_id = str(uuid4()) + '/' + str(table_name) + layer_ids.append(self._add_layer(OBJECT_FACTORY.create_layer(layer, self), layer_id)) + + return layer_ids + def remove_layer(self, layer_id: str): """ Remove a layer from the GIS document. @@ -897,7 +955,8 @@ class Config: IVideoSource, IGeoTiffSource, IRasterDemSource, - IGeoPackageSource, + IGeoPackageVectorSource, + IGeoPackageRasterSource ] _parent = Optional[GISDocument] @@ -985,4 +1044,5 @@ def create_source( OBJECT_FACTORY.register_factory(SourceType.VideoSource, IVideoSource) OBJECT_FACTORY.register_factory(SourceType.GeoTiffSource, IGeoTiffSource) OBJECT_FACTORY.register_factory(SourceType.RasterDemSource, IRasterDemSource) -OBJECT_FACTORY.register_factory(SourceType.GeoPackageSource, IGeoPackageSource) +OBJECT_FACTORY.register_factory(SourceType.GeoPackageVectorSource, IGeoPackageVectorSource) +OBJECT_FACTORY.register_factory(SourceType.GeoPackageRasterSource, IGeoPackageRasterSource) \ No newline at end of file diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py index ba224c650..20a2bf8b5 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py @@ -5,8 +5,8 @@ from jupytergis_lab import GISDocument TEST_TIF = "https://s2downloads.eox.at/demo/EOxCloudless/2020/rgbnir/s2cloudless2020-16bits_sinlge-file_z0-4.tif" -TEST_GPKG = "https://raw.githubusercontent.com/ngageoint/GeoPackage/master/docs/examples/java/example.gpkg" - +TEST_GPKG_VECTOR = "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg" +TEST_GPKG_RASTER = "https://cdn.jsdelivr.net/gh/ngageoint/geopackage-js@master/docs/examples/GeoPackageToGo/StLouis.gpkg" class TestDocument: def setup_method(self): @@ -31,12 +31,15 @@ def test_sourcelayer(self): assert self.doc.layers[tif_layer]["parameters"]["color"] == color -class TestGeoPackageLayer(TestDocument): +class TestGeoPackageVectorLayer(TestDocument): def test_sourcelayer(self): - color = {"fill-color": "#00FF00", "stroke-color": "#FF0000"} + gpkg_layers = self.doc.add_geopackage_vector_layer(TEST_GPKG_VECTOR) + assert all(name in self.doc.layers for name in gpkg_layers) - gpkg_layer = self.doc.add_geopackage_layer(TEST_GPKG, color_expr=color) - assert self.doc.layers[gpkg_layer]["parameters"]["color"] == color +class TestGeoPackageRasterLayer(TestDocument): + def test_sourcelayer(self): + gpkg_layers = self.doc.add_geopackage_raster_layer(TEST_GPKG_RASTER) + assert all(name in self.doc.layers for name in gpkg_layers) class TestLayerManipulation(TestDocument): diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/utils.py b/python/jupytergis_lab/jupytergis_lab/notebook/utils.py index f8eb644eb..8efa26fe9 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/utils.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/utils.py @@ -35,25 +35,14 @@ def download_file(url: str, ext:str) -> str: return filename -def get_gpkg_layers(gpkg_path: str) -> list[str]: +def get_gpkg_layers(gpkg_path: str, data_type:str) -> list[str]: if isURL(gpkg_path): gpkg_path = download_file(gpkg_path, "gpkg") conn = sqlite3.connect(gpkg_path) cursor = conn.cursor() - cursor.execute("""SELECT table_name FROM gpkg_contents WHERE data_type = 'features'""") + cursor.execute(f"""SELECT table_name FROM gpkg_contents WHERE data_type = '{data_type}'""") layers = [row[0] for row in cursor.fetchall()] conn.close() return layers - -def file_to_data_url(path: str, mime:str=None) -> str: - p = Path(path) - - if mime is None: - mime = "application/octet-stream" - - data = p.read_bytes() - b64 = base64.b64encode(data).decode("ascii") - - return f"data:{mime};base64,{b64}" \ No newline at end of file From 89adb495dc7276c886dad5c7dd11a0a6ba8d308b Mon Sep 17 00:00:00 2001 From: elifsu Date: Fri, 18 Jul 2025 16:45:17 +0200 Subject: [PATCH 12/26] Fix issue with proj4 register --- .../base/src/formbuilder/creationform.tsx | 26 +++-- packages/base/src/mainview/mainView.tsx | 13 +-- packages/base/src/tools.ts | 106 ++++++++++-------- .../jupytergis_lab/notebook/gis_document.py | 45 +++++--- .../jupytergis_lab/notebook/tests/test_api.py | 2 + .../jupytergis_lab/notebook/utils.py | 9 +- 6 files changed, 117 insertions(+), 84 deletions(-) diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index ade46801b..6799ca0ab 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -154,7 +154,10 @@ export class CreationForm extends React.Component { // Perform the layer/source creation Promise.all(creationPromises).then(async () => { // We add multiple tables from GeoPackage file as different sources and layers - if (this.props.sourceType === 'GeoPackageVectorSource' || this.props.sourceType === 'GeoPackageRasterSource') { + if ( + this.props.sourceType === 'GeoPackageVectorSource' || + this.props.sourceType === 'GeoPackageRasterSource' + ) { const source = await sourceCreationPromise?.promise; if (!source) { @@ -163,8 +166,15 @@ export class CreationForm extends React.Component { } const tableNames: string[] = source.tables - ? source.tables.split(',').map((s: string) => s.trim()).filter(Boolean) - : await getGeoPackageTableNames(source.path, this.props.sourceType, this.jGISModel); + ? source.tables + .split(',') + .map((s: string) => s.trim()) + .filter(Boolean) + : await getGeoPackageTableNames( + source.path, + this.props.sourceType, + this.jGISModel + ); for (const tableName of tableNames) { const childId = `${sourceId}/${tableName}`; @@ -183,12 +193,14 @@ export class CreationForm extends React.Component { } if (this.props.createLayer) { const layerModel: IJGISLayer = { - type: this.props.layerType - || (this.props.sourceType === 'GeoPackageVectorSource' - ? 'VectorLayer' : 'RasterLayer'), + type: + this.props.layerType || + (this.props.sourceType === 'GeoPackageVectorSource' + ? 'VectorLayer' + : 'RasterLayer'), parameters: { source: childId }, visible: true, - name: `${source.name} ${tableName} Layer`, + name: `${source.name} ${tableName} Layer` }; this.jGISModel.addLayer(UUID.uuid4(), layerModel); } diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index 6e2f01334..a2407a343 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -60,7 +60,7 @@ import { transformExtent } from 'ol/proj'; import { get as getProjection } from 'ol/proj.js'; -//import { register } from 'ol/proj/proj4.js'; +import { register } from 'ol/proj/proj4.js'; import RenderFeature from 'ol/render/Feature'; import { GeoTIFF as GeoTIFFSource, @@ -728,25 +728,24 @@ export class MainView extends React.Component { model: this._model }); - const {gpr, tileDao} = tableMap[parameters.tables]; + const { gpr, tileDao } = tableMap[parameters.tables]; const rasterSource = new XYZSource({ wrapX: false, minZoom: tileDao.minWebMapZoom, maxZoom: tileDao.maxWebMapZoom, - url: "{z},{x},{y}", + url: '{z},{x},{y}', tileLoadFunction(tile: any, src) { - const [z, x, y] = src.split(",").map(Number); + const [z, x, y] = src.split(',').map(Number); gpr .getTile(x, y, z) .then((dataUri: any) => (tile.getImage().src = dataUri)); - }, + } }); newSource = rasterSource; break; } - } newSource.set('id', id); @@ -1027,7 +1026,7 @@ export class MainView extends React.Component { try { proj4.defs([proj4list[projectionCode]]); - //register(proj4); //TODO: this is happening because we updated proj4 library + register(proj4 as any); } catch (error: any) { console.warn( `Failed to register projection '${projectionCode}'. Error: ${error.message}` diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index f0b9a8f7c..66870d6ff 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -11,7 +11,6 @@ import { getGdal } from './gdal'; import loadGpkg from 'ol-load-geopackage'; import { GeoPackageAPI, GeoPackageTileRetriever } from '@ngageoint/geopackage'; - import { IDict, IJGISLayerBrowserRegistry, @@ -499,7 +498,7 @@ const cache = new Map>(); //TODO give a more specific export function loadGeoPackageVectorFile( filepath: string, projection: string, - cache_filename: string, + cache_filename: string ): Promise { if (!cache.has(cache_filename)) { const loader = (async (): Promise => { @@ -509,7 +508,7 @@ export function loadGeoPackageVectorFile( for (const name of Object.keys(tables)) { tableMap[name] = { source: tables[name] as Source, - sld: slds[name], + sld: slds[name] }; } return tableMap; @@ -523,14 +522,12 @@ export function loadGeoPackageVectorFile( return cache.get(cache_filename)!; } - async function loadGeoPackageRasterFile( filepath: string, cacheFilename: string, model?: IJupyterGISModel, file_content?: string ): Promise { - if (cache.has(cacheFilename)) { return cache.get(cacheFilename)!; } @@ -540,29 +537,29 @@ async function loadGeoPackageRasterFile( let bytes: Uint8Array; if (filepath.startsWith('http://') || filepath.startsWith('https://')) { bytes = await loadGkpgFromUrl(filepath, model!); - } - else { - const arrayBuffer = await stringToArrayBuffer(file_content as string); - bytes = new Uint8Array(arrayBuffer); + } else { + const arrayBuffer = await stringToArrayBuffer(file_content as string); + bytes = new Uint8Array(arrayBuffer); } const geoPackage = await GeoPackageAPI.open(bytes); - const tileTables = await geoPackage.getTileTables(); - const map: TableMap = {}; - - tileTables.forEach(tableName => { - const tileDao = geoPackage.getTileDao(tableName); - map[tableName] = { - gpr: new GeoPackageTileRetriever(tileDao, 256, 256), - tileDao, - }; - }); - - return map; - } - - catch (error: any) { - showErrorMessage(`Failed to load GeoPackage raster: ${cacheFilename}`, error); + const tileTables = await geoPackage.getTileTables(); + const map: TableMap = {}; + + tileTables.forEach(tableName => { + const tileDao = geoPackage.getTileDao(tableName); + map[tableName] = { + gpr: new GeoPackageTileRetriever(tileDao, 256, 256), + tileDao + }; + }); + + return map; + } catch (error: any) { + showErrorMessage( + `Failed to load GeoPackage raster: ${cacheFilename}`, + error + ); throw error; } })(); @@ -574,23 +571,27 @@ async function loadGeoPackageRasterFile( export async function getGeoPackageTableNames( filepath: string, type: 'GeoPackageVectorSource' | 'GeoPackageRasterSource', - model: IJupyterGISModel, -){ - + model: IJupyterGISModel +) { let geoPackage; - if (type === 'GeoPackageRasterSource') { - geoPackage = await loadGeoPackageRasterFile(filepath, filepath+'Raster', model); - } - else { - geoPackage = await loadGeoPackageVectorFile(filepath, model.sharedModel.options.projection!, filepath+'Vector'); + geoPackage = await loadGeoPackageRasterFile( + filepath, + filepath + 'Raster', + model + ); + } else { + geoPackage = await loadGeoPackageVectorFile( + filepath, + model.sharedModel.options.projection!, + filepath + 'Vector' + ); } return Object.keys(geoPackage); } - /** * Generalized file reader for different source types. * @@ -679,12 +680,15 @@ export const loadFile = async (fileInfo: { //throw new Error(`Projection is not specified for ${filepath}`); projection = 'EPSG:3857'; } - return loadGeoPackageVectorFile(filepath, projection, filepath+'Vector'); + return loadGeoPackageVectorFile( + filepath, + projection, + filepath + 'Vector' + ); } - case 'GeoPackageRasterSource': { - return loadGeoPackageRasterFile(filepath, filepath+'Raster', model); - + case 'GeoPackageRasterSource': { + return loadGeoPackageRasterFile(filepath, filepath + 'Raster', model); } default: { @@ -762,11 +766,16 @@ export const loadFile = async (fileInfo: { } const blob = await base64ToBlob(file.content, getMimeType(filepath)); const url = URL.createObjectURL(blob); - return loadGeoPackageVectorFile(url, projection, filepath+'Vector'); + return loadGeoPackageVectorFile(url, projection, filepath + 'Vector'); } case 'GeoPackageRasterSource': { - return loadGeoPackageRasterFile(filepath, filepath+'Raster', undefined, file.content); + return loadGeoPackageRasterFile( + filepath, + filepath + 'Raster', + undefined, + file.content + ); } default: { @@ -1059,15 +1068,14 @@ export async function getGeoJSONDataFromLayerSource( return null; } -async function loadGkpgFromUrl(filepath: string, model: IJupyterGISModel): Promise { - const response = await fetchWithProxies( - filepath, - model, - async (response) => { - const arrayBuffer = await response.arrayBuffer(); - return new Uint8Array(arrayBuffer); - } - ); +async function loadGkpgFromUrl( + filepath: string, + model: IJupyterGISModel +): Promise { + const response = await fetchWithProxies(filepath, model, async response => { + const arrayBuffer = await response.arrayBuffer(); + return new Uint8Array(arrayBuffer); + }); if (!response) { throw new Error(`Failed to fetch GeoPackage from URL: ${filepath}`); } diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py index 3cc3409b8..dc762cea2 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py @@ -568,14 +568,13 @@ def add_geopackage_vector_layer( """ if isinstance(table_names, str): - table_names = [part.strip() for part in table_names.split(',')] + table_names = [part.strip() for part in table_names.split(",")] if not table_names: - table_names = get_gpkg_layers(path, 'features') + table_names = get_gpkg_layers(path, "features") layer_ids = [] - if "projection" in self._options: projection = self._options["projection"] else: @@ -585,10 +584,14 @@ def add_geopackage_vector_layer( source = { "type": SourceType.GeoPackageVectorSource, "name": f"{name} {table_name} Source", - "parameters": {"path": path, 'tables': table_name, 'projection':projection}, + "parameters": { + "path": path, + "tables": table_name, + "projection": projection, + }, } - source_id = str(uuid4()) + '/' + str(table_name) + source_id = str(uuid4()) + "/" + str(table_name) self._add_source(OBJECT_FACTORY.create_source(source, self), source_id) @@ -610,8 +613,10 @@ def add_geopackage_vector_layer( }, } - layer_id = str(uuid4()) + '/' + str(table_name) - layer_ids.append(self._add_layer(OBJECT_FACTORY.create_layer(layer, self), layer_id)) + layer_id = str(uuid4()) + "/" + str(table_name) + layer_ids.append( + self._add_layer(OBJECT_FACTORY.create_layer(layer, self), layer_id) + ) return layer_ids @@ -634,10 +639,10 @@ def add_geopackage_raster_layer( """ if isinstance(table_names, str): - table_names = [part.strip() for part in table_names.split(',')] + table_names = [part.strip() for part in table_names.split(",")] if not table_names: - table_names = get_gpkg_layers(path, 'tiles') + table_names = get_gpkg_layers(path, "tiles") layer_ids = [] @@ -645,10 +650,10 @@ def add_geopackage_raster_layer( source = { "type": SourceType.GeoPackageRasterSource, "name": f"{name} {table_name} Source", - "parameters": {"path": path, 'tables': table_name}, + "parameters": {"path": path, "tables": table_name}, } - source_id = str(uuid4()) + '/' + str(table_name) + source_id = str(uuid4()) + "/" + str(table_name) self._add_source(OBJECT_FACTORY.create_source(source, self), source_id) @@ -661,11 +666,13 @@ def add_geopackage_raster_layer( "type": type, "opacity": opacity, "attribution": attribution, - } + }, } - layer_id = str(uuid4()) + '/' + str(table_name) - layer_ids.append(self._add_layer(OBJECT_FACTORY.create_layer(layer, self), layer_id)) + layer_id = str(uuid4()) + "/" + str(table_name) + layer_ids.append( + self._add_layer(OBJECT_FACTORY.create_layer(layer, self), layer_id) + ) return layer_ids @@ -956,7 +963,7 @@ class Config: IGeoTiffSource, IRasterDemSource, IGeoPackageVectorSource, - IGeoPackageRasterSource + IGeoPackageRasterSource, ] _parent = Optional[GISDocument] @@ -1044,5 +1051,9 @@ def create_source( OBJECT_FACTORY.register_factory(SourceType.VideoSource, IVideoSource) OBJECT_FACTORY.register_factory(SourceType.GeoTiffSource, IGeoTiffSource) OBJECT_FACTORY.register_factory(SourceType.RasterDemSource, IRasterDemSource) -OBJECT_FACTORY.register_factory(SourceType.GeoPackageVectorSource, IGeoPackageVectorSource) -OBJECT_FACTORY.register_factory(SourceType.GeoPackageRasterSource, IGeoPackageRasterSource) \ No newline at end of file +OBJECT_FACTORY.register_factory( + SourceType.GeoPackageVectorSource, IGeoPackageVectorSource +) +OBJECT_FACTORY.register_factory( + SourceType.GeoPackageRasterSource, IGeoPackageRasterSource +) diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py index 20a2bf8b5..77400b888 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py @@ -8,6 +8,7 @@ TEST_GPKG_VECTOR = "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg" TEST_GPKG_RASTER = "https://cdn.jsdelivr.net/gh/ngageoint/geopackage-js@master/docs/examples/GeoPackageToGo/StLouis.gpkg" + class TestDocument: def setup_method(self): self.doc = GISDocument() @@ -36,6 +37,7 @@ def test_sourcelayer(self): gpkg_layers = self.doc.add_geopackage_vector_layer(TEST_GPKG_VECTOR) assert all(name in self.doc.layers for name in gpkg_layers) + class TestGeoPackageRasterLayer(TestDocument): def test_sourcelayer(self): gpkg_layers = self.doc.add_geopackage_raster_layer(TEST_GPKG_RASTER) diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/utils.py b/python/jupytergis_lab/jupytergis_lab/notebook/utils.py index 8efa26fe9..968a250f5 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/utils.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/utils.py @@ -25,7 +25,7 @@ def isURL(path: str) -> bool: return path.startswith("http://") or path.startswith("https://") -def download_file(url: str, ext:str) -> str: +def download_file(url: str, ext: str) -> str: filename = f"downloaded_{uuid.uuid4().hex[:8]}.{ext}" req = Request(url, headers={"User-Agent": "python-urllib"}) @@ -35,14 +35,15 @@ def download_file(url: str, ext:str) -> str: return filename -def get_gpkg_layers(gpkg_path: str, data_type:str) -> list[str]: +def get_gpkg_layers(gpkg_path: str, data_type: str) -> list[str]: if isURL(gpkg_path): gpkg_path = download_file(gpkg_path, "gpkg") conn = sqlite3.connect(gpkg_path) cursor = conn.cursor() - cursor.execute(f"""SELECT table_name FROM gpkg_contents WHERE data_type = '{data_type}'""") + cursor.execute( + f"""SELECT table_name FROM gpkg_contents WHERE data_type = '{data_type}'""" + ) layers = [row[0] for row in cursor.fetchall()] conn.close() return layers - From dd2657ab4d9f2130eba1e5a5f5aaad896050b901 Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 21 Jul 2025 10:44:01 +0200 Subject: [PATCH 13/26] Read tile width height from tile dao --- packages/base/src/tools.ts | 91 +++++++++++++++++++++++--------------- 1 file changed, 56 insertions(+), 35 deletions(-) diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 66870d6ff..108f5d810 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -11,6 +11,7 @@ import { getGdal } from './gdal'; import loadGpkg from 'ol-load-geopackage'; import { GeoPackageAPI, GeoPackageTileRetriever } from '@ngageoint/geopackage'; + import { IDict, IJGISLayerBrowserRegistry, @@ -492,19 +493,33 @@ export const loadGeoTiff = async ( }; }; -type TableMap = Record; //TODO: Define a more specific type -const cache = new Map>(); //TODO give a more specific name +interface VectorEntry { + source: Source; + sld: string | undefined; +} + +interface TileEntry { + gpr: GeoPackageTileRetriever; + tileDao: object; +} + +type GpkgTable = Record;'' -export function loadGeoPackageVectorFile( +const geoPackageCache = new Map>(); + +function loadGeoPackageVectorFile( filepath: string, projection: string, - cache_filename: string -): Promise { - if (!cache.has(cache_filename)) { - const loader = (async (): Promise => { + cacheFilename: string +): Promise { + if (geoPackageCache.has(cacheFilename)) { + return geoPackageCache.get(cacheFilename)!; + } + + const loader = (async (): Promise => { try { const [tables, slds] = await loadGpkg(filepath, projection); - const tableMap: TableMap = {}; + const tableMap: GpkgTable = {}; for (const name of Object.keys(tables)) { tableMap[name] = { source: tables[name] as Source, @@ -513,26 +528,26 @@ export function loadGeoPackageVectorFile( } return tableMap; } catch (e: any) { - showErrorMessage('Failed to load gpkg file', e); + showErrorMessage('Failed to load GeoPackage file', e); throw e; } })(); - cache.set(cache_filename, loader); + geoPackageCache.set(cacheFilename, loader); + return loader; } - return cache.get(cache_filename)!; -} + async function loadGeoPackageRasterFile( filepath: string, cacheFilename: string, model?: IJupyterGISModel, file_content?: string -): Promise { - if (cache.has(cacheFilename)) { - return cache.get(cacheFilename)!; +): Promise { + if (geoPackageCache.has(cacheFilename)) { + return geoPackageCache.get(cacheFilename)!; } - const loader = (async (): Promise => { + const loader = (async (): Promise => { try { let bytes: Uint8Array; if (filepath.startsWith('http://') || filepath.startsWith('https://')) { @@ -544,30 +559,49 @@ async function loadGeoPackageRasterFile( const geoPackage = await GeoPackageAPI.open(bytes); const tileTables = await geoPackage.getTileTables(); - const map: TableMap = {}; + const tableMap: GpkgTable = {}; tileTables.forEach(tableName => { const tileDao = geoPackage.getTileDao(tableName); - map[tableName] = { - gpr: new GeoPackageTileRetriever(tileDao, 256, 256), + + const tileWidth = tileDao.tileMatrices[0].tile_width; + const tileHeight = tileDao.tileMatrices[0].tile_height; + + + tableMap[tableName] = { + gpr: new GeoPackageTileRetriever(tileDao, tileWidth, tileHeight), tileDao }; }); - return map; + return tableMap; } catch (error: any) { showErrorMessage( - `Failed to load GeoPackage raster: ${cacheFilename}`, + `Failed to load GeoPackage file: ${cacheFilename}`, error ); throw error; } })(); - cache.set(cacheFilename, loader); + geoPackageCache.set(cacheFilename, loader); return loader; } +async function loadGkpgFromUrl( + filepath: string, + model: IJupyterGISModel +): Promise { + const response = await fetchWithProxies(filepath, model, async response => { + const arrayBuffer = await response.arrayBuffer(); + return new Uint8Array(arrayBuffer); + }); + if (!response) { + throw new Error(`Failed to fetch GeoPackage from URL: ${filepath}`); + } + return response; +} + export async function getGeoPackageTableNames( filepath: string, type: 'GeoPackageVectorSource' | 'GeoPackageRasterSource', @@ -1068,16 +1102,3 @@ export async function getGeoJSONDataFromLayerSource( return null; } -async function loadGkpgFromUrl( - filepath: string, - model: IJupyterGISModel -): Promise { - const response = await fetchWithProxies(filepath, model, async response => { - const arrayBuffer = await response.arrayBuffer(); - return new Uint8Array(arrayBuffer); - }); - if (!response) { - throw new Error(`Failed to fetch GeoPackage from URL: ${filepath}`); - } - return response; -} From 340323d92067daf8c39d35c7f849516b1e9d6b2e Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 21 Jul 2025 11:00:40 +0200 Subject: [PATCH 14/26] Make sure user entered table name is valid --- .../base/src/formbuilder/creationform.tsx | 45 ++++++++++++++----- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index 6799ca0ab..10b0a2150 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -10,7 +10,7 @@ import { import { deepCopy, getGeoPackageTableNames } from '../tools'; -import { Dialog } from '@jupyterlab/apputils'; +import { Dialog, showErrorMessage } from '@jupyterlab/apputils'; import { PromiseDelegate, UUID } from '@lumino/coreutils'; import { Signal } from '@lumino/signaling'; import * as React from 'react'; @@ -165,17 +165,42 @@ export class CreationForm extends React.Component { return; } - const tableNames: string[] = source.tables - ? source.tables - .split(',') - .map((s: string) => s.trim()) - .filter(Boolean) - : await getGeoPackageTableNames( - source.path, - this.props.sourceType, - this.jGISModel + const allTables = await getGeoPackageTableNames( + source.path, + this.props.sourceType, + this.jGISModel + ); + + let tableNames: string[]; + + if (source.tables) { + const requestedTableNames = source.tables + .split(',') + .map((s: string) => s.trim()) + .filter(Boolean); + + const invalidTableNames = requestedTableNames.filter((name: string) => !allTables.includes(name)); + if (invalidTableNames.length) { + showErrorMessage( + 'Invalid GeoPackage Tables', + `The following table${ + invalidTableNames.length > 1 ? 's are' : ' is' + } not in the GeoPackage: ${invalidTableNames.join(', ')}. ` + + `Available tables are: ${allTables.join(', ')}.` ); + } + + tableNames = requestedTableNames.filter((name:string ) => allTables.includes(name)); + if (tableNames.length === 0) { + console.warn('No valid tables left to process, aborting.'); + return; + } + + } else { + tableNames = allTables; + } + for (const tableName of tableNames) { const childId = `${sourceId}/${tableName}`; From 15412fb1eee4a89676b59ace72542bc7a16dc1f3 Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 21 Jul 2025 13:49:05 +0200 Subject: [PATCH 15/26] Add more properties to GeoPackage Raster source --- .../base/src/formbuilder/creationform.tsx | 15 ++++--- packages/base/src/mainview/mainView.tsx | 27 ++++++------ packages/base/src/tools.ts | 42 +++++++++---------- .../sources/geoPackageRasterSource.json | 32 ++++++++++---- 4 files changed, 66 insertions(+), 50 deletions(-) diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index 10b0a2150..26555d182 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -179,28 +179,31 @@ export class CreationForm extends React.Component { .map((s: string) => s.trim()) .filter(Boolean); - const invalidTableNames = requestedTableNames.filter((name: string) => !allTables.includes(name)); + const invalidTableNames = requestedTableNames.filter( + (name: string) => !allTables.includes(name) + ); if (invalidTableNames.length) { showErrorMessage( 'Invalid GeoPackage Tables', `The following table${ invalidTableNames.length > 1 ? 's are' : ' is' } not in the GeoPackage: ${invalidTableNames.join(', ')}. ` + - `Available tables are: ${allTables.join(', ')}.` + `Available tables are: ${allTables.join(', ')}.` ); } - tableNames = requestedTableNames.filter((name:string ) => allTables.includes(name)); + tableNames = requestedTableNames.filter((name: string) => + allTables.includes(name) + ); if (tableNames.length === 0) { console.warn('No valid tables left to process, aborting.'); return; } - } else { tableNames = allTables; } - + for (const tableName of tableNames) { const childId = `${sourceId}/${tableName}`; @@ -211,7 +214,7 @@ export class CreationForm extends React.Component { parameters: { path: source.path, tables: tableName, - projection: source.projection || 'EPSG:4326' + projection: source.projection || 'EPSG:3857' } }; this.props.model.sharedModel.addSource(childId, sourceModel); diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index a2407a343..98358206c 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -696,51 +696,52 @@ export class MainView extends React.Component { break; } case 'GeoPackageVectorSource': { - const parameters = source.parameters; + const sourceParameters = source.parameters; - if (!parameters) { + if (!sourceParameters) { throw new Error('GeoPackageSource has no parameters'); } const tableMap = await loadFile({ - filepath: parameters.path, + filepath: sourceParameters.path, type: 'GeoPackageVectorSource', model: this._model }); - const table = tableMap[parameters.tables]; + const table = tableMap[sourceParameters.tables]; const vectorSource = table.source; - vectorSource['projection'] = getProjection(parameters.projection); + vectorSource['projection'] = getProjection(sourceParameters.projection); newSource = vectorSource; break; } case 'GeoPackageRasterSource': { - const parameters = source.parameters; + const sourceParameters = source.parameters; - if (!parameters) { + if (!sourceParameters) { throw new Error('GeoPackageSource has no parameters'); } const tableMap = await loadFile({ - filepath: parameters.path, + filepath: sourceParameters.path, type: 'GeoPackageRasterSource', model: this._model }); - const { gpr, tileDao } = tableMap[parameters.tables]; + const { gpr, tileDao } = tableMap[sourceParameters.tables]; const rasterSource = new XYZSource({ - wrapX: false, - minZoom: tileDao.minWebMapZoom, - maxZoom: tileDao.maxWebMapZoom, + minZoom: sourceParameters.minZoom ?? tileDao.minWebMapZoom, + maxZoom: sourceParameters.maxZoom ?? tileDao.maxWebMapZoom, + interpolate: sourceParameters.interpolate, url: '{z},{x},{y}', tileLoadFunction(tile: any, src) { const [z, x, y] = src.split(',').map(Number); gpr .getTile(x, y, z) .then((dataUri: any) => (tile.getImage().src = dataUri)); - } + }, + attributions: sourceParameters.attribution }); newSource = rasterSource; diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 108f5d810..661014b1f 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -11,7 +11,6 @@ import { getGdal } from './gdal'; import loadGpkg from 'ol-load-geopackage'; import { GeoPackageAPI, GeoPackageTileRetriever } from '@ngageoint/geopackage'; - import { IDict, IJGISLayerBrowserRegistry, @@ -503,7 +502,7 @@ interface TileEntry { tileDao: object; } -type GpkgTable = Record;'' +type GpkgTable = Record; const geoPackageCache = new Map>(); @@ -516,26 +515,25 @@ function loadGeoPackageVectorFile( return geoPackageCache.get(cacheFilename)!; } - const loader = (async (): Promise => { - try { - const [tables, slds] = await loadGpkg(filepath, projection); - const tableMap: GpkgTable = {}; - for (const name of Object.keys(tables)) { - tableMap[name] = { - source: tables[name] as Source, - sld: slds[name] - }; - } - return tableMap; - } catch (e: any) { - showErrorMessage('Failed to load GeoPackage file', e); - throw e; + const loader = (async (): Promise => { + try { + const [tables, slds] = await loadGpkg(filepath, projection); + const tableMap: GpkgTable = {}; + for (const name of Object.keys(tables)) { + tableMap[name] = { + source: tables[name] as Source, + sld: slds[name] + }; } - })(); - geoPackageCache.set(cacheFilename, loader); - return loader; - } - + return tableMap; + } catch (e: any) { + showErrorMessage('Failed to load GeoPackage file', e); + throw e; + } + })(); + geoPackageCache.set(cacheFilename, loader); + return loader; +} async function loadGeoPackageRasterFile( filepath: string, @@ -567,7 +565,6 @@ async function loadGeoPackageRasterFile( const tileWidth = tileDao.tileMatrices[0].tile_width; const tileHeight = tileDao.tileMatrices[0].tile_height; - tableMap[tableName] = { gpr: new GeoPackageTileRetriever(tileDao, tileWidth, tileHeight), tileDao @@ -1101,4 +1098,3 @@ export async function getGeoJSONDataFromLayerSource( console.error("Source is missing both 'path' and 'data' parameters."); return null; } - diff --git a/packages/schema/src/schema/project/sources/geoPackageRasterSource.json b/packages/schema/src/schema/project/sources/geoPackageRasterSource.json index 5485c478c..c4b6cdaab 100644 --- a/packages/schema/src/schema/project/sources/geoPackageRasterSource.json +++ b/packages/schema/src/schema/project/sources/geoPackageRasterSource.json @@ -9,21 +9,37 @@ "type": "string", "description": "The path to the GeoPackage source" }, - "attribution": { - "type": "string", + "minZoom": { + "type": "number", + "minimum": 0, + "maximum": 24, "readOnly": true, - "description": "The attribution for the GeoPackage source.", - "default": "" + "description": "The minimum zoom level for the raster source", + "default": 0 }, - "projection": { - "type": "string", - "description": "The projection information for the GeoPackage data (optional).", - "default": "EPSG:4326" + "maxZoom": { + "type": "number", + "minimum": 0, + "maximum": 24, + "readOnly": true, + "description": "The maximum zoom level for the raster source", + "default": 24 }, "tables": { "type": "string", "description": "The names of the tables in the GeoPackage to use as a source (optional). If left empty, all tables will be used.", "default": "" + }, + "attribution": { + "type": "string", + "readOnly": true, + "description": "The attribution for the GeoPackage source", + "default": "" + }, + "interpolate": { + "type": "boolean", + "description": "Interpolate between grid cells when overzooming?", + "default": false } } } From 822a3041446d0adc331aa98ce17ac411ca206d6b Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 21 Jul 2025 13:51:04 +0200 Subject: [PATCH 16/26] Add example geopackage project --- examples/geopackage.jgis | 334 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 334 insertions(+) create mode 100644 examples/geopackage.jgis diff --git a/examples/geopackage.jgis b/examples/geopackage.jgis new file mode 100644 index 000000000..8376203ab --- /dev/null +++ b/examples/geopackage.jgis @@ -0,0 +1,334 @@ +{ + "layerTree": [ + "d090703f-5953-44b3-acde-c6286e125385/PointsOfInterest", + "21467e04-77ba-445d-8e7b-638149deb9f4/Parks", + "3e335ea9-4358-4fc1-acb3-ceea34b852d5/Pizza", + "03fa7c7c-4f88-49cf-b975-38a42ef38710/Countries", + "e811f15b-d11a-4113-bc5a-3726dde9976b/Lakes", + "58c36230-5fa7-4158-965d-cc4f5c2a0794/Rivers + Lake Centrelines", + "c3e1b470-fd4e-4c57-ac0a-5b4a24e602ac/tiles", + "08243201-86af-4623-a1b9-16e569fdc166/Countries", + "d26faffe-10ac-4ddf-9eb4-54832a9dde2b/Lakes", + "37bdd5f8-085d-48be-8060-6482d87c3e32/Rivers + Lake Centrelines" + ], + "layers": { + "03fa7c7c-4f88-49cf-b975-38a42ef38710/Countries": { + "filters": { + "appliedFilters": [ + { + "feature": null, + "operator": null, + "value": null + } + ], + "logicalOp": null + }, + "name": "GeoPackage Layer Countries Layer", + "parameters": { + "color": null, + "opacity": 1.0, + "source": "41ba7c89-0986-4d8f-a3a2-72847069de89/Countries", + "symbologyState": null + }, + "type": "VectorLayer", + "visible": true + }, + "08243201-86af-4623-a1b9-16e569fdc166/Countries": { + "filters": { + "appliedFilters": [ + { + "feature": null, + "operator": null, + "value": null + } + ], + "logicalOp": null + }, + "name": "GeoPackage Layer Countries Layer", + "parameters": { + "color": null, + "opacity": 1.0, + "source": "894de599-1240-4d96-b7c3-29b43fc9a9bd/Countries", + "symbologyState": null + }, + "type": "VectorLayer", + "visible": true + }, + "21467e04-77ba-445d-8e7b-638149deb9f4/Parks": { + "filters": { + "appliedFilters": [ + { + "feature": null, + "operator": null, + "value": null + } + ], + "logicalOp": null + }, + "name": "GeoPackage Layer Parks Layer", + "parameters": { + "color": null, + "opacity": 1.0, + "source": "c0e58d6d-7dc7-4878-9aa4-b241f8172262/Parks", + "symbologyState": null + }, + "type": "VectorLayer", + "visible": true + }, + "37bdd5f8-085d-48be-8060-6482d87c3e32/Rivers + Lake Centrelines": { + "filters": { + "appliedFilters": [ + { + "feature": null, + "operator": null, + "value": null + } + ], + "logicalOp": null + }, + "name": "GeoPackage Layer Rivers + Lake Centrelines Layer", + "parameters": { + "color": null, + "opacity": 1.0, + "source": "176813fb-8572-4b84-9d3a-247ef86ad752/Rivers + Lake Centrelines", + "symbologyState": null + }, + "type": "VectorLayer", + "visible": true + }, + "3e335ea9-4358-4fc1-acb3-ceea34b852d5/Pizza": { + "filters": { + "appliedFilters": [ + { + "feature": null, + "operator": null, + "value": null + } + ], + "logicalOp": null + }, + "name": "GeoPackage Layer Pizza Layer", + "parameters": { + "color": null, + "opacity": 1.0, + "source": "0033b340-eb92-4610-9510-377e43cd6438/Pizza", + "symbologyState": null + }, + "type": "VectorLayer", + "visible": true + }, + "58c36230-5fa7-4158-965d-cc4f5c2a0794/Rivers + Lake Centrelines": { + "filters": { + "appliedFilters": [ + { + "feature": null, + "operator": null, + "value": null + } + ], + "logicalOp": null + }, + "name": "GeoPackage Layer Rivers + Lake Centrelines Layer", + "parameters": { + "color": null, + "opacity": 1.0, + "source": "8f10ffc3-7461-4ea7-bce8-fb29e2671289/Rivers + Lake Centrelines", + "symbologyState": null + }, + "type": "VectorLayer", + "visible": true + }, + "c3e1b470-fd4e-4c57-ac0a-5b4a24e602ac/tiles": { + "filters": null, + "name": "GeoPackage Layer tiles Layer", + "parameters": { + "opacity": 1.0, + "source": "0a9375df-4f63-4bd6-8e6f-9f4832a0a9cb/tiles" + }, + "type": "RasterLayer", + "visible": true + }, + "d090703f-5953-44b3-acde-c6286e125385/PointsOfInterest": { + "filters": { + "appliedFilters": [ + { + "feature": null, + "operator": null, + "value": null + } + ], + "logicalOp": null + }, + "name": "GeoPackage Layer PointsOfInterest Layer", + "parameters": { + "color": null, + "opacity": 1.0, + "source": "9acdf695-c781-4b68-b415-eff3f66fa7eb/PointsOfInterest", + "symbologyState": null + }, + "type": "VectorLayer", + "visible": true + }, + "d26faffe-10ac-4ddf-9eb4-54832a9dde2b/Lakes": { + "filters": { + "appliedFilters": [ + { + "feature": null, + "operator": null, + "value": null + } + ], + "logicalOp": null + }, + "name": "GeoPackage Layer Lakes Layer", + "parameters": { + "color": null, + "opacity": 1.0, + "source": "33ab235b-2582-4489-a871-42d187cb5f26/Lakes", + "symbologyState": null + }, + "type": "VectorLayer", + "visible": true + }, + "e811f15b-d11a-4113-bc5a-3726dde9976b/Lakes": { + "filters": { + "appliedFilters": [ + { + "feature": null, + "operator": null, + "value": null + } + ], + "logicalOp": null + }, + "name": "GeoPackage Layer Lakes Layer", + "parameters": { + "color": null, + "opacity": 1.0, + "source": "9a0fd43f-5025-49a0-ab69-90b9f074424c/Lakes", + "symbologyState": null + }, + "type": "VectorLayer", + "visible": true + } + }, + "metadata": {}, + "options": { + "bearing": 0.0, + "extent": [ + -20037508.342789244, + -7368890.476495446, + 20037508.342789244, + 7368890.476495444 + ], + "latitude": 0.0, + "longitude": 0.0, + "projection": "EPSG:3857", + "zoom": 2.5517082616206883 + }, + "schemaVersion": "0.5.0", + "sources": { + "0033b340-eb92-4610-9510-377e43cd6438/Pizza": { + "name": "GeoPackage Layer Pizza Source", + "parameters": { + "attribution": null, + "path": "https://raw.githubusercontent.com/ngageoint/geopackage-js/master/docs/examples/GeoPackageToGo/StLouis.gpkg", + "projection": "EPSG:3857", + "tables": "Pizza" + }, + "type": "GeoPackageVectorSource" + }, + "0a9375df-4f63-4bd6-8e6f-9f4832a0a9cb/tiles": { + "name": "GeoPackage Layer tiles Source", + "parameters": { + "attribution": null, + "interpolate": null, + "maxZoom": null, + "minZoom": null, + "path": "https://raw.githubusercontent.com/ngageoint/geopackage-js/master/docs/examples/GeoPackageToGo/StLouis.gpkg", + "tables": "tiles" + }, + "type": "GeoPackageRasterSource" + }, + "176813fb-8572-4b84-9d3a-247ef86ad752/Rivers + Lake Centrelines": { + "name": "GeoPackage Layer Rivers + Lake Centrelines Source", + "parameters": { + "attribution": null, + "path": "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg", + "projection": "EPSG:3857", + "tables": "Rivers + Lake Centrelines" + }, + "type": "GeoPackageVectorSource" + }, + "33ab235b-2582-4489-a871-42d187cb5f26/Lakes": { + "name": "GeoPackage Layer Lakes Source", + "parameters": { + "attribution": null, + "path": "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg", + "projection": "EPSG:3857", + "tables": "Lakes" + }, + "type": "GeoPackageVectorSource" + }, + "41ba7c89-0986-4d8f-a3a2-72847069de89/Countries": { + "name": "GeoPackage Layer Countries Source", + "parameters": { + "attribution": null, + "path": "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg", + "projection": "EPSG:3857", + "tables": "Countries" + }, + "type": "GeoPackageVectorSource" + }, + "894de599-1240-4d96-b7c3-29b43fc9a9bd/Countries": { + "name": "GeoPackage Layer Countries Source", + "parameters": { + "attribution": null, + "path": "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg", + "projection": "EPSG:3857", + "tables": "Countries" + }, + "type": "GeoPackageVectorSource" + }, + "8f10ffc3-7461-4ea7-bce8-fb29e2671289/Rivers + Lake Centrelines": { + "name": "GeoPackage Layer Rivers + Lake Centrelines Source", + "parameters": { + "attribution": null, + "path": "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg", + "projection": "EPSG:3857", + "tables": "Rivers + Lake Centrelines" + }, + "type": "GeoPackageVectorSource" + }, + "9a0fd43f-5025-49a0-ab69-90b9f074424c/Lakes": { + "name": "GeoPackage Layer Lakes Source", + "parameters": { + "attribution": null, + "path": "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg", + "projection": "EPSG:3857", + "tables": "Lakes" + }, + "type": "GeoPackageVectorSource" + }, + "9acdf695-c781-4b68-b415-eff3f66fa7eb/PointsOfInterest": { + "name": "GeoPackage Layer PointsOfInterest Source", + "parameters": { + "attribution": null, + "path": "https://raw.githubusercontent.com/ngageoint/geopackage-js/master/docs/examples/GeoPackageToGo/StLouis.gpkg", + "projection": "EPSG:3857", + "tables": "PointsOfInterest" + }, + "type": "GeoPackageVectorSource" + }, + "c0e58d6d-7dc7-4878-9aa4-b241f8172262/Parks": { + "name": "GeoPackage Layer Parks Source", + "parameters": { + "attribution": null, + "path": "https://raw.githubusercontent.com/ngageoint/geopackage-js/master/docs/examples/GeoPackageToGo/StLouis.gpkg", + "projection": "EPSG:3857", + "tables": "Parks" + }, + "type": "GeoPackageVectorSource" + } + } +} \ No newline at end of file From 793b3495d731d274307f4a6a8d8ef1d75185153a Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 21 Jul 2025 13:56:46 +0200 Subject: [PATCH 17/26] Remove downloaded gpkg file after reading --- python/jupytergis_lab/jupytergis_lab/notebook/utils.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/utils.py b/python/jupytergis_lab/jupytergis_lab/notebook/utils.py index 968a250f5..3163f1555 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/utils.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/utils.py @@ -26,7 +26,7 @@ def isURL(path: str) -> bool: def download_file(url: str, ext: str) -> str: - filename = f"downloaded_{uuid.uuid4().hex[:8]}.{ext}" + filename = Path(f"downloaded_{uuid.uuid4().hex[:8]}.{ext}") req = Request(url, headers={"User-Agent": "python-urllib"}) with urlopen(req) as resp, open(filename, "wb") as out: @@ -46,4 +46,8 @@ def get_gpkg_layers(gpkg_path: str, data_type: str) -> list[str]: ) layers = [row[0] for row in cursor.fetchall()] conn.close() + + if gpkg_path.exists(): + gpkg_path.unlink() + return layers From 0d77c6c3242b478b20d2217c2e2ac349f6f5f6ce Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 12:34:52 +0000 Subject: [PATCH 18/26] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- packages/base/src/mainview/mainView.tsx | 2 +- packages/base/src/tools.ts | 2 +- python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index eaf4f1a15..d34fe5f18 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -770,7 +770,7 @@ export class MainView extends React.Component { break; } - + case 'GeoPackageVectorSource': { const sourceParameters = source.parameters; diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 9a47baa14..466ad6084 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -826,7 +826,7 @@ export const loadFile = async (fileInfo: { file.content ); } - + case 'GeoParquetSource': { if (typeof file.content === 'string') { const { toGeoJson } = await import('geoparquet'); diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py index 68e6afa42..36b539472 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/tests/test_api.py @@ -43,6 +43,8 @@ class TestGeoPackageRasterLayer(TestDocument): def test_sourcelayer(self): gpkg_layers = self.doc.add_geopackage_raster_layer(TEST_GPKG_RASTER) assert all(name in self.doc.layers for name in gpkg_layers) + + class TestGeoParquetLayer(TestDocument): def test_sourcelayer(self): color = {"fill-color": "#00FF00", "stroke-color": "#FF0000"} From 161d6816138a70e0cb5c2cc63ee3e890a635a593 Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 21 Jul 2025 14:58:16 +0200 Subject: [PATCH 19/26] Formatting and linting --- packages/base/src/commands/index.ts | 8 ++--- .../base/src/formbuilder/creationform.tsx | 18 +++++----- packages/base/src/icons.ts | 4 +-- packages/base/src/mainview/mainView.tsx | 6 ++-- packages/base/src/menus.ts | 4 +-- packages/base/src/tools.ts | 34 +++++++++---------- python/jupytergis_core/src/plugin.ts | 5 ++- 7 files changed, 38 insertions(+), 41 deletions(-) diff --git a/packages/base/src/commands/index.ts b/packages/base/src/commands/index.ts index f800d9482..4415883c0 100644 --- a/packages/base/src/commands/index.ts +++ b/packages/base/src/commands/index.ts @@ -507,9 +507,9 @@ export function addCommands( sourceData: { name: 'Custom GeoPackage Vector Source' }, layerData: { name: 'Custom GeoPackage Vector Layer' }, sourceType: 'GeoPackageVectorSource', - layerType: 'VectorLayer' + layerType: 'VectorLayer', }), - ...icons.get(CommandIDs.newGeoPackageVectorEntry) + ...icons.get(CommandIDs.newGeoPackageVectorEntry), }); commands.addCommand(CommandIDs.newGeoPackageRasterEntry, { label: trans.__('New GeoPackage Layer'), @@ -527,9 +527,9 @@ export function addCommands( sourceData: { name: 'Custom GeoPackage Raster Source' }, layerData: { name: 'Custom GeoPackage Raster Layer' }, sourceType: 'GeoPackageRasterSource', - layerType: 'RasterLayer' + layerType: 'RasterLayer', }), - ...icons.get(CommandIDs.newGeoPackageRasterEntry) + ...icons.get(CommandIDs.newGeoPackageRasterEntry), }); /** diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index c04fb28d0..8cd3924a8 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -7,14 +7,12 @@ import { LayerType, SourceType, } from '@jupytergis/schema'; - -import { deepCopy, getGeoPackageTableNames } from '@/src/'; import { Dialog, showErrorMessage } from '@jupyterlab/apputils'; - import { PromiseDelegate, UUID } from '@lumino/coreutils'; import { Signal } from '@lumino/signaling'; import * as React from 'react'; +import { deepCopy, getGeoPackageTableNames } from '@/src/'; import { getLayerTypeForm, getSourceTypeForm } from './formselectors'; export interface ICreationFormProps { @@ -169,7 +167,7 @@ export class CreationForm extends React.Component { const allTables = await getGeoPackageTableNames( source.path, this.props.sourceType, - this.jGISModel + this.jGISModel, ); let tableNames: string[]; @@ -181,7 +179,7 @@ export class CreationForm extends React.Component { .filter(Boolean); const invalidTableNames = requestedTableNames.filter( - (name: string) => !allTables.includes(name) + (name: string) => !allTables.includes(name), ); if (invalidTableNames.length) { showErrorMessage( @@ -189,12 +187,12 @@ export class CreationForm extends React.Component { `The following table${ invalidTableNames.length > 1 ? 's are' : ' is' } not in the GeoPackage: ${invalidTableNames.join(', ')}. ` + - `Available tables are: ${allTables.join(', ')}.` + `Available tables are: ${allTables.join(', ')}.`, ); } tableNames = requestedTableNames.filter((name: string) => - allTables.includes(name) + allTables.includes(name), ); if (tableNames.length === 0) { @@ -215,8 +213,8 @@ export class CreationForm extends React.Component { parameters: { path: source.path, tables: tableName, - projection: source.projection || 'EPSG:3857' - } + projection: source.projection || 'EPSG:3857', + }, }; this.props.model.sharedModel.addSource(childId, sourceModel); } @@ -229,7 +227,7 @@ export class CreationForm extends React.Component { : 'RasterLayer'), parameters: { source: childId }, visible: true, - name: `${source.name} ${tableName} Layer` + name: `${source.name} ${tableName} Layer`, }; this.jGISModel.addLayer(UUID.uuid4(), layerModel); } diff --git a/packages/base/src/icons.ts b/packages/base/src/icons.ts index 27a5165d4..2b751ac25 100644 --- a/packages/base/src/icons.ts +++ b/packages/base/src/icons.ts @@ -11,6 +11,7 @@ import bookOpenSvgStr from '../style/icons/book_open.svg'; import clockSvgStr from '../style/icons/clock-solid.svg'; import geoJsonSvgStr from '../style/icons/geojson.svg'; import geolocationSvgStr from '../style/icons/geolocation.svg'; +import geoPackageSvgStr from '../style/icons/geopackage.svg'; import infoSvgStr from '../style/icons/info-solid.svg'; import logoSvgStr from '../style/icons/logo.svg'; import logoMiniSvgStr from '../style/icons/logo_mini.svg'; @@ -20,7 +21,6 @@ import moundSvgStr from '../style/icons/mound.svg'; import nonVisibilitySvgStr from '../style/icons/nonvisibility.svg'; import rasterSvgStr from '../style/icons/raster.svg'; import targetWithCenterSvgStr from '../style/icons/target_with_center.svg'; -import geoPackageSvgStr from '../style/icons/geopackage.svg'; import targetWithoutCenterSvgStr from '../style/icons/target_without_center.svg'; import terminalToolbarSvgStr from '../style/icons/terminal_toolbar.svg'; import vectorSquareSvgStr from '../style/icons/vector_square.svg'; @@ -113,5 +113,5 @@ export const targetWithCenterIcon = new LabIcon({ export const geoPackageIcon = new LabIcon({ name: 'jupytergis::geoPackage', - svgstr: geoPackageSvgStr + svgstr: geoPackageSvgStr, }); diff --git a/packages/base/src/mainview/mainView.tsx b/packages/base/src/mainview/mainView.tsx index d34fe5f18..e7e73318b 100644 --- a/packages/base/src/mainview/mainView.tsx +++ b/packages/base/src/mainview/mainView.tsx @@ -781,7 +781,7 @@ export class MainView extends React.Component { const tableMap = await loadFile({ filepath: sourceParameters.path, type: 'GeoPackageVectorSource', - model: this._model + model: this._model, }); const table = tableMap[sourceParameters.tables]; @@ -801,7 +801,7 @@ export class MainView extends React.Component { const tableMap = await loadFile({ filepath: sourceParameters.path, type: 'GeoPackageRasterSource', - model: this._model + model: this._model, }); const { gpr, tileDao } = tableMap[sourceParameters.tables]; @@ -817,7 +817,7 @@ export class MainView extends React.Component { .getTile(x, y, z) .then((dataUri: any) => (tile.getImage().src = dataUri)); }, - attributions: sourceParameters.attribution + attributions: sourceParameters.attribution, }); newSource = rasterSource; diff --git a/packages/base/src/menus.ts b/packages/base/src/menus.ts index 4018467df..5e219248c 100644 --- a/packages/base/src/menus.ts +++ b/packages/base/src/menus.ts @@ -33,7 +33,7 @@ export const vectorSubMenu = (commands: CommandRegistry) => { subMenu.addItem({ type: 'command', - command: CommandIDs.newGeoPackageVectorEntry + command: CommandIDs.newGeoPackageVectorEntry, }); return subMenu; @@ -68,7 +68,7 @@ export const rasterSubMenu = (commands: CommandRegistry) => { subMenu.addItem({ type: 'command', - command: CommandIDs.newGeoPackageRasterEntry + command: CommandIDs.newGeoPackageRasterEntry, }); return subMenu; diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 466ad6084..e619d5ba9 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -11,15 +11,15 @@ import { showErrorMessage } from '@jupyterlab/apputils'; import { PathExt, URLExt } from '@jupyterlab/coreutils'; import { Contents, ServerConnection } from '@jupyterlab/services'; import { VectorTile } from '@mapbox/vector-tile'; +import { GeoPackageAPI, GeoPackageTileRetriever } from '@ngageoint/geopackage'; import * as d3Color from 'd3-color'; import { compressors } from 'hyparquet-compressors'; +import { Source } from 'ol/source'; +import loadGpkg from 'ol-load-geopackage'; import Protobuf from 'pbf'; import shp from 'shpjs'; import RASTER_LAYER_GALLERY from '@/rasterlayer_gallery/raster_layer_gallery.json'; -import { GeoPackageAPI, GeoPackageTileRetriever } from '@ngageoint/geopackage'; -import loadGpkg from 'ol-load-geopackage'; -import { Source } from 'ol/source'; export const debounce = ( func: CallableFunction, @@ -490,24 +490,24 @@ export const loadGeoTiff = async ( } }; -interface VectorEntry { +interface IVectorEntry { source: Source; sld: string | undefined; } -interface TileEntry { +interface ITileEntry { gpr: GeoPackageTileRetriever; tileDao: object; } -type GpkgTable = Record; +type GpkgTable = Record; const geoPackageCache = new Map>(); function loadGeoPackageVectorFile( filepath: string, projection: string, - cacheFilename: string + cacheFilename: string, ): Promise { if (geoPackageCache.has(cacheFilename)) { return geoPackageCache.get(cacheFilename)!; @@ -520,7 +520,7 @@ function loadGeoPackageVectorFile( for (const name of Object.keys(tables)) { tableMap[name] = { source: tables[name] as Source, - sld: slds[name] + sld: slds[name], }; } return tableMap; @@ -537,7 +537,7 @@ async function loadGeoPackageRasterFile( filepath: string, cacheFilename: string, model?: IJupyterGISModel, - file_content?: string + file_content?: string, ): Promise { if (geoPackageCache.has(cacheFilename)) { return geoPackageCache.get(cacheFilename)!; @@ -565,7 +565,7 @@ async function loadGeoPackageRasterFile( tableMap[tableName] = { gpr: new GeoPackageTileRetriever(tileDao, tileWidth, tileHeight), - tileDao + tileDao, }; }); @@ -573,7 +573,7 @@ async function loadGeoPackageRasterFile( } catch (error: any) { showErrorMessage( `Failed to load GeoPackage file: ${cacheFilename}`, - error + error, ); throw error; } @@ -585,7 +585,7 @@ async function loadGeoPackageRasterFile( async function loadGkpgFromUrl( filepath: string, - model: IJupyterGISModel + model: IJupyterGISModel, ): Promise { const response = await fetchWithProxies(filepath, model, async response => { const arrayBuffer = await response.arrayBuffer(); @@ -600,7 +600,7 @@ async function loadGkpgFromUrl( export async function getGeoPackageTableNames( filepath: string, type: 'GeoPackageVectorSource' | 'GeoPackageRasterSource', - model: IJupyterGISModel + model: IJupyterGISModel, ) { let geoPackage; @@ -608,13 +608,13 @@ export async function getGeoPackageTableNames( geoPackage = await loadGeoPackageRasterFile( filepath, filepath + 'Raster', - model + model, ); } else { geoPackage = await loadGeoPackageVectorFile( filepath, model.sharedModel.options.projection!, - filepath + 'Vector' + filepath + 'Vector', ); } @@ -712,7 +712,7 @@ export const loadFile = async (fileInfo: { return loadGeoPackageVectorFile( filepath, projection, - filepath + 'Vector' + filepath + 'Vector', ); } @@ -823,7 +823,7 @@ export const loadFile = async (fileInfo: { filepath, filepath + 'Raster', undefined, - file.content + file.content, ); } diff --git a/python/jupytergis_core/src/plugin.ts b/python/jupytergis_core/src/plugin.ts index 9e3cf2653..003e9eef4 100644 --- a/python/jupytergis_core/src/plugin.ts +++ b/python/jupytergis_core/src/plugin.ts @@ -20,14 +20,13 @@ import { WidgetTracker } from '@jupyterlab/apputils'; import { IDocumentManager } from '@jupyterlab/docmanager'; import { IMainMenu } from '@jupyterlab/mainmenu'; import { ITranslator } from '@jupyterlab/translation'; +import { SqljsAdapter } from '@ngageoint/geopackage'; +import wasmURL from 'rtree-sql.js/dist/sql-wasm.wasm'; import { JupyterGISExternalCommandRegistry } from './externalcommand'; import { JupyterGISLayerBrowserRegistry } from './layerBrowserRegistry'; import { JupyterGISFormSchemaRegistry } from './schemaregistry'; -import { SqljsAdapter } from '@ngageoint/geopackage'; -import wasmURL from 'rtree-sql.js/dist/sql-wasm.wasm'; - SqljsAdapter.setSqljsWasmLocateFile(() => wasmURL); const NAME_SPACE = 'jupytergis'; From c8f0c315b3063353ceb369c6c1abe63e0b7c9093 Mon Sep 17 00:00:00 2001 From: elifsu Date: Mon, 21 Jul 2025 15:26:57 +0200 Subject: [PATCH 20/26] Make webpack config path relative --- examples/geopackage.jgis | 114 +++------------------------- python/jupytergis_core/package.json | 2 +- 2 files changed, 10 insertions(+), 106 deletions(-) diff --git a/examples/geopackage.jgis b/examples/geopackage.jgis index 8376203ab..537bad248 100644 --- a/examples/geopackage.jgis +++ b/examples/geopackage.jgis @@ -1,15 +1,12 @@ { "layerTree": [ + "c3e1b470-fd4e-4c57-ac0a-5b4a24e602ac/tiles", "d090703f-5953-44b3-acde-c6286e125385/PointsOfInterest", "21467e04-77ba-445d-8e7b-638149deb9f4/Parks", "3e335ea9-4358-4fc1-acb3-ceea34b852d5/Pizza", "03fa7c7c-4f88-49cf-b975-38a42ef38710/Countries", "e811f15b-d11a-4113-bc5a-3726dde9976b/Lakes", - "58c36230-5fa7-4158-965d-cc4f5c2a0794/Rivers + Lake Centrelines", - "c3e1b470-fd4e-4c57-ac0a-5b4a24e602ac/tiles", - "08243201-86af-4623-a1b9-16e569fdc166/Countries", - "d26faffe-10ac-4ddf-9eb4-54832a9dde2b/Lakes", - "37bdd5f8-085d-48be-8060-6482d87c3e32/Rivers + Lake Centrelines" + "58c36230-5fa7-4158-965d-cc4f5c2a0794/Rivers + Lake Centrelines" ], "layers": { "03fa7c7c-4f88-49cf-b975-38a42ef38710/Countries": { @@ -33,27 +30,6 @@ "type": "VectorLayer", "visible": true }, - "08243201-86af-4623-a1b9-16e569fdc166/Countries": { - "filters": { - "appliedFilters": [ - { - "feature": null, - "operator": null, - "value": null - } - ], - "logicalOp": null - }, - "name": "GeoPackage Layer Countries Layer", - "parameters": { - "color": null, - "opacity": 1.0, - "source": "894de599-1240-4d96-b7c3-29b43fc9a9bd/Countries", - "symbologyState": null - }, - "type": "VectorLayer", - "visible": true - }, "21467e04-77ba-445d-8e7b-638149deb9f4/Parks": { "filters": { "appliedFilters": [ @@ -75,27 +51,6 @@ "type": "VectorLayer", "visible": true }, - "37bdd5f8-085d-48be-8060-6482d87c3e32/Rivers + Lake Centrelines": { - "filters": { - "appliedFilters": [ - { - "feature": null, - "operator": null, - "value": null - } - ], - "logicalOp": null - }, - "name": "GeoPackage Layer Rivers + Lake Centrelines Layer", - "parameters": { - "color": null, - "opacity": 1.0, - "source": "176813fb-8572-4b84-9d3a-247ef86ad752/Rivers + Lake Centrelines", - "symbologyState": null - }, - "type": "VectorLayer", - "visible": true - }, "3e335ea9-4358-4fc1-acb3-ceea34b852d5/Pizza": { "filters": { "appliedFilters": [ @@ -169,27 +124,6 @@ "type": "VectorLayer", "visible": true }, - "d26faffe-10ac-4ddf-9eb4-54832a9dde2b/Lakes": { - "filters": { - "appliedFilters": [ - { - "feature": null, - "operator": null, - "value": null - } - ], - "logicalOp": null - }, - "name": "GeoPackage Layer Lakes Layer", - "parameters": { - "color": null, - "opacity": 1.0, - "source": "33ab235b-2582-4489-a871-42d187cb5f26/Lakes", - "symbologyState": null - }, - "type": "VectorLayer", - "visible": true - }, "e811f15b-d11a-4113-bc5a-3726dde9976b/Lakes": { "filters": { "appliedFilters": [ @@ -216,15 +150,15 @@ "options": { "bearing": 0.0, "extent": [ - -20037508.342789244, - -7368890.476495446, - 20037508.342789244, - 7368890.476495444 + -22036985.40727903, + -6817247.246847427, + 18038031.278299443, + 18065694.93156175 ], - "latitude": 0.0, - "longitude": 0.0, + "latitude": 45.01716292551504, + "longitude": -17.96160807277616, "projection": "EPSG:3857", - "zoom": 2.5517082616206883 + "zoom": 2.1032878084120226 }, "schemaVersion": "0.5.0", "sources": { @@ -250,26 +184,6 @@ }, "type": "GeoPackageRasterSource" }, - "176813fb-8572-4b84-9d3a-247ef86ad752/Rivers + Lake Centrelines": { - "name": "GeoPackage Layer Rivers + Lake Centrelines Source", - "parameters": { - "attribution": null, - "path": "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg", - "projection": "EPSG:3857", - "tables": "Rivers + Lake Centrelines" - }, - "type": "GeoPackageVectorSource" - }, - "33ab235b-2582-4489-a871-42d187cb5f26/Lakes": { - "name": "GeoPackage Layer Lakes Source", - "parameters": { - "attribution": null, - "path": "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg", - "projection": "EPSG:3857", - "tables": "Lakes" - }, - "type": "GeoPackageVectorSource" - }, "41ba7c89-0986-4d8f-a3a2-72847069de89/Countries": { "name": "GeoPackage Layer Countries Source", "parameters": { @@ -280,16 +194,6 @@ }, "type": "GeoPackageVectorSource" }, - "894de599-1240-4d96-b7c3-29b43fc9a9bd/Countries": { - "name": "GeoPackage Layer Countries Source", - "parameters": { - "attribution": null, - "path": "https://raw.githubusercontent.com/richard-thomas/ol-load-geopackage/master/examples/dist/Natural_Earth_QGIS_layers_and_styles.gpkg", - "projection": "EPSG:3857", - "tables": "Countries" - }, - "type": "GeoPackageVectorSource" - }, "8f10ffc3-7461-4ea7-bce8-fb29e2671289/Rivers + Lake Centrelines": { "name": "GeoPackage Layer Rivers + Lake Centrelines Source", "parameters": { diff --git a/python/jupytergis_core/package.json b/python/jupytergis_core/package.json index 5c61d04b4..915e4eecb 100644 --- a/python/jupytergis_core/package.json +++ b/python/jupytergis_core/package.json @@ -109,7 +109,7 @@ }, "extension": true, "outputDir": "jupytergis_core/labextension", - "webpackConfig": "webpack.config.js", + "webpackConfig": "./webpack.config.js", "sharedPackages": { "@jupytergis/base": { "singleton": true, From d62ac7a34b64de26d36b401ee47fbfe3baa39251 Mon Sep 17 00:00:00 2001 From: elifsu Date: Wed, 13 Aug 2025 16:24:16 +0200 Subject: [PATCH 21/26] Linearize curved geometries --- .../base/src/formbuilder/creationform.tsx | 4 +- packages/base/src/tools.ts | 59 ++++++++++++------- 2 files changed, 40 insertions(+), 23 deletions(-) diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index 8cd3924a8..a6e535d8d 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -166,9 +166,7 @@ export class CreationForm extends React.Component { const allTables = await getGeoPackageTableNames( source.path, - this.props.sourceType, - this.jGISModel, - ); + this.props.sourceType); let tableNames: string[]; diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index e619d5ba9..0ab5af8e2 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -18,6 +18,7 @@ import { Source } from 'ol/source'; import loadGpkg from 'ol-load-geopackage'; import Protobuf from 'pbf'; import shp from 'shpjs'; +import { getGdal } from './gdal'; import RASTER_LAYER_GALLERY from '@/rasterlayer_gallery/raster_layer_gallery.json'; @@ -504,8 +505,28 @@ type GpkgTable = Record; const geoPackageCache = new Map>(); +/** + * Convert curved geometries to linear geometries for a given GeoPackage vector file + * + * @param fileBlob GeoPackage file as a blob + * @returns Blob URL created from converted file + */ +async function linearizeGpkgInBrowser( + fileBlob:Blob +): Promise { + const gdal = await getGdal(); + const file = new File([fileBlob], 'input.gpkg', { type: 'application/geopackage+sqlite3' }); + const ds = await gdal.open(file); + await gdal.ogr2ogr(ds.datasets[0], ['-f', 'GPKG', '-nlt', 'CONVERT_TO_LINEAR'], 'output'); + const bytes = await gdal.getFileBytes('/output/output.gpkg'); + const blob = new Blob([new Uint8Array(bytes)], { type: 'application/geopackage+sqlite3' }); + const url = URL.createObjectURL(blob); + return url +} + + function loadGeoPackageVectorFile( - filepath: string, + fileBlob: Blob, projection: string, cacheFilename: string, ): Promise { @@ -515,7 +536,8 @@ function loadGeoPackageVectorFile( const loader = (async (): Promise => { try { - const [tables, slds] = await loadGpkg(filepath, projection); + const url = await linearizeGpkgInBrowser(fileBlob); + const [tables, slds] = await loadGpkg(url, projection); const tableMap: GpkgTable = {}; for (const name of Object.keys(tables)) { tableMap[name] = { @@ -600,25 +622,15 @@ async function loadGkpgFromUrl( export async function getGeoPackageTableNames( filepath: string, type: 'GeoPackageVectorSource' | 'GeoPackageRasterSource', - model: IJupyterGISModel, ) { - let geoPackage; + const cacheKey = filepath + (type === 'GeoPackageRasterSource' ? 'Raster' : 'Vector'); - if (type === 'GeoPackageRasterSource') { - geoPackage = await loadGeoPackageRasterFile( - filepath, - filepath + 'Raster', - model, - ); - } else { - geoPackage = await loadGeoPackageVectorFile( - filepath, - model.sharedModel.options.projection!, - filepath + 'Vector', - ); + const tableMap = await geoPackageCache.get(cacheKey); + if (!tableMap) { + return []; } - return Object.keys(geoPackage); + return Object.keys(tableMap); } /** @@ -709,8 +721,16 @@ export const loadFile = async (fileInfo: { //throw new Error(`Projection is not specified for ${filepath}`); projection = 'EPSG:3857'; } + + const fileBlob = await fetchWithProxies(filepath, model, async response => response.blob()); + + if (!fileBlob) { + showErrorMessage('Network error', `Failed to fetch ${filepath}`); + throw new Error(`Failed to fetch ${filepath}`); + } + return loadGeoPackageVectorFile( - filepath, + fileBlob, projection, filepath + 'Vector', ); @@ -814,8 +834,7 @@ export const loadFile = async (fileInfo: { projection = 'EPSG:3857'; } const blob = await base64ToBlob(file.content, getMimeType(filepath)); - const url = URL.createObjectURL(blob); - return loadGeoPackageVectorFile(url, projection, filepath + 'Vector'); + return loadGeoPackageVectorFile(blob, projection, filepath + 'Vector'); } case 'GeoPackageRasterSource': { From 8522e1d8e969971e80c090b940fb9e67357a68c3 Mon Sep 17 00:00:00 2001 From: elifsu Date: Wed, 13 Aug 2025 16:44:43 +0200 Subject: [PATCH 22/26] Reproject data --- packages/base/src/tools.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 0ab5af8e2..af6d60405 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -506,18 +506,19 @@ type GpkgTable = Record; const geoPackageCache = new Map>(); /** - * Convert curved geometries to linear geometries for a given GeoPackage vector file + * Convert curved geometries to linear geometries for a given GeoPackage vector file, and reproject the data * * @param fileBlob GeoPackage file as a blob * @returns Blob URL created from converted file */ -async function linearizeGpkgInBrowser( - fileBlob:Blob +async function linearizeReprojectGpkg( + fileBlob:Blob, + projection:string ): Promise { const gdal = await getGdal(); const file = new File([fileBlob], 'input.gpkg', { type: 'application/geopackage+sqlite3' }); const ds = await gdal.open(file); - await gdal.ogr2ogr(ds.datasets[0], ['-f', 'GPKG', '-nlt', 'CONVERT_TO_LINEAR'], 'output'); + await gdal.ogr2ogr(ds.datasets[0], ['-f', 'GPKG', '-nlt', 'CONVERT_TO_LINEAR', '-t_srs', projection], 'output'); const bytes = await gdal.getFileBytes('/output/output.gpkg'); const blob = new Blob([new Uint8Array(bytes)], { type: 'application/geopackage+sqlite3' }); const url = URL.createObjectURL(blob); @@ -536,7 +537,7 @@ function loadGeoPackageVectorFile( const loader = (async (): Promise => { try { - const url = await linearizeGpkgInBrowser(fileBlob); + const url = await linearizeReprojectGpkg(fileBlob, projection); const [tables, slds] = await loadGpkg(url, projection); const tableMap: GpkgTable = {}; for (const name of Object.keys(tables)) { From 4aab3f95b8c4fe8f8b4337d1aa4358413c0fe274 Mon Sep 17 00:00:00 2001 From: elifsu Date: Fri, 15 Aug 2025 14:49:15 +0200 Subject: [PATCH 23/26] Add newline to docstring --- python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py index 66171600f..7b505ba78 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py @@ -616,6 +616,7 @@ def add_geopackage_vector_layer( ): """ Add a GeoPackage Vector Layer to the document + :param path: The path to the GeoPackage file to embed into the jGIS file. :param table_names: A list of table names to create layers for. :param name: The name that will be used for the object in the document. From 8f9df16c8e3ba3ce7cef55d37876ad48ddba3f0b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 15 Aug 2025 12:53:04 +0000 Subject: [PATCH 24/26] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py index ab3b3e139..ee2171a3c 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py @@ -617,7 +617,7 @@ def add_geopackage_vector_layer( ): """ Add a GeoPackage Vector Layer to the document - + :param path: The path to the GeoPackage file to embed into the jGIS file. :param table_names: A list of table names to create layers for. :param name: The name that will be used for the object in the document. From 9ba4e68b37f2224d86174999f89e689f0557bf85 Mon Sep 17 00:00:00 2001 From: elifsu Date: Fri, 15 Aug 2025 14:58:01 +0200 Subject: [PATCH 25/26] Formatting --- .../base/src/formbuilder/creationform.tsx | 3 +- packages/base/src/tools.ts | 35 +++++++++++++------ .../jupytergis_lab/notebook/gis_document.py | 2 +- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/packages/base/src/formbuilder/creationform.tsx b/packages/base/src/formbuilder/creationform.tsx index a6e535d8d..8c7e28db7 100644 --- a/packages/base/src/formbuilder/creationform.tsx +++ b/packages/base/src/formbuilder/creationform.tsx @@ -166,7 +166,8 @@ export class CreationForm extends React.Component { const allTables = await getGeoPackageTableNames( source.path, - this.props.sourceType); + this.props.sourceType, + ); let tableNames: string[]; diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index af6d60405..720f09ed6 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -18,9 +18,10 @@ import { Source } from 'ol/source'; import loadGpkg from 'ol-load-geopackage'; import Protobuf from 'pbf'; import shp from 'shpjs'; -import { getGdal } from './gdal'; import RASTER_LAYER_GALLERY from '@/rasterlayer_gallery/raster_layer_gallery.json'; +import { getGdal } from './gdal'; + export const debounce = ( func: CallableFunction, @@ -512,20 +513,27 @@ const geoPackageCache = new Map>(); * @returns Blob URL created from converted file */ async function linearizeReprojectGpkg( - fileBlob:Blob, - projection:string + fileBlob: Blob, + projection: string, ): Promise { const gdal = await getGdal(); - const file = new File([fileBlob], 'input.gpkg', { type: 'application/geopackage+sqlite3' }); + const file = new File([fileBlob], 'input.gpkg', { + type: 'application/geopackage+sqlite3', + }); const ds = await gdal.open(file); - await gdal.ogr2ogr(ds.datasets[0], ['-f', 'GPKG', '-nlt', 'CONVERT_TO_LINEAR', '-t_srs', projection], 'output'); + await gdal.ogr2ogr( + ds.datasets[0], + ['-f', 'GPKG', '-nlt', 'CONVERT_TO_LINEAR', '-t_srs', projection], + 'output', + ); const bytes = await gdal.getFileBytes('/output/output.gpkg'); - const blob = new Blob([new Uint8Array(bytes)], { type: 'application/geopackage+sqlite3' }); + const blob = new Blob([new Uint8Array(bytes)], { + type: 'application/geopackage+sqlite3', + }); const url = URL.createObjectURL(blob); - return url + return url; } - function loadGeoPackageVectorFile( fileBlob: Blob, projection: string, @@ -624,14 +632,15 @@ export async function getGeoPackageTableNames( filepath: string, type: 'GeoPackageVectorSource' | 'GeoPackageRasterSource', ) { - const cacheKey = filepath + (type === 'GeoPackageRasterSource' ? 'Raster' : 'Vector'); + const cacheKey = + filepath + (type === 'GeoPackageRasterSource' ? 'Raster' : 'Vector'); const tableMap = await geoPackageCache.get(cacheKey); if (!tableMap) { return []; } - return Object.keys(tableMap); + return Object.keys(tableMap); } /** @@ -723,7 +732,11 @@ export const loadFile = async (fileInfo: { projection = 'EPSG:3857'; } - const fileBlob = await fetchWithProxies(filepath, model, async response => response.blob()); + const fileBlob = await fetchWithProxies( + filepath, + model, + async response => response.blob(), + ); if (!fileBlob) { showErrorMessage('Network error', `Failed to fetch ${filepath}`); diff --git a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py index ab3b3e139..ee2171a3c 100644 --- a/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py +++ b/python/jupytergis_lab/jupytergis_lab/notebook/gis_document.py @@ -617,7 +617,7 @@ def add_geopackage_vector_layer( ): """ Add a GeoPackage Vector Layer to the document - + :param path: The path to the GeoPackage file to embed into the jGIS file. :param table_names: A list of table names to create layers for. :param name: The name that will be used for the object in the document. From 6d8fde2535b71bf699cb52600147b3e337eae3f1 Mon Sep 17 00:00:00 2001 From: elifsu Date: Fri, 15 Aug 2025 15:28:03 +0200 Subject: [PATCH 26/26] Linting --- packages/base/src/tools.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/base/src/tools.ts b/packages/base/src/tools.ts index 720f09ed6..d4de67172 100644 --- a/packages/base/src/tools.ts +++ b/packages/base/src/tools.ts @@ -22,7 +22,6 @@ import shp from 'shpjs'; import RASTER_LAYER_GALLERY from '@/rasterlayer_gallery/raster_layer_gallery.json'; import { getGdal } from './gdal'; - export const debounce = ( func: CallableFunction, timeout = 100,