diff --git a/.gitignore b/.gitignore index 344d16229..421aeb139 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ ui-tests/.yarn/ ipyleaflet/nbextension/ ipyleaflet/labextension/ js/dist/ +js/lib/ # OS X .DS_Store diff --git a/js/.eslintignore b/js/.eslintignore index f06235c46..468bb8912 100644 --- a/js/.eslintignore +++ b/js/.eslintignore @@ -1,2 +1,3 @@ node_modules dist +lib diff --git a/js/.prettierignore b/js/.prettierignore index f06235c46..4c257dee7 100644 --- a/js/.prettierignore +++ b/js/.prettierignore @@ -1,2 +1,3 @@ node_modules dist +lib \ No newline at end of file diff --git a/js/src/jupyter-leaflet.css b/js/css/jupyter-leaflet.css similarity index 100% rename from js/src/jupyter-leaflet.css rename to js/css/jupyter-leaflet.css diff --git a/js/package.json b/js/package.json index ed3cb4dda..fea6ea29a 100644 --- a/js/package.json +++ b/js/package.json @@ -8,23 +8,36 @@ "jupyterlab-extension", "widgets" ], + "files": [ + "css/", + "lib/" + ], "repository": { "type": "git", "url": "https://github.com/jupyter-widgets/ipyleaflet.git" }, "license": "MIT", "author": "Project Jupyter", - "main": "src/index.js", + "main": "lib/index.js", + "types": "./lib/index.d.ts", "scripts": { - "build": "webpack && jupyter labextension build .", - "clean": "rimraf dist/ && rimraf ../ipyleaflet/labextension/ && rimraf ../ipyleaflet/nbextension", - "prepublish": "npm run clean && npm run build", - "test": "echo \"Error: no test specified\" && exit 1", - "watch": "run-p watch:src watch:labextension", - "watch:src": "webpack --watch", - "watch:labextension": "jupyter labextension watch .", - "lint": "eslint . --fix && prettier --write .", - "lint:check": "eslint . && prettier ." + "build": "yarn run build:lib && yarn run build:nbextension && yarn run build:labextension", + "build:lib": "tsc", + "build:nbextension": "webpack --no-devtool", + "build:labextension": "jupyter labextension build .", + "build:extensions": "yarn run build && yarn run build:labextension", + "clean": "yarn run clean:lib && yarn run clean:nbextension && yarn run clean:labextension", + "clean:lib": "rimraf lib", + "clean:nbextension": "rimraf ../ipyleaflet/nbextension/index.js", + "clean:labextension": "rimraf ../ipyleaflet/labextension", + "lint": "yarn prettier && yarn eslint", + "lint:check": "yarn prettier:check && yarn eslint", + "prettier": "yarn prettier:base --write --list-different", + "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"", + "prettier:check": "yarn prettier:base --check", + "prepack": "yarn run build", + "watch:lib": "tsc -w", + "watch:nbextension": "webpack --watch" }, "dependencies": { "@jupyter-widgets/base": "^2 || ^3 || ^4 || ^5 || ^6", @@ -52,6 +65,9 @@ }, "devDependencies": { "@jupyterlab/builder": "^4.0.8", + "@types/leaflet": "^1.9.8", + "@types/node": "^20.10.5", + "@types/webpack-env": "^1.18.4", "css-loader": "^3.4.2", "eslint": "^8.23.1", "eslint-config-prettier": "^8.5.0", @@ -64,12 +80,15 @@ "npm-run-all": "^4.1.5", "prettier": "^2.7.1", "rimraf": "^2.6.1", + "source-map-loader": "^4.0.1", "style-loader": "^1.1.2", + "ts-loader": "^9.5.1", + "typescript": "^5.3.3", "webpack": "^5", "webpack-cli": "^5.1.4" }, "jupyterlab": { - "extension": "src/jupyterlab-plugin", + "extension": "lib/jupyterlab-plugin", "outputDir": "../ipyleaflet/labextension", "webpackConfig": "webpack.lab.config.js", "sharedPackages": { diff --git a/js/src/Map.js b/js/src/Map.ts similarity index 98% rename from js/src/Map.js rename to js/src/Map.ts index eb1e37604..ec0ade848 100644 --- a/js/src/Map.js +++ b/js/src/Map.ts @@ -1,10 +1,11 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +// @ts-nocheck -const widgets = require('@jupyter-widgets/base'); -const L = require('./leaflet.js'); -const utils = require('./utils.js'); -const proj = require('./projections.js'); +import * as widgets from '@jupyter-widgets/base'; +import L from './leaflet'; +import * as utils from './utils'; +import * as proj from './projections'; const DEFAULT_LOCATION = [0.0, 0.0]; @@ -448,7 +449,7 @@ export class LeafletMapView extends utils.LeafletDOMWidgetView { _processLuminoMessage(msg, _super) { _super.call(this, msg); - if(!this.obj) return; + if (!this.obj) return; switch (msg.type) { case 'resize': // We set the dirty flag to true to prevent the sub-pixel error diff --git a/js/amd-public-path.js b/js/src/amd-public-path.ts similarity index 92% rename from js/amd-public-path.js rename to js/src/amd-public-path.ts index fbe201426..a86107f80 100644 --- a/js/amd-public-path.js +++ b/js/src/amd-public-path.ts @@ -1,7 +1,9 @@ // In an AMD module, we set the public path using the magic requirejs 'module' dependency // See https://github.com/requirejs/requirejs/wiki/Differences-between-the-simplified-CommonJS-wrapper-and-standard-AMD-define#module // Since 'module' is a requirejs magic module, we must include 'module' in the webpack externals configuration. -var module = require('module'); +// @ts-nocheck + +import * as module from 'module'; var url = new URL(module.uri, document.location); // Using lastIndexOf('/')+1 gives us the empty string if there is no '/', so pathname becomes '/' url.pathname = url.pathname.slice(0, url.pathname.lastIndexOf('/') + 1); diff --git a/js/src/controls/AttributionControl.js b/js/src/controls/AttributionControl.ts similarity index 88% rename from js/src/controls/AttributionControl.js rename to js/src/controls/AttributionControl.ts index 2b4560742..7d90ac41e 100644 --- a/js/src/controls/AttributionControl.js +++ b/js/src/controls/AttributionControl.ts @@ -1,8 +1,9 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +//@ts-nocheck -const L = require('../leaflet.js'); -const control = require('./Control.js'); +import L from '../leaflet'; +import * as control from './Control'; export class LeafletAttributionControlModel extends control.LeafletControlModel { defaults() { diff --git a/js/src/controls/Control.js b/js/src/controls/Control.ts similarity index 89% rename from js/src/controls/Control.js rename to js/src/controls/Control.ts index f72c70243..5e302cea8 100644 --- a/js/src/controls/Control.js +++ b/js/src/controls/Control.ts @@ -1,10 +1,11 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const utils = require('../utils.js'); +//@ts-nocheck +import * as widgets from '@jupyter-widgets/base'; +import L from '../leaflet'; +import * as utils from '../utils'; export class LeafletControlModel extends widgets.WidgetModel { defaults() { return { diff --git a/js/src/controls/DrawControl.js b/js/src/controls/DrawControl.ts similarity index 97% rename from js/src/controls/DrawControl.js rename to js/src/controls/DrawControl.ts index 2c35fc0ad..10442731d 100644 --- a/js/src/controls/DrawControl.js +++ b/js/src/controls/DrawControl.ts @@ -1,9 +1,11 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const control = require('./Control.js'); +//@ts-nocheck + +import * as widgets from '@jupyter-widgets/base'; +import L from '../leaflet'; +import * as control from './Control'; export class LeafletDrawControlModel extends control.LeafletControlModel { defaults() { diff --git a/js/src/controls/FullScreenControl.js b/js/src/controls/FullScreenControl.ts similarity index 86% rename from js/src/controls/FullScreenControl.js rename to js/src/controls/FullScreenControl.ts index c54dbf905..bdbb2d630 100644 --- a/js/src/controls/FullScreenControl.js +++ b/js/src/controls/FullScreenControl.ts @@ -1,9 +1,9 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const control = require('./Control.js'); - +//@ts-nocheck +import L from '../leaflet'; +import * as control from './Control'; export class LeafletFullScreenControlModel extends control.LeafletControlModel { defaults() { return { @@ -21,6 +21,8 @@ export class LeafletFullScreenControlView extends control.LeafletControlView { } create_obj() { + //@ts-ignore + this.obj = L.control.fullscreen(this.get_options()); } } diff --git a/js/src/controls/LayersControl.js b/js/src/controls/LayersControl.ts similarity index 94% rename from js/src/controls/LayersControl.js rename to js/src/controls/LayersControl.ts index 27668fa75..351f0327a 100644 --- a/js/src/controls/LayersControl.js +++ b/js/src/controls/LayersControl.ts @@ -1,8 +1,9 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const control = require('./Control.js'); +//@ts-nocheck +import L from '../leaflet'; +import * as control from './Control'; export class LeafletLayersControlModel extends control.LeafletControlModel { defaults() { @@ -56,6 +57,7 @@ export class LeafletLayersControlView extends control.LeafletControlView { } return ov; }, {}); + //@ts-ignore this.obj = L.control.layers(baselayers, overlays, this.get_options()); return this; }) diff --git a/js/src/controls/LegendControl.js b/js/src/controls/LegendControl.ts similarity index 96% rename from js/src/controls/LegendControl.js rename to js/src/controls/LegendControl.ts index 5532dc1e0..1812eb455 100644 --- a/js/src/controls/LegendControl.js +++ b/js/src/controls/LegendControl.ts @@ -1,6 +1,7 @@ -const L = require('../leaflet.js'); -const control = require('./Control.js'); +// @ts-nocheck +import L from '../leaflet'; +import * as control from './Control'; export class LeafletLegendControlModel extends control.LeafletControlModel { defaults() { return { diff --git a/js/src/controls/MeasureControl.js b/js/src/controls/MeasureControl.ts similarity index 95% rename from js/src/controls/MeasureControl.js rename to js/src/controls/MeasureControl.ts index 7d8328977..cd8b2d142 100644 --- a/js/src/controls/MeasureControl.js +++ b/js/src/controls/MeasureControl.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. - -const L = require('../leaflet.js'); -const control = require('./Control.js'); +//@ts-nocheck +import L from '../leaflet'; +import * as control from './Control'; export class LeafletMeasureControlModel extends control.LeafletControlModel { defaults() { diff --git a/js/src/controls/ScaleControl.js b/js/src/controls/ScaleControl.ts similarity index 86% rename from js/src/controls/ScaleControl.js rename to js/src/controls/ScaleControl.ts index ab10901dc..a325ee077 100644 --- a/js/src/controls/ScaleControl.js +++ b/js/src/controls/ScaleControl.ts @@ -1,9 +1,9 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const control = require('./Control.js'); - +//@ts-nocheck +import L from '../leaflet'; +import * as control from './Control'; export class LeafletScaleControlModel extends control.LeafletControlModel { defaults() { return { @@ -21,6 +21,7 @@ export class LeafletScaleControlView extends control.LeafletControlView { } create_obj() { + //@ts-ignore this.obj = L.control.scale(this.get_options()); } } diff --git a/js/src/controls/SearchControl.js b/js/src/controls/SearchControl.ts similarity index 93% rename from js/src/controls/SearchControl.js rename to js/src/controls/SearchControl.ts index b761048a1..a664ce1f9 100644 --- a/js/src/controls/SearchControl.js +++ b/js/src/controls/SearchControl.ts @@ -1,9 +1,10 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const control = require('./Control.js'); +//@ts-nocheck +import * as widgets from '@jupyter-widgets/base'; +import L from '../leaflet'; +import * as control from './Control'; export class LeafletSearchControlModel extends control.LeafletControlModel { defaults() { @@ -47,6 +48,7 @@ export class LeafletSearchControlView extends control.LeafletControlView { const options = this.get_options(); options.layer = layer_view !== null ? layer_view.obj : null; options.marker = marker_view !== null ? marker_view.obj : false; + //@ts-ignore this.obj = L.control.search(options); }); } diff --git a/js/src/controls/SplitMapControl.js b/js/src/controls/SplitMapControl.ts similarity index 91% rename from js/src/controls/SplitMapControl.js rename to js/src/controls/SplitMapControl.ts index bdff9b9b2..010dde3ac 100644 --- a/js/src/controls/SplitMapControl.js +++ b/js/src/controls/SplitMapControl.ts @@ -1,9 +1,10 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const control = require('./Control.js'); +//@ts-nocheck +import * as widgets from '@jupyter-widgets/base'; +import L from '../leaflet'; +import * as control from './Control'; export class LeafletSplitMapControlModel extends control.LeafletControlModel { default() { @@ -50,6 +51,7 @@ export class LeafletSplitMapControlView extends control.LeafletControlView { right_views.push(view.obj); } }); + //@ts-ignore this.obj = L.control.splitMap(left_views, right_views); }); } diff --git a/js/src/controls/WidgetControl.js b/js/src/controls/WidgetControl.ts similarity index 93% rename from js/src/controls/WidgetControl.js rename to js/src/controls/WidgetControl.ts index aa5f48da4..bd8beca18 100644 --- a/js/src/controls/WidgetControl.js +++ b/js/src/controls/WidgetControl.ts @@ -1,11 +1,11 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. - -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const control = require('./Control.js'); -const PMessaging = require('@lumino/messaging'); -const PWidgets = require('@lumino/widgets'); +//@ts-nocheck +import * as widgets from '@jupyter-widgets/base'; +import * as PMessaging from '@lumino/messaging'; +import * as PWidgets from '@lumino/widgets'; +import L from '../leaflet'; +import * as control from './Control'; class WidgetControl extends L.Control { updateLayout(options) { diff --git a/js/src/controls/ZoomControl.js b/js/src/controls/ZoomControl.ts similarity index 88% rename from js/src/controls/ZoomControl.js rename to js/src/controls/ZoomControl.ts index 1b31ab099..1ddfc4517 100644 --- a/js/src/controls/ZoomControl.js +++ b/js/src/controls/ZoomControl.ts @@ -1,8 +1,9 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const control = require('./Control.js'); +//@ts-nocheck +import L from '../leaflet'; +import * as control from './Control'; export class LeafletZoomControlModel extends control.LeafletControlModel { defaults() { @@ -25,6 +26,7 @@ export class LeafletZoomControlView extends control.LeafletControlView { } create_obj() { + //@ts-ignore this.obj = L.control.zoom(this.get_options()); } } diff --git a/js/src/embed.js b/js/src/embed.ts similarity index 72% rename from js/src/embed.js rename to js/src/embed.ts index afc7168ad..606022536 100644 --- a/js/src/embed.js +++ b/js/src/embed.ts @@ -1,4 +1,4 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -module.exports = require('./index.js'); +export * from './index'; diff --git a/js/src/extension.js b/js/src/extension.ts similarity index 72% rename from js/src/extension.js rename to js/src/extension.ts index f5fa5fd8d..0e4b2807b 100644 --- a/js/src/extension.js +++ b/js/src/extension.ts @@ -1,5 +1,6 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +// @ts-nocheck // Configure requirejs if (window.require) { @@ -12,7 +13,4 @@ if (window.require) { }); } -// Export the required load_ipython_extention -module.exports = { - load_ipython_extension: function () {}, -}; +export const load_ipython_extension = function () {}; diff --git a/js/src/index.js b/js/src/index.ts similarity index 76% rename from js/src/index.js rename to js/src/index.ts index bb3820fcf..702137165 100644 --- a/js/src/index.js +++ b/js/src/index.ts @@ -1,10 +1,11 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +// @ts-nocheck + +import packageJson from '../package.json'; // Export everything from jupyter-leaflet and the npm package version number. var _oldL = window.L; -module.exports = require('./jupyter-leaflet.js'); -module.exports['version'] = require('../package.json').version; // if previous L existed and it got changed while loading this module if (_oldL !== undefined && _oldL !== window.L) { @@ -13,3 +14,8 @@ if (_oldL !== undefined && _oldL !== window.L) { ); ipyL = L.noConflict(); // eslint-disable-line no-undef } + +const { version } = packageJson; + +export * from './jupyter-leaflet'; +export { version }; diff --git a/js/src/jupyter-leaflet.js b/js/src/jupyter-leaflet.js deleted file mode 100644 index 794feac36..000000000 --- a/js/src/jupyter-leaflet.js +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) Jupyter Development Team. -// Distributed under the terms of the Modified BSD License. - -// Layers -export * from './layers/Layer.js'; -export * from './layers/Marker.js'; -export * from './layers/Icon.js'; -export * from './layers/AwesomeIcon.js'; -export * from './layers/Popup.js'; -export * from './layers/RasterLayer.js'; -export * from './layers/TileLayer.js'; -export * from './layers/PMTilesLayer.js'; -export * from './layers/VectorTileLayer.js'; -export * from './layers/LocalTileLayer.js'; -export * from './layers/WMSLayer.js'; -export * from './layers/MagnifyingGlass.js'; -export * from './layers/ImageOverlay.js'; -export * from './layers/VideoOverlay.js'; -export * from './layers/ImageService.js'; -export * from './layers/Velocity.js'; -export * from './layers/Heatmap.js'; -export * from './layers/VectorLayer.js'; -export * from './layers/Path.js'; -export * from './layers/AntPath.js'; -export * from './layers/Polyline.js'; -export * from './layers/Polygon.js'; -export * from './layers/Rectangle.js'; -export * from './layers/CircleMarker.js'; -export * from './layers/Circle.js'; -export * from './layers/MarkerCluster.js'; -export * from './layers/LayerGroup.js'; -export * from './layers/FeatureGroup.js'; -export * from './layers/GeoJSON.js'; -export * from './layers/DivIcon.js'; - -//Controls -export * from './controls/AttributionControl.js'; -export * from './controls/Control.js'; -export * from './controls/SplitMapControl.js'; -export * from './controls/LayersControl.js'; -export * from './controls/MeasureControl.js'; -export * from './controls/DrawControl.js'; -export * from './controls/FullScreenControl.js'; -export * from './controls/WidgetControl.js'; -export * from './controls/ZoomControl.js'; -export * from './controls/ScaleControl.js'; -export * from './controls/LegendControl.js'; -export * from './controls/SearchControl.js'; - -//Map -export * from './Map.js'; - -// Load css -require('leaflet/dist/leaflet.css'); -require('leaflet-defaulticon-compatibility/dist/leaflet-defaulticon-compatibility.webpack.css'); // Re-uses images from ~leaflet package -require('leaflet-draw/dist/leaflet.draw.css'); -require('leaflet.markercluster/dist/MarkerCluster.css'); -require('leaflet.markercluster/dist/MarkerCluster.Default.css'); -require('leaflet-measure/dist/leaflet-measure.css'); -require('leaflet-fullscreen/dist/leaflet.fullscreen.css'); -require('leaflet.awesome-markers/dist/leaflet.awesome-markers.css'); -require('spin.js/spin.css'); -require('./jupyter-leaflet.css'); -require('leaflet-search/dist/leaflet-search.src.css'); diff --git a/js/src/jupyter-leaflet.ts b/js/src/jupyter-leaflet.ts new file mode 100644 index 000000000..21fa51192 --- /dev/null +++ b/js/src/jupyter-leaflet.ts @@ -0,0 +1,65 @@ +// Copyright (c) Jupyter Development Team. +// Distributed under the terms of the Modified BSD License. + +// Layers +export * from './layers/AntPath'; +export * from './layers/AwesomeIcon'; +export * from './layers/Circle'; +export * from './layers/CircleMarker'; +export * from './layers/DivIcon'; +export * from './layers/FeatureGroup'; +export * from './layers/GeoJSON'; +export * from './layers/Heatmap'; +export * from './layers/Icon'; +export * from './layers/ImageOverlay'; +export * from './layers/ImageService'; +export * from './layers/Layer'; +export * from './layers/LayerGroup'; +export * from './layers/LocalTileLayer'; +export * from './layers/MagnifyingGlass'; +export * from './layers/Marker'; +export * from './layers/MarkerCluster'; +export * from './layers/PMTilesLayer'; +export * from './layers/Path'; +export * from './layers/Polygon'; +export * from './layers/Polyline'; +export * from './layers/Popup'; +export * from './layers/RasterLayer'; +export * from './layers/Rectangle'; +export * from './layers/TileLayer'; +export * from './layers/VectorLayer'; +export * from './layers/VectorTileLayer'; +export * from './layers/Velocity'; +export * from './layers/VideoOverlay'; +export * from './layers/WMSLayer'; + +//Controls +export * from './controls/AttributionControl'; +export * from './controls/Control'; +export * from './controls/DrawControl'; +export * from './controls/FullScreenControl'; +export * from './controls/LayersControl'; +export * from './controls/LegendControl'; +export * from './controls/MeasureControl'; +export * from './controls/ScaleControl'; +export * from './controls/SearchControl'; +export * from './controls/SplitMapControl'; +export * from './controls/WidgetControl'; +export * from './controls/ZoomControl'; + +//Map +export * from './Map'; + +// Load css +import 'leaflet-defaulticon-compatibility/dist/leaflet-defaulticon-compatibility.webpack.css'; +import 'leaflet/dist/leaflet.css'; +// Re-uses images from ~leaflet package +import 'leaflet-draw/dist/leaflet.draw.css'; +import 'leaflet-fullscreen/dist/leaflet.fullscreen.css'; +import 'leaflet-measure/dist/leaflet-measure.css'; +import 'leaflet-search/dist/leaflet-search.src.css'; +import 'leaflet.awesome-markers/dist/leaflet.awesome-markers.css'; +import 'leaflet.markercluster/dist/MarkerCluster.Default.css'; +import 'leaflet.markercluster/dist/MarkerCluster.css'; +import 'spin.js/spin.css'; +import '../css/jupyter-leaflet.css'; diff --git a/js/src/jupyterlab-plugin.js b/js/src/jupyterlab-plugin.js deleted file mode 100644 index 7e3defd99..000000000 --- a/js/src/jupyterlab-plugin.js +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) Jupyter Development Team. -// Distributed under the terms of the Modified BSD License. - -var jupyter_leaflet = require('./index'); - -var base = require('@jupyter-widgets/base'); - -module.exports = { - id: 'jupyter.extensions.jupyter-leaflet', - requires: [base.IJupyterWidgetRegistry], - activate: function (app, widgets) { - widgets.registerWidget({ - name: 'jupyter-leaflet', - version: jupyter_leaflet.version, - exports: jupyter_leaflet, - }); - }, - autoStart: true, -}; diff --git a/js/src/jupyterlab-plugin.ts b/js/src/jupyterlab-plugin.ts new file mode 100644 index 000000000..3d300f460 --- /dev/null +++ b/js/src/jupyterlab-plugin.ts @@ -0,0 +1,22 @@ +// Copyright (c) Jupyter Development Team. +// Distributed under the terms of the Modified BSD License. + +import { IJupyterWidgetRegistry } from '@jupyter-widgets/base'; +import packageJson from '../package.json'; + +const { version } = packageJson; + +const extension = { + id: 'jupyter-leaflet', + requires: [IJupyterWidgetRegistry], + activate: (app: any, widgets: any) => { + widgets.registerWidget({ + name: 'jupyter-leaflet', + version: version, + exports: async () => import('./index'), + }); + }, + autoStart: true, +}; + +export default extension; diff --git a/js/src/layers/AntPath.js b/js/src/layers/AntPath.ts similarity index 79% rename from js/src/layers/AntPath.js rename to js/src/layers/AntPath.ts index f66108daf..c9ec5cc69 100644 --- a/js/src/layers/AntPath.js +++ b/js/src/layers/AntPath.ts @@ -1,9 +1,9 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. - -const L = require('../leaflet.js'); -const vectorlayer = require('./VectorLayer.js'); -const { antPath } = require('leaflet-ant-path'); +//@ts-nocheck +import { antPath } from 'leaflet-ant-path'; +import L from '../leaflet'; +import * as vectorlayer from './VectorLayer'; export class LeafletAntPathModel extends vectorlayer.LeafletVectorLayerModel { defaults() { @@ -32,14 +32,9 @@ export class LeafletAntPathView extends vectorlayer.LeafletVectorLayerView { model_events() { super.model_events(); - this.listenTo( - this.model, - 'change:locations', - function () { - this.obj.setLatLngs(this.model.get('locations')); - }, - this - ); + this.listenTo(this.model, 'change:locations', function () { + this.obj.setLatLngs(this.model.get('locations')); + }); this.model.on_some_change(this.model.get('options'), () => { this.obj.setStyle(this.get_ant_options()); }); diff --git a/js/src/layers/AwesomeIcon.js b/js/src/layers/AwesomeIcon.ts similarity index 90% rename from js/src/layers/AwesomeIcon.js rename to js/src/layers/AwesomeIcon.ts index 606b70bb1..0f0b8d419 100644 --- a/js/src/layers/AwesomeIcon.js +++ b/js/src/layers/AwesomeIcon.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const layer = require('./Layer.js'); +import L from '../leaflet'; +import * as layer from './Layer'; export class LeafletAwesomeIconModel extends layer.LeafletUILayerModel { defaults() { @@ -20,6 +20,7 @@ export class LeafletAwesomeIconModel extends layer.LeafletUILayerModel { export class LeafletAwesomeIconView extends layer.LeafletUILayerView { create_obj() { + //@ts-ignore this.obj = L.AwesomeMarkers.icon({ prefix: 'fa', icon: this.model.get('name'), diff --git a/js/src/layers/Circle.js b/js/src/layers/Circle.ts similarity index 88% rename from js/src/layers/Circle.js rename to js/src/layers/Circle.ts index 437109291..d86d62b88 100644 --- a/js/src/layers/Circle.js +++ b/js/src/layers/Circle.ts @@ -1,8 +1,9 @@ // Copyright (c) Jupyter Development Team. +//@ts-nocheck // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const circlemarker = require('./CircleMarker.js'); +import L from '../leaflet'; +import * as circlemarker from './CircleMarker'; export class LeafletCircleModel extends circlemarker.LeafletCircleMarkerModel { defaults() { @@ -16,6 +17,7 @@ export class LeafletCircleModel extends circlemarker.LeafletCircleMarkerModel { export class LeafletCircleView extends circlemarker.LeafletCircleMarkerView { create_obj() { + //@ts-ignore this.obj = L.circle(this.model.get('location'), this.get_options()); } diff --git a/js/src/layers/CircleMarker.js b/js/src/layers/CircleMarker.ts similarity index 89% rename from js/src/layers/CircleMarker.js rename to js/src/layers/CircleMarker.ts index 813c7f9c5..4270a5663 100644 --- a/js/src/layers/CircleMarker.js +++ b/js/src/layers/CircleMarker.ts @@ -1,8 +1,9 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +//@ts-nocheck -const L = require('../leaflet.js'); -const path = require('./Path.js'); +import L from '../leaflet'; +import * as path from './Path'; const DEFAULT_LOCATION = [0.0, 0.0]; @@ -19,6 +20,7 @@ export class LeafletCircleMarkerModel extends path.LeafletPathModel { export class LeafletCircleMarkerView extends path.LeafletPathView { create_obj() { + //@ts-ignore this.obj = L.circleMarker(this.model.get('location'), this.get_options()); } diff --git a/js/src/layers/DivIcon.js b/js/src/layers/DivIcon.ts similarity index 87% rename from js/src/layers/DivIcon.js rename to js/src/layers/DivIcon.ts index fcd1f437e..457dd6c9f 100644 --- a/js/src/layers/DivIcon.js +++ b/js/src/layers/DivIcon.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const layer = require('./Layer.js'); +import L from '../leaflet'; +import * as layer from './Layer'; export class LeafletDivIconModel extends layer.LeafletUILayerModel { defaults() { @@ -21,6 +21,7 @@ export class LeafletDivIconModel extends layer.LeafletUILayerModel { export class LeafletDivIconView extends layer.LeafletUILayerView { create_obj() { + //@ts-ignore this.obj = L.divIcon(this.get_options()); } } diff --git a/js/src/layers/FeatureGroup.js b/js/src/layers/FeatureGroup.ts similarity index 84% rename from js/src/layers/FeatureGroup.js rename to js/src/layers/FeatureGroup.ts index 023d64668..e77d6035e 100644 --- a/js/src/layers/FeatureGroup.js +++ b/js/src/layers/FeatureGroup.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const layergroup = require('./LayerGroup.js'); +import L from '../leaflet'; +import * as layergroup from './LayerGroup'; export class LeafletFeatureGroupModel extends layergroup.LeafletLayerGroupModel { defaults() { @@ -16,6 +16,7 @@ export class LeafletFeatureGroupModel extends layergroup.LeafletLayerGroupModel export class LeafletFeatureGroupView extends layergroup.LeafletLayerGroupView { create_obj() { + //@ts-ignore this.obj = L.featureGroup(); } } diff --git a/js/src/layers/GeoJSON.js b/js/src/layers/GeoJSON.ts similarity index 96% rename from js/src/layers/GeoJSON.js rename to js/src/layers/GeoJSON.ts index 36546e1a9..0b28544e5 100644 --- a/js/src/layers/GeoJSON.js +++ b/js/src/layers/GeoJSON.ts @@ -1,8 +1,10 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +// @ts-nocheck -const L = require('../leaflet.js'); -const featuregroup = require('./FeatureGroup.js'); +import L from '../leaflet'; + +import * as featuregroup from './FeatureGroup'; export class LeafletGeoJSONModel extends featuregroup.LeafletFeatureGroupModel { defaults() { diff --git a/js/src/layers/Heatmap.js b/js/src/layers/Heatmap.ts similarity index 87% rename from js/src/layers/Heatmap.js rename to js/src/layers/Heatmap.ts index 86b342932..db08f2708 100644 --- a/js/src/layers/Heatmap.js +++ b/js/src/layers/Heatmap.ts @@ -1,9 +1,10 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const rasterlayer = require('./RasterLayer.js'); -const layer = require('./Layer.js'); +//@ts-nocheck +import L from '../leaflet'; +import * as layer from './Layer'; +import * as rasterlayer from './RasterLayer'; export class LeafletHeatmapModel extends rasterlayer.LeafletRasterLayerModel { defaults() { @@ -30,6 +31,7 @@ export class LeafletHeatmapModel extends rasterlayer.LeafletRasterLayerModel { export class LeafletHeatmapView extends layer.LeafletLayerView { create_obj() { + //@ts-ignore this.obj = L.heatLayer(this.model.get('locations'), this.get_options()); } diff --git a/js/src/layers/Icon.js b/js/src/layers/Icon.ts similarity index 88% rename from js/src/layers/Icon.js rename to js/src/layers/Icon.ts index fb5af6022..3de24ca7e 100644 --- a/js/src/layers/Icon.js +++ b/js/src/layers/Icon.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const layer = require('./Layer.js'); +import L from '../leaflet'; +import * as layer from './Layer'; export class LeafletIconModel extends layer.LeafletUILayerModel { defaults() { @@ -23,6 +23,7 @@ export class LeafletIconModel extends layer.LeafletUILayerModel { export class LeafletIconView extends layer.LeafletUILayerView { create_obj() { + //@ts-ignore this.obj = L.icon(this.get_options()); } } diff --git a/js/src/layers/ImageOverlay.js b/js/src/layers/ImageOverlay.ts similarity index 91% rename from js/src/layers/ImageOverlay.js rename to js/src/layers/ImageOverlay.ts index db8dc6a8a..270bd186b 100644 --- a/js/src/layers/ImageOverlay.js +++ b/js/src/layers/ImageOverlay.ts @@ -1,8 +1,9 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const rasterlayer = require('./RasterLayer.js'); +//@ts-nocheck +import L from '../leaflet'; +import * as rasterlayer from './RasterLayer'; const DEFAULT_LOCATION = [0.0, 0.0]; @@ -21,6 +22,7 @@ export class LeafletImageOverlayModel extends rasterlayer.LeafletRasterLayerMode export class LeafletImageOverlayView extends rasterlayer.LeafletRasterLayerView { create_obj() { + //@ts-ignore this.obj = L.imageOverlay( this.model.get('url'), this.model.get('bounds'), diff --git a/js/src/layers/ImageService.js b/js/src/layers/ImageService.ts similarity index 88% rename from js/src/layers/ImageService.js rename to js/src/layers/ImageService.ts index 982d0dc57..f3b0d440e 100644 --- a/js/src/layers/ImageService.js +++ b/js/src/layers/ImageService.ts @@ -1,9 +1,10 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const layer = require('./Layer.js'); -const proj = require('../projections.js'); +//@ts-nocheck +import L from '../leaflet'; +import * as proj from '../projections'; +import * as layer from './Layer'; export class LeafletImageServiceModel extends layer.LeafletLayerModel { defaults() { @@ -27,13 +28,14 @@ export class LeafletImageServiceModel extends layer.LeafletLayerModel { attribution: '', crs: null, interactive: false, - updateInterval: 200 + updateInterval: 200, }; } } export class LeafletImageServiceView extends layer.LeafletLayerView { create_obj() { + //@ts-ignore this.obj = L.imageService({ url: this.model.get('url'), ...this.get_options(), diff --git a/js/src/layers/Layer.js b/js/src/layers/Layer.ts similarity index 96% rename from js/src/layers/Layer.js rename to js/src/layers/Layer.ts index a5264db16..db6218b0b 100644 --- a/js/src/layers/Layer.js +++ b/js/src/layers/Layer.ts @@ -1,11 +1,12 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +//@ts-nocheck -const widgets = require('@jupyter-widgets/base'); -const PMessaging = require('@lumino/messaging'); -const PWidgets = require('@lumino/widgets'); -const L = require('../leaflet.js'); -const utils = require('../utils.js'); +import * as widgets from '@jupyter-widgets/base'; +import * as PMessaging from '@lumino/messaging'; +import * as PWidgets from '@lumino/widgets'; +import L from '../leaflet'; +import * as utils from '../utils'; export class LeafletLayerModel extends widgets.WidgetModel { defaults() { diff --git a/js/src/layers/LayerGroup.js b/js/src/layers/LayerGroup.ts similarity index 90% rename from js/src/layers/LayerGroup.js rename to js/src/layers/LayerGroup.ts index 0bae017e6..681944e10 100644 --- a/js/src/layers/LayerGroup.js +++ b/js/src/layers/LayerGroup.ts @@ -1,9 +1,10 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. +//@ts-nocheck -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const layer = require('./Layer.js'); +import * as widgets from '@jupyter-widgets/base'; +import L from '../leaflet'; +import * as layer from './Layer'; export class LeafletLayerGroupModel extends layer.LeafletLayerModel { defaults() { diff --git a/js/src/layers/LocalTileLayer.js b/js/src/layers/LocalTileLayer.ts similarity index 92% rename from js/src/layers/LocalTileLayer.js rename to js/src/layers/LocalTileLayer.ts index d29057b9d..61eced273 100644 --- a/js/src/layers/LocalTileLayer.js +++ b/js/src/layers/LocalTileLayer.ts @@ -1,7 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const tilelayer = require('./TileLayer.js'); +import * as tilelayer from './TileLayer'; export class LeafletLocalTileLayerModel extends tilelayer.LeafletTileLayerModel { defaults() { diff --git a/js/src/layers/MagnifyingGlass.js b/js/src/layers/MagnifyingGlass.ts similarity index 90% rename from js/src/layers/MagnifyingGlass.js rename to js/src/layers/MagnifyingGlass.ts index 46b93a840..1d12e6499 100644 --- a/js/src/layers/MagnifyingGlass.js +++ b/js/src/layers/MagnifyingGlass.ts @@ -1,10 +1,11 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const rasterlayer = require('./RasterLayer.js'); -const layer = require('./Layer.js'); +//@ts-nocheck +import * as widgets from '@jupyter-widgets/base'; +import L from '../leaflet'; +import * as layer from './Layer'; +import * as rasterlayer from './RasterLayer'; export class LeafletMagnifyingGlassModel extends rasterlayer.LeafletRasterLayerModel { defaults() { @@ -48,6 +49,7 @@ export class LeafletMagnifyingGlassView extends layer.LeafletLayerView { return this.layer_views.update(layers).then((layers) => { var options = this.get_options(); options.layers = layers; + //@ts-ignore this.obj = L.magnifyingGlass(options); }); } diff --git a/js/src/layers/Marker.js b/js/src/layers/Marker.ts similarity index 96% rename from js/src/layers/Marker.js rename to js/src/layers/Marker.ts index 6571ca874..b50502f2e 100644 --- a/js/src/layers/Marker.js +++ b/js/src/layers/Marker.ts @@ -1,9 +1,9 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. - -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const layer = require('./Layer.js'); +//@ts-nocheck +import * as widgets from '@jupyter-widgets/base'; +import L from '../leaflet'; +import * as layer from './Layer'; const DEFAULT_LOCATION = [0.0, 0.0]; diff --git a/js/src/layers/MarkerCluster.js b/js/src/layers/MarkerCluster.ts similarity index 92% rename from js/src/layers/MarkerCluster.js rename to js/src/layers/MarkerCluster.ts index 4f37d1ade..41e844ed9 100644 --- a/js/src/layers/MarkerCluster.js +++ b/js/src/layers/MarkerCluster.ts @@ -1,9 +1,10 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const layer = require('./Layer.js'); +//@ts-nocheck +import * as widgets from '@jupyter-widgets/base'; +import L from '../leaflet'; +import * as layer from './Layer'; export class LeafletMarkerClusterModel extends layer.LeafletLayerModel { defaults() { @@ -35,7 +36,7 @@ export class LeafletMarkerClusterModel extends layer.LeafletLayerModel { }; } } - +//@ts-ignore LeafletMarkerClusterModel.serializers = { ...widgets.WidgetModel.serializers, markers: { deserialize: widgets.unpack_models }, @@ -70,6 +71,7 @@ export class LeafletMarkerClusterView extends layer.LeafletLayerView { create_obj() { var options = this.get_options(); + //@ts-ignore this.obj = L.markerClusterGroup(options); this.marker_views = new widgets.ViewList( this.add_layer_model, diff --git a/js/src/layers/PMTilesLayer.js b/js/src/layers/PMTilesLayer.js deleted file mode 100644 index 45696fff5..000000000 --- a/js/src/layers/PMTilesLayer.js +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) Jupyter Development Team. -// Distributed under the terms of the Modified BSD License. - -const layer = require('./Layer.js'); -const protomapsL = require('protomaps-leaflet'); - -export class LeafletPMTilesLayerModel extends layer.LeafletLayerModel { - defaults() { - return { - ...super.defaults(), - _view_name: 'LeafletPMTilesLayerView', - _model_name: 'LeafletPMTilesLayerModel', - url: '', - attribution: '', - style: {}, - }; - } -} - -export class LeafletPMTilesLayerView extends layer.LeafletLayerView { - create_obj() { - var options = { - ...this.get_options(), - url: this.model.get('url'), - ...protomapsL.json_style(this.model.get('style')), - }; - this.obj = protomapsL.leafletLayer(options); - } - - model_events() { - super.model_events(); - this.listenTo( - this.model, - 'change:url', - function () { - this.obj.setUrl(this.model.get('url')); - }, - this - ); - } - - handle_message(content) { - if (content.msg == 'add_inspector') { - this.obj.addInspector(this.map_view.obj); - } - } - } - \ No newline at end of file diff --git a/js/src/layers/PMTilesLayer.ts b/js/src/layers/PMTilesLayer.ts new file mode 100644 index 000000000..503256082 --- /dev/null +++ b/js/src/layers/PMTilesLayer.ts @@ -0,0 +1,49 @@ +// Copyright (c) Jupyter Development Team. +// Distributed under the terms of the Modified BSD License. + +//@ts-nocheck +import * as layer from './Layer'; +import * as protomapsL from 'protomaps-leaflet'; + +export class LeafletPMTilesLayerModel extends layer.LeafletLayerModel { + defaults() { + return { + ...super.defaults(), + _view_name: 'LeafletPMTilesLayerView', + _model_name: 'LeafletPMTilesLayerModel', + url: '', + attribution: '', + style: {}, + }; + } +} + +export class LeafletPMTilesLayerView extends layer.LeafletLayerView { + create_obj() { + var options = { + ...this.get_options(), + url: this.model.get('url'), + //@ts-ignore + ...protomapsL.json_style(this.model.get('style')), + }; + this.obj = protomapsL.leafletLayer(options); + } + + model_events() { + super.model_events(); + this.listenTo( + this.model, + 'change:url', + function () { + this.obj.setUrl(this.model.get('url')); + }, + this + ); + } + + handle_message(content) { + if (content.msg == 'add_inspector') { + this.obj.addInspector(this.map_view.obj); + } + } +} diff --git a/js/src/layers/Path.js b/js/src/layers/Path.ts similarity index 94% rename from js/src/layers/Path.js rename to js/src/layers/Path.ts index f62fa8d09..bd36e356f 100644 --- a/js/src/layers/Path.js +++ b/js/src/layers/Path.ts @@ -1,7 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const vectorlayer = require('./VectorLayer.js'); +//@ts-nocheck +import * as vectorlayer from './VectorLayer'; export class LeafletPathModel extends vectorlayer.LeafletVectorLayerModel { defaults() { diff --git a/js/src/layers/Polygon.js b/js/src/layers/Polygon.ts similarity index 85% rename from js/src/layers/Polygon.js rename to js/src/layers/Polygon.ts index 08a76d338..043fcd3ba 100644 --- a/js/src/layers/Polygon.js +++ b/js/src/layers/Polygon.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -var L = require('../leaflet.js'); -var polyline = require('./Polyline.js'); +import L from '../leaflet'; +import * as polyline from './Polyline'; export class LeafletPolygonModel extends polyline.LeafletPolylineModel { defaults() { @@ -16,6 +16,7 @@ export class LeafletPolygonModel extends polyline.LeafletPolylineModel { export class LeafletPolygonView extends polyline.LeafletPolylineView { create_obj() { + //@ts-ignore this.obj = L.polygon(this.model.get('locations'), this.get_options()); } } diff --git a/js/src/layers/Polyline.js b/js/src/layers/Polyline.ts similarity index 96% rename from js/src/layers/Polyline.js rename to js/src/layers/Polyline.ts index de9db7e16..130a1f332 100644 --- a/js/src/layers/Polyline.js +++ b/js/src/layers/Polyline.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. - -const L = require('../leaflet.js'); -const path = require('./Path.js'); +//@ts-nocheck +import L from '../leaflet'; +import * as path from './Path'; export class LeafletPolylineModel extends path.LeafletPathModel { defaults() { diff --git a/js/src/layers/Popup.js b/js/src/layers/Popup.ts similarity index 92% rename from js/src/layers/Popup.js rename to js/src/layers/Popup.ts index 53974859f..067203694 100644 --- a/js/src/layers/Popup.js +++ b/js/src/layers/Popup.ts @@ -1,11 +1,12 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const widgets = require('@jupyter-widgets/base'); -const L = require('../leaflet.js'); -const layer = require('./Layer.js'); -const PMessaging = require('@lumino/messaging'); -const PWidgets = require('@lumino/widgets'); +//@ts-nocheck +import * as widgets from '@jupyter-widgets/base'; +import * as PMessaging from '@lumino/messaging'; +import * as PWidgets from '@lumino/widgets'; +import L from '../leaflet'; +import * as layer from './Layer'; const DEFAULT_LOCATION = [0.0, 0.0]; @@ -31,6 +32,7 @@ LeafletPopupModel.serializers = { export class LeafletPopupView extends layer.LeafletUILayerView { create_obj() { + //@ts-ignore this.obj = L.popup(this.get_options()).setLatLng( this.model.get('location') ); @@ -102,6 +104,7 @@ export class LeafletPopupView extends layer.LeafletUILayerView { } update_popup() { + //@ts-ignore L.setOptions(this.obj, this.get_options()); this.force_update(); } diff --git a/js/src/layers/RasterLayer.js b/js/src/layers/RasterLayer.ts similarity index 95% rename from js/src/layers/RasterLayer.js rename to js/src/layers/RasterLayer.ts index a6c3c94d4..ede244804 100644 --- a/js/src/layers/RasterLayer.js +++ b/js/src/layers/RasterLayer.ts @@ -1,7 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const layer = require('./Layer.js'); +//@ts-nocheck +import * as layer from './Layer'; export class LeafletRasterLayerModel extends layer.LeafletLayerModel { defaults() { diff --git a/js/src/layers/Rectangle.js b/js/src/layers/Rectangle.ts similarity index 86% rename from js/src/layers/Rectangle.js rename to js/src/layers/Rectangle.ts index 0a5a74345..c01131485 100644 --- a/js/src/layers/Rectangle.js +++ b/js/src/layers/Rectangle.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const polygon = require('./Polygon.js'); +import L from '../leaflet'; +import * as polygon from './Polygon'; export class LeafletRectangleModel extends polygon.LeafletPolygonModel { defaults() { @@ -17,6 +17,7 @@ export class LeafletRectangleModel extends polygon.LeafletPolygonModel { export class LeafletRectangleView extends polygon.LeafletPolygonView { create_obj() { + //@ts-ignore this.obj = L.rectangle(this.model.get('bounds'), this.get_options()); } } diff --git a/js/src/layers/TileLayer.js b/js/src/layers/TileLayer.ts similarity index 93% rename from js/src/layers/TileLayer.js rename to js/src/layers/TileLayer.ts index b32925c66..522438ab6 100644 --- a/js/src/layers/TileLayer.js +++ b/js/src/layers/TileLayer.ts @@ -1,9 +1,10 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const rasterlayer = require('./RasterLayer.js'); -const Spinner = require('spin.js').Spinner; +//@ts-nocheck +import { Spinner } from 'spin.js'; +import L from '../leaflet'; +import * as rasterlayer from './RasterLayer'; export class LeafletTileLayerModel extends rasterlayer.LeafletRasterLayerModel { defaults() { @@ -32,6 +33,7 @@ export class LeafletTileLayerModel extends rasterlayer.LeafletRasterLayerModel { export class LeafletTileLayerView extends rasterlayer.LeafletRasterLayerView { create_obj() { + //@ts-ignore this.obj = L.tileLayer(this.model.get('url'), this.get_options()); this.model.on('msg:custom', this.handle_message.bind(this)); } diff --git a/js/src/layers/VectorLayer.js b/js/src/layers/VectorLayer.ts similarity index 91% rename from js/src/layers/VectorLayer.js rename to js/src/layers/VectorLayer.ts index 8e63d7689..c6d389ce2 100644 --- a/js/src/layers/VectorLayer.js +++ b/js/src/layers/VectorLayer.ts @@ -1,7 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const layer = require('./Layer.js'); +import * as layer from './Layer'; export class LeafletVectorLayerModel extends layer.LeafletLayerModel { defaults() { diff --git a/js/src/layers/VectorTileLayer.js b/js/src/layers/VectorTileLayer.ts similarity index 95% rename from js/src/layers/VectorTileLayer.js rename to js/src/layers/VectorTileLayer.ts index 1d459cb18..059b48102 100644 --- a/js/src/layers/VectorTileLayer.js +++ b/js/src/layers/VectorTileLayer.ts @@ -1,7 +1,7 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. - -const layer = require('./Layer.js'); +//@ts-nocheck +import * as layer from './Layer'; export class LeafletVectorTileLayerModel extends layer.LeafletLayerModel { defaults() { diff --git a/js/src/layers/Velocity.js b/js/src/layers/Velocity.ts similarity index 90% rename from js/src/layers/Velocity.js rename to js/src/layers/Velocity.ts index 30663d37c..2a6b08b91 100644 --- a/js/src/layers/Velocity.js +++ b/js/src/layers/Velocity.ts @@ -1,9 +1,10 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const layer = require('./Layer.js'); -const utils = require('../utils'); +//@ts-nocheck +import L from '../leaflet'; +import * as utils from '../utils'; +import * as layer from './Layer'; export class LeafletVelocityModel extends layer.LeafletLayerModel { defaults() { @@ -34,6 +35,7 @@ export class LeafletVelocityView extends layer.LeafletLayerView { create_obj() { var options = this.get_options(); options.data = this.model.get('data'); + //@ts-ignore this.obj = L.velocityLayer(options); } @@ -55,7 +57,9 @@ export class LeafletVelocityView extends layer.LeafletLayerView { 'change:' + key, function () { var options = {}; + //@ts-ignore options[utils.camel_case(key)] = { ...this.model.get(key) }; + //@ts-ignore L.setOptions(this.obj, options); }, this diff --git a/js/src/layers/VideoOverlay.js b/js/src/layers/VideoOverlay.ts similarity index 96% rename from js/src/layers/VideoOverlay.js rename to js/src/layers/VideoOverlay.ts index 4f67f25f0..87dd28c4b 100644 --- a/js/src/layers/VideoOverlay.js +++ b/js/src/layers/VideoOverlay.ts @@ -1,8 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. - -const L = require('../leaflet.js'); -const rasterlayer = require('./RasterLayer.js'); +//@ts-nocheck +import * as L from '../leaflet'; +import * as rasterlayer from './RasterLayer'; const DEFAULT_LOCATION = [0.0, 0.0]; diff --git a/js/src/layers/WMSLayer.js b/js/src/layers/WMSLayer.ts similarity index 88% rename from js/src/layers/WMSLayer.js rename to js/src/layers/WMSLayer.ts index e12a9740b..1b6a1ac47 100644 --- a/js/src/layers/WMSLayer.js +++ b/js/src/layers/WMSLayer.ts @@ -1,9 +1,11 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const L = require('../leaflet.js'); -const tilelayer = require('./TileLayer.js'); -const proj = require('../projections.js'); +//@ts-nocheck + +import L from '../leaflet'; +import * as proj from '../projections'; +import * as tilelayer from './TileLayer'; export class LeafletWMSLayerModel extends tilelayer.LeafletTileLayerModel { defaults() { diff --git a/js/src/leaflet-heat.js b/js/src/leaflet-heat.ts similarity index 99% rename from js/src/leaflet-heat.js rename to js/src/leaflet-heat.ts index a6e1be593..57ecc65a1 100644 --- a/js/src/leaflet-heat.js +++ b/js/src/leaflet-heat.ts @@ -25,6 +25,7 @@ // TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// @ts-nocheck 'use strict'; function simpleheat(canvas) { diff --git a/js/src/leaflet-imageservice.js b/js/src/leaflet-imageservice.ts similarity index 90% rename from js/src/leaflet-imageservice.js rename to js/src/leaflet-imageservice.ts index 67ccfab13..32ea458a8 100644 --- a/js/src/leaflet-imageservice.js +++ b/js/src/leaflet-imageservice.ts @@ -1,6 +1,6 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. - +//@ts-nocheck L.ImageService = L.Layer.extend({ options: { url: '', @@ -19,14 +19,14 @@ L.ImageService = L.Layer.extend({ attribution: '', crs: null, interactive: false, - updateInterval: 200 + updateInterval: 200, }, initialize: function (options) { L.Util.setOptions(this, options); }, - updateUrl: function() { + updateUrl: function () { // update the url for the current bounds if (this.options.endpoint === 'Esri') { this._url = this.options.url + '/exportImage' + this._buildParams(); @@ -45,7 +45,7 @@ L.ImageService = L.Layer.extend({ this._initImage(); } this._map.on('moveend', () => { - L.Util.throttle(this._update(),this.options.updateInterval,this); + L.Util.throttle(this._update(), this.options.updateInterval, this); }); if (this.options.interactive) { L.DomUtil.addClass(this._image, 'leaflet-interactive'); @@ -94,7 +94,7 @@ L.ImageService = L.Layer.extend({ getEvents: function () { var events = { zoom: this._reset, - viewreset: this._reset + viewreset: this._reset, }; return events; }, @@ -104,7 +104,7 @@ L.ImageService = L.Layer.extend({ return this._bounds; }, - toLatLngBounds: function(a, b) { + toLatLngBounds: function (a, b) { // convert bounds to LatLngBounds object if (a instanceof L.LatLngBounds) { return a; @@ -122,7 +122,7 @@ L.ImageService = L.Layer.extend({ return this._bounds.getCenter(); }, - _getBBox: function() { + _getBBox: function () { // get the bounding box of the current map formatted for exportImage var pixelbounds = this._map.getPixelBounds(); var sw = this._map.unproject(pixelbounds.getBottomLeft()); @@ -131,37 +131,39 @@ L.ImageService = L.Layer.extend({ this._map.options.crs.project(ne).x, this._map.options.crs.project(ne).y, this._map.options.crs.project(sw).x, - this._map.options.crs.project(sw).y + this._map.options.crs.project(sw).y, ]; }, - _getBounds: function() { + _getBounds: function () { // get the bounds of the current map - return [[this._map.getBounds().getSouth(),this._map.getBounds().getWest()], - [this._map.getBounds().getNorth(),this._map.getBounds().getEast()]]; + return [ + [this._map.getBounds().getSouth(), this._map.getBounds().getWest()], + [this._map.getBounds().getNorth(), this._map.getBounds().getEast()], + ]; }, - _getSize: function() { + _getSize: function () { // get the size of the current map var size = this._map.getSize(); return [size.x, size.y]; }, - _getEPSG: function() { + _getEPSG: function () { // get the EPSG code (numeric) of the current map var epsg = this.options.crs.code; var spatial_reference = parseInt(epsg.split(':')[1], 10); return spatial_reference; }, - _getTime: function() { + _getTime: function () { // get start and end times and convert to seconds since epoch var st = new Date(this.options.time[0]).getTime().valueOf(); var et = new Date(this.options.time[1]).getTime().valueOf(); return [st, et]; }, - _buildParams: function() { + _buildParams: function () { // parameters for image server query var params = { bbox: this._getBBox().join(','), @@ -209,7 +211,7 @@ L.ImageService = L.Layer.extend({ _initImage: function () { var wasElementSupplied = this._url.tagName === 'IMG'; - var img = this._image = L.DomUtil.create('img'); + var img = (this._image = L.DomUtil.create('img')); L.DomUtil.addClass(img, 'leaflet-image-layer'); img.onselectstart = L.Util.falseFn; img.onmousemove = L.Util.falseFn; @@ -224,12 +226,13 @@ L.ImageService = L.Layer.extend({ _reset: function () { var img = this._image; var size = this._getSize(); - img.style.width = size[0] + 'px'; + img.style.width = size[0] + 'px'; img.style.height = size[1] + 'px'; if (this._getEPSG() === 3857) { var bounds = new L.Bounds( this._map.latLngToLayerPoint(this._bounds.getNorthWest()), - this._map.latLngToLayerPoint(this._bounds.getSouthEast())); + this._map.latLngToLayerPoint(this._bounds.getSouthEast()) + ); L.DomUtil.setPosition(img, bounds.min); } else { var pixelorigin = this._topLeft.subtract(this._map.getPixelOrigin()); @@ -246,14 +249,13 @@ L.ImageService = L.Layer.extend({ return; } // update the url for the current bounds - this.updateUrl() + this.updateUrl(); // update image source if (this._image && this._map) { this._image.src = this._url; this._reset(); } }, - }); L.imageService = function (options) { diff --git a/js/src/leaflet-magnifyingglass.js b/js/src/leaflet-magnifyingglass.ts similarity index 99% rename from js/src/leaflet-magnifyingglass.js rename to js/src/leaflet-magnifyingglass.ts index ec793d3bf..e1a3f4df4 100644 --- a/js/src/leaflet-magnifyingglass.js +++ b/js/src/leaflet-magnifyingglass.ts @@ -1,5 +1,6 @@ // The code below was copied from the following source: // https://github.com/bbecquet/Leaflet.MagnifyingGlass +//@ts-nocheck L.MagnifyingGlass = L.Layer.extend({ options: { diff --git a/js/src/leaflet.js b/js/src/leaflet.ts similarity index 59% rename from js/src/leaflet.js rename to js/src/leaflet.ts index ac7ad8d14..4be7a5eb0 100644 --- a/js/src/leaflet.js +++ b/js/src/leaflet.ts @@ -1,26 +1,28 @@ -const L = require('leaflet'); -require('proj4'); -require('proj4leaflet'); -require('leaflet-defaulticon-compatibility'); -require('leaflet.vectorgrid'); -require('leaflet-splitmap'); -require('leaflet-draw'); -require('leaflet.markercluster'); -require('leaflet-velocity'); -require('leaflet-measure'); -require('./leaflet-heat.js'); -require('./leaflet-imageservice.js'); -require('./leaflet-magnifyingglass.js'); -require('leaflet-rotatedmarker'); -require('leaflet-fullscreen'); -require('leaflet-transform'); -require('leaflet.awesome-markers'); -require('leaflet-search'); -require('protomaps-leaflet'); +// const L = require('leaflet'); +//@ts-nocheck +import L from 'leaflet'; +import 'leaflet-defaulticon-compatibility'; +import 'leaflet-draw'; +import 'leaflet-fullscreen'; +import 'leaflet-measure'; +import 'leaflet-rotatedmarker'; +import 'leaflet-search'; +import 'leaflet-splitmap'; +import 'leaflet-transform'; +import 'leaflet-velocity'; +import 'leaflet.awesome-markers'; +import 'leaflet.markercluster'; +import 'leaflet.vectorgrid'; +import 'proj4'; +import 'proj4leaflet'; +import 'protomaps-leaflet'; +import './leaflet-heat'; +import './leaflet-imageservice'; +import './leaflet-magnifyingglass'; // Monkey patch GridLayer for smoother URL updates -L.patchGridLayer = function (layer) { - layer._refreshTileUrl = function (tile, url) { +L.patchGridLayer = function (layer: any) { + layer._refreshTileUrl = function (tile: any, url: any) { //use a image in background, so that only replace the actual tile, once image is loaded in cache! var img = new Image(); img.onload = function () { @@ -50,6 +52,7 @@ L.patchGridLayer = function (layer) { if (wasAnimated) { setTimeout(function () { + //@ts-ignore this._map._fadeAnimated = wasAnimated; }, 5000); } @@ -57,16 +60,16 @@ L.patchGridLayer = function (layer) { }; var oldTileLayer = L.tileLayer; -L.tileLayer = function (url, options) { +L.tileLayer = function (url: any, options: any) { var obj = oldTileLayer(url, options); L.patchGridLayer(obj); return obj; }; -L.tileLayer.wms = function (url, options) { +L.tileLayer.wms = function (url: any, options: any) { var obj = oldTileLayer.wms(url, options); L.patchGridLayer(obj); return obj; }; -module.exports = L; +export default L; diff --git a/js/src/notebook.js b/js/src/notebook.ts similarity index 72% rename from js/src/notebook.js rename to js/src/notebook.ts index afc7168ad..606022536 100644 --- a/js/src/notebook.js +++ b/js/src/notebook.ts @@ -1,4 +1,4 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -module.exports = require('./index.js'); +export * from './index'; diff --git a/js/src/projections.js b/js/src/projections.ts similarity index 74% rename from js/src/projections.js rename to js/src/projections.ts index 35b74f38f..61f128503 100644 --- a/js/src/projections.js +++ b/js/src/projections.ts @@ -1,6 +1,7 @@ -const L = require('./leaflet.js'); +//@ts-nocheck +import L from './leaflet'; -export function getProjection(proj) { +export function getProjection(proj: any) { if (proj.custom === false) { return L.CRS[proj.name]; } else { diff --git a/js/src/utils.js b/js/src/utils.ts similarity index 94% rename from js/src/utils.js rename to js/src/utils.ts index 4292ebf0e..fbb25bbb7 100644 --- a/js/src/utils.js +++ b/js/src/utils.ts @@ -1,7 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. -const widgets = require('@jupyter-widgets/base'); +// @ts-nocheck +import * as widgets from '@jupyter-widgets/base'; function camel_case(input) { // Convert from foo_bar to fooBar diff --git a/js/tsconfig.json b/js/tsconfig.json new file mode 100644 index 000000000..e1af2221e --- /dev/null +++ b/js/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "declaration": true, + "esModuleInterop": true, + "lib": ["es2015", "dom"], + "module": "commonjs", + "moduleResolution": "node", + "noEmitOnError": false, + "noUnusedLocals": false, + "outDir": "lib", + "resolveJsonModule": true, + "rootDir": "src", + "skipLibCheck": true, + "sourceMap": true, + "strict": false, + "strictPropertyInitialization": false, + "target": "es2015", + "noImplicitAny": false, + "types": ["node", "webpack-env"] + }, + "exclude": ["src/**/__tests__", "lib/**"] +} diff --git a/js/webpack.config.js b/js/webpack.config.js index 1035e4c46..c95e2ff7d 100644 --- a/js/webpack.config.js +++ b/js/webpack.config.js @@ -7,11 +7,15 @@ crypto.createHash = (algorithm) => cryptoOrigCreateHash(algorithm == 'md4' ? 'sha256' : algorithm); var rules = [ + { test: /\.ts$/, loader: 'ts-loader' }, + { test: /\.js$/, loader: 'source-map-loader' }, { test: /\.css$/, use: ['style-loader', 'css-loader'] }, { test: /\.(jpg|png|gif|svg)$/i, type: 'asset' }, ]; var resolve = { + // Add '.ts' and '.tsx' as resolvable extensions. + extensions: ['.webpack.js', '.web.js', '.ts', '.js'], fallback: { crypto: require.resolve('crypto-browserify'), buffer: require.resolve('buffer/'), @@ -19,6 +23,9 @@ var resolve = { }, }; +// Packages that shouldn't be bundled but loaded at runtime +const externals = ['@jupyter-widgets/base']; + module.exports = [ { // Notebook extension @@ -28,13 +35,18 @@ module.exports = [ // some configuration for requirejs, and provides the legacy // "load_ipython_extension" function which is required for any notebook // extension. - entry: './src/extension.js', + entry: './src/extension.ts', output: { filename: 'extension.js', path: path.resolve(__dirname, '..', 'ipyleaflet', 'nbextension'), libraryTarget: 'amd', }, - resolve: resolve, + module: { + rules: rules, + }, + devtool: 'source-map', + externals, + resolve, }, { // Bundle for the notebook containing the custom widget views and models @@ -42,7 +54,7 @@ module.exports = [ // This bundle contains the implementation for the custom widget views and // custom widget. // It must be an amd module - entry: ['./amd-public-path.js', './src/notebook.js'], + entry: ['./src/amd-public-path.ts', './src/notebook.ts'], output: { filename: 'index.js', path: path.resolve(__dirname, '..', 'ipyleaflet', 'nbextension'), @@ -54,7 +66,7 @@ module.exports = [ rules: rules, }, // 'module' is the magic requirejs dependency used to set the publicPath - externals: ['@jupyter-widgets/base', 'module'], + externals: [...externals, 'module'], resolve: resolve, }, { @@ -67,7 +79,7 @@ module.exports = [ // // The target bundle is always `dist/index.js`, which is the path // required by the custom widget embedder. - entry: ['./amd-public-path.js', './src/embed.js'], + entry: ['./src/amd-public-path.ts', './src/embed.ts'], output: { filename: 'index.js', path: path.resolve(__dirname, 'dist'), @@ -79,7 +91,7 @@ module.exports = [ rules: rules, }, // 'module' is the magic requirejs dependency used to set the publicPath - externals: ['@jupyter-widgets/base', 'module'], + externals: [...externals, 'module'], resolve: resolve, }, ]; diff --git a/js/yarn.lock b/js/yarn.lock index 42ff574c1..52f199147 100644 --- a/js/yarn.lock +++ b/js/yarn.lock @@ -31,15 +31,15 @@ __metadata: linkType: hard "@eslint-community/regexpp@npm:^4.6.1": - version: 4.8.0 - resolution: "@eslint-community/regexpp@npm:4.8.0" - checksum: 601e6d033d556e98e8c929905bef335f20d7389762812df4d0f709d9b4d2631610dda975fb272e23b5b68e24a163b3851b114c8080a0a19fb4c141a1eff6305b + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: 2a6e345429ea8382aaaf3a61f865cae16ed44d31ca917910033c02dc00d505d939f10b81e079fa14d43b51499c640138e153b7e40743c4c094d9df97d4e56f7b languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.2": - version: 2.1.2 - resolution: "@eslint/eslintrc@npm:2.1.2" +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" dependencies: ajv: ^6.12.4 debug: ^4.3.2 @@ -50,25 +50,25 @@ __metadata: js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: bc742a1e3b361f06fedb4afb6bf32cbd27171292ef7924f61c62f2aed73048367bcc7ac68f98c06d4245cd3fabc43270f844e3c1699936d4734b3ac5398814a7 + checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127 languageName: node linkType: hard -"@eslint/js@npm:8.48.0": - version: 8.48.0 - resolution: "@eslint/js@npm:8.48.0" - checksum: b2755f9c0ee810c886eba3c50dcacb184ba5a5cd1cbc01988ee506ad7340653cae0bd55f1d95c64b56dfc6d25c2caa7825335ffd2c50165bae9996fe0f396851 +"@eslint/js@npm:8.56.0": + version: 8.56.0 + resolution: "@eslint/js@npm:8.56.0" + checksum: 5804130574ef810207bdf321c265437814e7a26f4e6fac9b496de3206afd52f533e09ec002a3be06cd9adcc9da63e727f1883938e663c4e4751c007d5b58e539 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.10": - version: 0.11.11 - resolution: "@humanwhocodes/config-array@npm:0.11.11" +"@humanwhocodes/config-array@npm:^0.11.13": + version: 0.11.13 + resolution: "@humanwhocodes/config-array@npm:0.11.13" dependencies: - "@humanwhocodes/object-schema": ^1.2.1 + "@humanwhocodes/object-schema": ^2.0.1 debug: ^4.1.1 minimatch: ^3.0.5 - checksum: db84507375ab77b8ffdd24f498a5b49ad6b64391d30dd2ac56885501d03964d29637e05b1ed5aefa09d57ac667e28028bc22d2da872bfcd619652fbdb5f4ca19 + checksum: f8ea57b0d7ed7f2d64cd3944654976829d9da91c04d9c860e18804729a33f7681f78166ef4c761850b8c324d362f7d53f14c5c44907a6b38b32c703ff85e4805 languageName: node linkType: hard @@ -79,10 +79,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.1": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 +"@humanwhocodes/object-schema@npm:^2.0.1": + version: 2.0.1 + resolution: "@humanwhocodes/object-schema@npm:2.0.1" + checksum: 24929487b1ed48795d2f08346a0116cc5ee4634848bce64161fb947109352c562310fd159fc64dda0e8b853307f5794605191a9547f7341158559ca3c8262a45 languageName: node linkType: hard @@ -153,18 +153,18 @@ __metadata: linkType: hard "@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.19 - resolution: "@jridgewell/trace-mapping@npm:0.3.19" + version: 0.3.20 + resolution: "@jridgewell/trace-mapping@npm:0.3.20" dependencies: "@jridgewell/resolve-uri": ^3.1.0 "@jridgewell/sourcemap-codec": ^1.4.14 - checksum: 956a6f0f6fec060fb48c6bf1f5ec2064e13cd38c8be3873877d4b92b4a27ba58289a34071752671262a3e3c202abcc3fa2aac64d8447b4b0fa1ba3c9047f1c20 + checksum: cd1a7353135f385909468ff0cf20bdd37e59f2ee49a13a966dedf921943e222082c583ade2b579ff6cd0d8faafcb5461f253e1bf2a9f48fec439211fdbe788f5 languageName: node linkType: hard "@jupyter-widgets/base@npm:^2 || ^3 || ^4 || ^5 || ^6": - version: 6.0.5 - resolution: "@jupyter-widgets/base@npm:6.0.5" + version: 6.0.6 + resolution: "@jupyter-widgets/base@npm:6.0.6" dependencies: "@jupyterlab/services": ^6.0.0 || ^7.0.0 "@lumino/coreutils": ^1.11.1 || ^2.1 @@ -175,13 +175,13 @@ __metadata: backbone: 1.4.0 jquery: ^3.1.1 lodash: ^4.17.4 - checksum: d9090c172d6504f95a7b1906e4b8c7be722318103b5721fa447140d04888448ebc31f47887c1dfc9022fff183b41cf6dbb7a2d2b3f821d05fe17350281fc3a17 + checksum: 6414a56d7aaf287462b97f192f5022f9f3f52809df2e6e49b64073cb6ab851dea005033d508730140159e4dc6ef54a2af2d637c6ce3b6813a52d29fc153be296 languageName: node linkType: hard -"@jupyter/ydoc@npm:^1.0.2": - version: 1.0.2 - resolution: "@jupyter/ydoc@npm:1.0.2" +"@jupyter/ydoc@npm:^1.1.1": + version: 1.1.1 + resolution: "@jupyter/ydoc@npm:1.1.1" dependencies: "@jupyterlab/nbformat": ^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0 "@lumino/coreutils": ^1.11.0 || ^2.0.0 @@ -189,7 +189,7 @@ __metadata: "@lumino/signaling": ^1.10.0 || ^2.0.0 y-protocols: ^1.0.5 yjs: ^13.5.40 - checksum: 739f9630940466b3cfcd7b742dd06479f81772ca13f863d057af0bbb5e318829506969066ab72977e7c721644982b5c8f88cf44e1ae81955ed1c27e87632d1f2 + checksum: a239b1dd57cfc9ba36c06ac5032a1b6388849ae01a1d0db0d45094f71fdadf4d473b4bf8becbef0cfcdc85cae505361fbec0822b02da5aa48e06b66f742dd7a0 languageName: node linkType: hard @@ -234,9 +234,9 @@ __metadata: languageName: node linkType: hard -"@jupyterlab/coreutils@npm:^6.0.5": - version: 6.0.5 - resolution: "@jupyterlab/coreutils@npm:6.0.5" +"@jupyterlab/coreutils@npm:^6.0.9": + version: 6.0.9 + resolution: "@jupyterlab/coreutils@npm:6.0.9" dependencies: "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -244,44 +244,44 @@ __metadata: minimist: ~1.2.0 path-browserify: ^1.0.0 url-parse: ~1.5.4 - checksum: c09be7c8f389bb7f019fb868acfc528a0bc553a7b091412b7e0bfb1d0f2c71223ada8d6972d42df25fb6f70be21ecac00703e12d1df62a44dc2a512baac54dac + checksum: d2e9bb5d55f7bf3d439151ca4dbbd404adf742be31ea98a5713869f65cc86ebc8e89459ad7d0792cab51ebd7136d77ec86bf06ff990dd88f6d66780296d8983d languageName: node linkType: hard -"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@npm:^4.0.5": - version: 4.0.5 - resolution: "@jupyterlab/nbformat@npm:4.0.5" +"@jupyterlab/nbformat@npm:^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0, @jupyterlab/nbformat@npm:^4.0.9": + version: 4.0.9 + resolution: "@jupyterlab/nbformat@npm:4.0.9" dependencies: "@lumino/coreutils": ^2.1.2 - checksum: 51611e95e6b16dc3e952b731e0ef036d1e0f7eec497555e3bf8394f181da4184dc37c6b25a1b11b5ea031f22fd4b9602fb6a2e675d65fddc2ccb099236cf3e01 + checksum: 9fb2f2e03c749c46dc2ff4a815ba7a7525dae5d0c44b3d9887a6405b869329d9b3db72f69eada145543a8b37172f5466abf3a621f458793b0565d244218d32e2 languageName: node linkType: hard "@jupyterlab/services@npm:^6.0.0 || ^7.0.0": - version: 7.0.5 - resolution: "@jupyterlab/services@npm:7.0.5" - dependencies: - "@jupyter/ydoc": ^1.0.2 - "@jupyterlab/coreutils": ^6.0.5 - "@jupyterlab/nbformat": ^4.0.5 - "@jupyterlab/settingregistry": ^4.0.5 - "@jupyterlab/statedb": ^4.0.5 + version: 7.0.9 + resolution: "@jupyterlab/services@npm:7.0.9" + dependencies: + "@jupyter/ydoc": ^1.1.1 + "@jupyterlab/coreutils": ^6.0.9 + "@jupyterlab/nbformat": ^4.0.9 + "@jupyterlab/settingregistry": ^4.0.9 + "@jupyterlab/statedb": ^4.0.9 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/polling": ^2.1.2 "@lumino/properties": ^2.0.1 "@lumino/signaling": ^2.1.2 ws: ^8.11.0 - checksum: cf4176dbb73c08e777b5e6ca26cba6ad7a142fc76ae6b46ef17ac7d8c8021f62d66e95e2ee0dbce5c33a0b2380750d440783d0398d787b8e8028920e04dd1d0b + checksum: 115b878d44b4ce966fe659ca300cca25b13f00e03770d6185e81f0665b88ae3cb1f11b8738a6d66708f3e59c9126c707618c28f90bd7d6c4715f7df31642c15e languageName: node linkType: hard -"@jupyterlab/settingregistry@npm:^4.0.5": - version: 4.0.5 - resolution: "@jupyterlab/settingregistry@npm:4.0.5" +"@jupyterlab/settingregistry@npm:^4.0.9": + version: 4.0.9 + resolution: "@jupyterlab/settingregistry@npm:4.0.9" dependencies: - "@jupyterlab/nbformat": ^4.0.5 - "@jupyterlab/statedb": ^4.0.5 + "@jupyterlab/nbformat": ^4.0.9 + "@jupyterlab/statedb": ^4.0.9 "@lumino/commands": ^2.1.3 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 @@ -291,20 +291,20 @@ __metadata: json5: ^2.2.3 peerDependencies: react: ">=16" - checksum: b7d686e0f9629f25f423fbd114e598f5af2ae1cc7b683f3e236ff8c94f6d05b20e13ee4555e0eba6277b58fbcdf3c75dbcd66d4e79884b49bed649372d871540 + checksum: 7d4c6f3e69ac1e66b7e7c5e53ccfb98a7e073a5a69837b814f368de247ba22f830ac567a6bb231577f6e256b2b2d9c180d50542f43891640e9a5294cb3e7a189 languageName: node linkType: hard -"@jupyterlab/statedb@npm:^4.0.5": - version: 4.0.5 - resolution: "@jupyterlab/statedb@npm:4.0.5" +"@jupyterlab/statedb@npm:^4.0.9": + version: 4.0.9 + resolution: "@jupyterlab/statedb@npm:4.0.9" dependencies: "@lumino/commands": ^2.1.3 "@lumino/coreutils": ^2.1.2 "@lumino/disposable": ^2.1.2 "@lumino/properties": ^2.0.1 "@lumino/signaling": ^2.1.2 - checksum: 8e01de74a2168d19124773fa2b72329cfb43601c702127845a4172e87ee67b1304d34f53f65a6db214d832bd8c244c333936a22e08bbf1ea02e458e245140f62 + checksum: 0a813068476a1e2dad5aebbbe2a339e8931ba4e29c873d59a2baeed05ab71307e5a629802fddeaec666cec14e4bee45e0d733abe0b1ea0dbf930c8a427188e7b languageName: node linkType: hard @@ -351,22 +351,7 @@ __metadata: languageName: node linkType: hard -"@lumino/commands@npm:^2.1.3": - version: 2.1.3 - resolution: "@lumino/commands@npm:2.1.3" - dependencies: - "@lumino/algorithm": ^2.0.1 - "@lumino/coreutils": ^2.1.2 - "@lumino/disposable": ^2.1.2 - "@lumino/domutils": ^2.0.1 - "@lumino/keyboard": ^2.0.1 - "@lumino/signaling": ^2.1.2 - "@lumino/virtualdom": ^2.0.1 - checksum: e4e3ee279f2a5e8d68e4ce142c880333f5542f90c684972402356936ecb5cf5e07163800b59e7cb8c911cbdb4e5089edcc5dd2990bc8db10c87517268de1fc5d - languageName: node - linkType: hard - -"@lumino/commands@npm:^2.2.0": +"@lumino/commands@npm:^2.1.3, @lumino/commands@npm:^2.2.0": version: 2.2.0 resolution: "@lumino/commands@npm:2.2.0" dependencies: @@ -404,16 +389,6 @@ __metadata: languageName: node linkType: hard -"@lumino/dragdrop@npm:^2.1.3": - version: 2.1.3 - resolution: "@lumino/dragdrop@npm:2.1.3" - dependencies: - "@lumino/coreutils": ^2.1.2 - "@lumino/disposable": ^2.1.2 - checksum: d5f7eb4cc9f9a084cb9af10f02d6741b25d683350878ecbc324e24ba9d4b5246451a410e2ca5fff227aab1c191d1e73a2faf431f93e13111d67a4e426e126258 - languageName: node - linkType: hard - "@lumino/dragdrop@npm:^2.1.4": version: 2.1.4 resolution: "@lumino/dragdrop@npm:2.1.4" @@ -488,26 +463,7 @@ __metadata: languageName: node linkType: hard -"@lumino/widgets@npm:^1.30.0 || ^2.1": - version: 2.3.0 - resolution: "@lumino/widgets@npm:2.3.0" - dependencies: - "@lumino/algorithm": ^2.0.1 - "@lumino/commands": ^2.1.3 - "@lumino/coreutils": ^2.1.2 - "@lumino/disposable": ^2.1.2 - "@lumino/domutils": ^2.0.1 - "@lumino/dragdrop": ^2.1.3 - "@lumino/keyboard": ^2.0.1 - "@lumino/messaging": ^2.0.1 - "@lumino/properties": ^2.0.1 - "@lumino/signaling": ^2.1.2 - "@lumino/virtualdom": ^2.0.1 - checksum: a8559bd3574b7fc16e7679e05994c515b0d3e78dada35786d161f67c639941d134e92ce31d95c2e4ac06709cdf83b0e7fb4b6414a3f7779579222a2fb525d025 - languageName: node - linkType: hard - -"@lumino/widgets@npm:^2.3.0, @lumino/widgets@npm:^2.3.1": +"@lumino/widgets@npm:^1.30.0 || ^2.1, @lumino/widgets@npm:^2.3.0, @lumino/widgets@npm:^2.3.1": version: 2.3.1 resolution: "@lumino/widgets@npm:2.3.1" dependencies: @@ -606,8 +562,8 @@ __metadata: linkType: hard "@rjsf/utils@npm:^5.1.0": - version: 5.12.1 - resolution: "@rjsf/utils@npm:5.12.1" + version: 5.15.1 + resolution: "@rjsf/utils@npm:5.15.1" dependencies: json-schema-merge-allof: ^0.8.1 jsonpointer: ^5.0.1 @@ -616,7 +572,7 @@ __metadata: react-is: ^18.2.0 peerDependencies: react: ^16.14.0 || >=17 - checksum: 7be971df803f1cef4cb6083e5393ac7f76a24e9c682e408f908630d015f22188255048cc1e158e6133d789692224d73911943edf813587f28a98a879c88f8c50 + checksum: ec0d56bf2627d55759a59090db0d59402244a6fae64528f66dde1f5de2eaaf2a6841dea7bbb185eb36fd344b3abd4825b2b422f3b1b0bb05365847073aa1e790 languageName: node linkType: hard @@ -694,49 +650,49 @@ __metadata: linkType: hard "@types/eslint-scope@npm:^3.7.3": - version: 3.7.4 - resolution: "@types/eslint-scope@npm:3.7.4" + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" dependencies: "@types/eslint": "*" "@types/estree": "*" - checksum: ea6a9363e92f301cd3888194469f9ec9d0021fe0a397a97a6dd689e7545c75de0bd2153dfb13d3ab532853a278b6572c6f678ce846980669e41029d205653460 + checksum: e2889a124aaab0b89af1bab5959847c5bec09809209255de0e63b9f54c629a94781daa04adb66bffcdd742f5e25a17614fb933965093c0eea64aacda4309380e languageName: node linkType: hard "@types/eslint@npm:*": - version: 8.44.2 - resolution: "@types/eslint@npm:8.44.2" + version: 8.56.0 + resolution: "@types/eslint@npm:8.56.0" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: 25b3ef61bae96350026593c9914c8a61ee02fde48ab8d568a73ee45032f13c0028c62e47a5ff78715af488dfe8e8bba913f7d30f859f60c7f9e639d328e80482 + checksum: 8eca14c1ca8a4dbbcbf6bed67775db9dd2f9947802d6da39fa0c4c297a1e5465e898332232bb51980586a9a45b1b21bc13fd79fcc81adcd4c86062372e9bab6d languageName: node linkType: hard "@types/estree@npm:*, @types/estree@npm:^1.0.0": - version: 1.0.1 - resolution: "@types/estree@npm:1.0.1" - checksum: e9aa175eacb797216fafce4d41e8202c7a75555bc55232dee0f9903d7171f8f19f0ae7d5191bb1a88cb90e65468be508c0df850a9fb81b4433b293a5a749899d + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: dd8b5bed28e6213b7acd0fb665a84e693554d850b0df423ac8076cc3ad5823a6bc26b0251d080bdc545af83179ede51dd3f6fa78cad2c46ed1f29624ddf3e41a languageName: node linkType: hard -"@types/jquery@npm:*": - version: 3.5.18 - resolution: "@types/jquery@npm:3.5.18" - dependencies: - "@types/sizzle": "*" - checksum: 6576bc9a6d35671ceb464e8f937b7eb916227b38b4edf8769a0bc628cfbb9f211b61ccd4158d42aa31591f2c6766b7095430f820d374f70245258ac6cec3e439 +"@types/geojson@npm:*": + version: 7946.0.13 + resolution: "@types/geojson@npm:7946.0.13" + checksum: b3b68457c89bc3f0445dc9eb54d07e6f89658672867c54989bc7f71f87d54e562195b291d43e1b84476493351271d7ccb9f5c6ab2012b29fbafbb0e8e43c4bca languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8": - version: 7.0.12 - resolution: "@types/json-schema@npm:7.0.12" - checksum: 00239e97234eeb5ceefb0c1875d98ade6e922bfec39dd365ec6bd360b5c2f825e612ac4f6e5f1d13601b8b30f378f15e6faa805a3a732f4a1bbe61915163d293 +"@types/jquery@npm:*": + version: 3.5.29 + resolution: "@types/jquery@npm:3.5.29" + dependencies: + "@types/sizzle": "*" + checksum: 5e959762d6f7050b07b4387b6507a308113384566a77cfc4f8d0f54c2fb0a79f6bc8c057706c6aa4840cde56f32ad0e5814fb53c5f078c5db9e01670a1ecd535 languageName: node linkType: hard -"@types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 @@ -759,17 +715,28 @@ __metadata: languageName: node linkType: hard +"@types/leaflet@npm:^1.9.8": + version: 1.9.8 + resolution: "@types/leaflet@npm:1.9.8" + dependencies: + "@types/geojson": "*" + checksum: d6a33d5db0bdf608957cd52701b17ee89e936034a8f0ab619b8e7ef70312a0da177837dd125756e83af036276a8b299cc724c9ffb3caa7d22893fea2791e1e13 + languageName: node + linkType: hard + "@types/lodash@npm:^4.14.134": - version: 4.14.198 - resolution: "@types/lodash@npm:4.14.198" - checksum: b290e4480707151bcec738bca40527915defe52a0d8e26c83685c674163a265e1a88cb2ee56b0fb587a89819d0cd5df86ada836aec3e9c2e4bf516e7d348d524 + version: 4.14.202 + resolution: "@types/lodash@npm:4.14.202" + checksum: a91acf3564a568c6f199912f3eb2c76c99c5a0d7e219394294213b3f2d54f672619f0fde4da22b29dc5d4c31457cd799acc2e5cb6bd90f9af04a1578483b6ff7 languageName: node linkType: hard -"@types/node@npm:*": - version: 20.5.9 - resolution: "@types/node@npm:20.5.9" - checksum: 717490e94131722144878b4ca1a963ede1673bb8f2ef78c2f5b50b918df6dc9b35e7f8283e5c2a7a9f137730f7c08dc6228e53d4494a94c9ee16881e6ce6caed +"@types/node@npm:*, @types/node@npm:^20.10.5": + version: 20.10.5 + resolution: "@types/node@npm:20.10.5" + dependencies: + undici-types: ~5.26.4 + checksum: e216b679f545a8356960ce985a0e53c3a58fff0eacd855e180b9e223b8db2b5bd07b744a002b8c1f0c37f9194648ab4578533b5c12df2ec10cc02f61d20948d2 languageName: node linkType: hard @@ -783,34 +750,48 @@ __metadata: linkType: hard "@types/sizzle@npm:*": - version: 2.3.3 - resolution: "@types/sizzle@npm:2.3.3" - checksum: 586a9fb1f6ff3e325e0f2cc1596a460615f0bc8a28f6e276ac9b509401039dd242fa8b34496d3a30c52f5b495873922d09a9e76c50c2ab2bcc70ba3fb9c4e160 + version: 2.3.8 + resolution: "@types/sizzle@npm:2.3.8" + checksum: 2ac62443dc917f5f903cbd9afc51c7d6cc1c6569b4e1a15faf04aea5b13b486e7f208650014c3dc4fed34653eded3e00fe5abffe0e6300cbf0e8a01beebf11a6 languageName: node linkType: hard "@types/source-list-map@npm:*": - version: 0.1.2 - resolution: "@types/source-list-map@npm:0.1.2" - checksum: fda8f37537aca9d3ed860d559289ab1dddb6897e642e6f53e909bbd18a7ac3129a8faa2a7d093847c91346cf09c86ef36e350c715406fba1f2271759b449adf6 + version: 0.1.6 + resolution: "@types/source-list-map@npm:0.1.6" + checksum: 9cd294c121f1562062de5d241fe4d10780b1131b01c57434845fe50968e9dcf67ede444591c2b1ad6d3f9b6bc646ac02cc8f51a3577c795f9c64cf4573dcc6b1 languageName: node linkType: hard "@types/underscore@npm:*": - version: 1.11.9 - resolution: "@types/underscore@npm:1.11.9" - checksum: 432a65271cb5567784aeccd99aeea9af6a8bef00c709c3c6ef9f161a9ad03a9c8fc6ebfbff4ff9c26c474b84a4381d201cfc24a072225868755eef95f5152e72 + version: 1.11.15 + resolution: "@types/underscore@npm:1.11.15" + checksum: 25fdf6da96e0d11ca39a4740aab6fa3bd717e57301be4cb9e7893dc0ad6ce330992d0c8e0b02cac5c5ea86df6f8949c5a8f1fb95f3666b85418d399d3b1112e9 + languageName: node + linkType: hard + +"@types/webpack-env@npm:^1.18.4": + version: 1.18.4 + resolution: "@types/webpack-env@npm:1.18.4" + checksum: f195b3ae974ac3b631477b57737dad7b6c44ecca86770cf3c29f284e02961c9f2dfc619e3e253d8c23966864cb052b1e8437e9834ede32ac97972e6e2235bb51 languageName: node linkType: hard "@types/webpack-sources@npm:^0.1.5": - version: 0.1.9 - resolution: "@types/webpack-sources@npm:0.1.9" + version: 0.1.12 + resolution: "@types/webpack-sources@npm:0.1.12" dependencies: "@types/node": "*" "@types/source-list-map": "*" source-map: ^0.6.1 - checksum: bc09c584c7047e8aed29801a3981787dee3898e9e7a99891a362df114fcac3879eea5a00932314866a01b25220391839be09fe1487b16d4970ff4a7afd5b9725 + checksum: 75342659a9889478969f7bb7360b998aa084ba11ab523c172ded6a807dac43ab2a9e1212078ef8bbf0f33e4fadd2c8a91b75d38184d8030d96a32fe819c9bb57 + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 languageName: node linkType: hard @@ -1024,7 +1005,7 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.3": +"abab@npm:^2.0.3, abab@npm:^2.0.6": version: 2.0.6 resolution: "abab@npm:2.0.6" checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e @@ -1064,11 +1045,11 @@ __metadata: linkType: hard "acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" + version: 8.11.2 + resolution: "acorn@npm:8.11.2" bin: acorn: bin/acorn - checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d + checksum: 818450408684da89423e3daae24e4dc9b68692db8ab49ea4569c7c5abb7a3f23669438bf129cc81dfdada95e1c9b944ee1bfca2c57a05a4dc73834a612fbf6a7 languageName: node linkType: hard @@ -1307,7 +1288,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6": +"array-includes@npm:^3.1.7": version: 3.1.7 resolution: "array-includes@npm:3.1.7" dependencies: @@ -1320,7 +1301,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.2": +"array.prototype.findlastindex@npm:^1.2.3": version: 1.2.3 resolution: "array.prototype.findlastindex@npm:1.2.3" dependencies: @@ -1333,7 +1314,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.1": +"array.prototype.flat@npm:^1.3.2": version: 1.3.2 resolution: "array.prototype.flat@npm:1.3.2" dependencies: @@ -1345,7 +1326,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1": +"array.prototype.flatmap@npm:^1.3.2": version: 1.3.2 resolution: "array.prototype.flatmap@npm:1.3.2" dependencies: @@ -1370,7 +1351,7 @@ __metadata: languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.1": +"arraybuffer.prototype.slice@npm:^1.0.2": version: 1.0.2 resolution: "arraybuffer.prototype.slice@npm:1.0.2" dependencies: @@ -1515,7 +1496,7 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:^5.0.0, bn.js@npm:^5.1.1": +"bn.js@npm:^5.0.0, bn.js@npm:^5.2.1": version: 5.2.1 resolution: "bn.js@npm:5.2.1" checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 @@ -1556,6 +1537,15 @@ __metadata: languageName: node linkType: hard +"braces@npm:^3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 + languageName: node + linkType: hard + "brorand@npm:^1.0.1, brorand@npm:^1.1.0": version: 1.1.0 resolution: "brorand@npm:1.1.0" @@ -1600,7 +1590,7 @@ __metadata: languageName: node linkType: hard -"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1": +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.0": version: 4.1.0 resolution: "browserify-rsa@npm:4.1.0" dependencies: @@ -1611,33 +1601,33 @@ __metadata: linkType: hard "browserify-sign@npm:^4.0.0": - version: 4.2.1 - resolution: "browserify-sign@npm:4.2.1" + version: 4.2.2 + resolution: "browserify-sign@npm:4.2.2" dependencies: - bn.js: ^5.1.1 - browserify-rsa: ^4.0.1 + bn.js: ^5.2.1 + browserify-rsa: ^4.1.0 create-hash: ^1.2.0 create-hmac: ^1.1.7 - elliptic: ^6.5.3 + elliptic: ^6.5.4 inherits: ^2.0.4 - parse-asn1: ^5.1.5 - readable-stream: ^3.6.0 - safe-buffer: ^5.2.0 - checksum: 0221f190e3f5b2d40183fa51621be7e838d9caa329fe1ba773406b7637855f37b30f5d83e52ff8f244ed12ffe6278dd9983638609ed88c841ce547e603855707 + parse-asn1: ^5.1.6 + readable-stream: ^3.6.2 + safe-buffer: ^5.2.1 + checksum: b622730c0fc183328c3a1c9fdaaaa5118821ed6822b266fa6b0375db7e20061ebec87301d61931d79b9da9a96ada1cab317fce3c68f233e5e93ed02dbb35544c languageName: node linkType: hard "browserslist@npm:^4.14.5": - version: 4.21.10 - resolution: "browserslist@npm:4.21.10" + version: 4.22.2 + resolution: "browserslist@npm:4.22.2" dependencies: - caniuse-lite: ^1.0.30001517 - electron-to-chromium: ^1.4.477 - node-releases: ^2.0.13 - update-browserslist-db: ^1.0.11 + caniuse-lite: ^1.0.30001565 + electron-to-chromium: ^1.4.601 + node-releases: ^2.0.14 + update-browserslist-db: ^1.0.13 bin: browserslist: cli.js - checksum: 1e27c0f111a35d1dd0e8fc2c61781b0daefabc2c9471b0b10537ce54843014bceb2a1ce4571af1a82b2bf1e6e6e05d38865916689a158f03bc2c7a4ec2577db8 + checksum: 33ddfcd9145220099a7a1ac533cecfe5b7548ffeb29b313e1b57be6459000a1f8fa67e781cf4abee97268ac594d44134fcc4a6b2b4750ceddc9796e3a22076d9 languageName: node linkType: hard @@ -1710,32 +1700,33 @@ __metadata: linkType: hard "cacache@npm:^18.0.0": - version: 18.0.0 - resolution: "cacache@npm:18.0.0" + version: 18.0.1 + resolution: "cacache@npm:18.0.1" dependencies: "@npmcli/fs": ^3.1.0 fs-minipass: ^3.0.0 glob: ^10.2.2 lru-cache: ^10.0.1 minipass: ^7.0.3 - minipass-collect: ^1.0.2 + minipass-collect: ^2.0.1 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 p-map: ^4.0.0 ssri: ^10.0.0 tar: ^6.1.11 unique-filename: ^3.0.0 - checksum: 2cd6bf15551abd4165acb3a4d1ef0593b3aa2fd6853ae16b5bb62199c2faecf27d36555a9545c0e07dd03347ec052e782923bdcece724a24611986aafb53e152 + checksum: 5a0b3b2ea451a0379814dc1d3c81af48c7c6db15cd8f7d72e028501ae0036a599a99bbac9687bfec307afb2760808d1c7708e9477c8c70d2b166e7d80b162a23 languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.4, call-bind@npm:^1.0.5": + version: 1.0.5 + resolution: "call-bind@npm:1.0.5" dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.1 + set-function-length: ^1.1.1 + checksum: 449e83ecbd4ba48e7eaac5af26fea3b50f8f6072202c2dd7c5a6e7a6308f2421abe5e13a3bbd55221087f76320c5e09f25a8fdad1bab2b77c68ae74d92234ea5 languageName: node linkType: hard @@ -1767,10 +1758,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001517": - version: 1.0.30001529 - resolution: "caniuse-lite@npm:1.0.30001529" - checksum: 26a7d42fff3a7e33db543af6b434aceb08c799e5e00795a54296b99b2fdddb7f31a0040600d3fc2ca4b1e6cf7e4ead46cc87ac53751ea8dab47ef355f6809511 +"caniuse-lite@npm:^1.0.30001565": + version: 1.0.30001570 + resolution: "caniuse-lite@npm:1.0.30001570" + checksum: 460be2c7a9b1c8a83b6aae4226661c276d9dada6c84209dee547699cf4b28030b9d1fc29ddd7626acee77412b6401993878ea0ef3eadbf3a63ded9034896ae20 languageName: node linkType: hard @@ -1799,7 +1790,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0": +"chalk@npm:^4.0.0, chalk@npm:^4.1.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -2419,13 +2410,25 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0": - version: 1.2.0 - resolution: "define-properties@npm:1.2.0" +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": + version: 1.1.1 + resolution: "define-data-property@npm:1.1.1" dependencies: + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: a29855ad3f0630ea82e3c5012c812efa6ca3078d5c2aa8df06b5f597c1cde6f7254692df41945851d903e05a1668607b6d34e778f402b9ff9ffb38111f1a3f0d + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: ^1.0.1 has-property-descriptors: ^1.0.0 object-keys: ^1.1.1 - checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 + checksum: b4ccd00597dd46cb2d4a379398f5b19fca84a16f3374e2249201992f36b30f6835949a9429669ee6b41b6e837205a163eadd745e472069e70dfc10f03e5fcc12 languageName: node linkType: hard @@ -2577,14 +2580,14 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.477": - version: 1.4.512 - resolution: "electron-to-chromium@npm:1.4.512" - checksum: 880fe8036653f9215b983ade7739655ee13cd20129cf0489def224d2641a010388e40e5806170d9118d02167b813b1f1beb4d8b40a4048cbad2cdf73ae95eb09 +"electron-to-chromium@npm:^1.4.601": + version: 1.4.615 + resolution: "electron-to-chromium@npm:1.4.615" + checksum: 9ffb1d0dac11c629bd8aa38efa7d2e3f41de943cf81fb41ab05e960e954c464c168d1f2f7e571813805e85b895279f2882bcafa551a2f23089646008d7a5bd06 languageName: node linkType: hard -"elliptic@npm:^6.5.3": +"elliptic@npm:^6.5.3, elliptic@npm:^6.5.4": version: 6.5.4 resolution: "elliptic@npm:6.5.4" dependencies: @@ -2645,7 +2648,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.15.0": +"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.15.0": version: 5.15.0 resolution: "enhanced-resolve@npm:5.15.0" dependencies: @@ -2663,11 +2666,11 @@ __metadata: linkType: hard "envinfo@npm:^7.7.3": - version: 7.10.0 - resolution: "envinfo@npm:7.10.0" + version: 7.11.0 + resolution: "envinfo@npm:7.11.0" bin: envinfo: dist/cli.js - checksum: 05e81a5768c42cbd5c580dc3f274db3401facadd53e9bd52e2aa49dfbb5d8b26f6181c25a6652d79618a6994185bd2b1c137673101690b147f758e4e71d42f7d + checksum: c45a7d20409d5f4cda72483b150d3816b15b434f2944d72c1495d8838bd7c4e7b2f32c12128ffb9b92b5f66f436237b8a525eb3a9a5da2d20013bc4effa28aef languageName: node linkType: hard @@ -2706,24 +2709,24 @@ __metadata: linkType: hard "es-abstract@npm:^1.22.1": - version: 1.22.1 - resolution: "es-abstract@npm:1.22.1" + version: 1.22.3 + resolution: "es-abstract@npm:1.22.3" dependencies: array-buffer-byte-length: ^1.0.0 - arraybuffer.prototype.slice: ^1.0.1 + arraybuffer.prototype.slice: ^1.0.2 available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 + call-bind: ^1.0.5 es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 - function.prototype.name: ^1.1.5 - get-intrinsic: ^1.2.1 + function.prototype.name: ^1.1.6 + get-intrinsic: ^1.2.2 get-symbol-description: ^1.0.0 globalthis: ^1.0.3 gopd: ^1.0.1 - has: ^1.0.3 has-property-descriptors: ^1.0.0 has-proto: ^1.0.1 has-symbols: ^1.0.3 + hasown: ^2.0.0 internal-slot: ^1.0.5 is-array-buffer: ^3.0.2 is-callable: ^1.2.7 @@ -2731,24 +2734,24 @@ __metadata: is-regex: ^1.1.4 is-shared-array-buffer: ^1.0.2 is-string: ^1.0.7 - is-typed-array: ^1.1.10 + is-typed-array: ^1.1.12 is-weakref: ^1.0.2 - object-inspect: ^1.12.3 + object-inspect: ^1.13.1 object-keys: ^1.1.1 object.assign: ^4.1.4 - regexp.prototype.flags: ^1.5.0 - safe-array-concat: ^1.0.0 + regexp.prototype.flags: ^1.5.1 + safe-array-concat: ^1.0.1 safe-regex-test: ^1.0.0 - string.prototype.trim: ^1.2.7 - string.prototype.trimend: ^1.0.6 - string.prototype.trimstart: ^1.0.6 + string.prototype.trim: ^1.2.8 + string.prototype.trimend: ^1.0.7 + string.prototype.trimstart: ^1.0.7 typed-array-buffer: ^1.0.0 typed-array-byte-length: ^1.0.0 typed-array-byte-offset: ^1.0.0 typed-array-length: ^1.0.4 unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.10 - checksum: 614e2c1c3717cb8d30b6128ef12ea110e06fd7d75ad77091ca1c5dbfb00da130e62e4bbbbbdda190eada098a22b27fe0f99ae5a1171dac2c8663b1e8be8a3a9b + which-typed-array: ^1.1.13 + checksum: b1bdc962856836f6e72be10b58dc128282bdf33771c7a38ae90419d920fc3b36cc5d2b70a222ad8016e3fc322c367bf4e9e89fc2bc79b7e933c05b218e83d79a languageName: node linkType: hard @@ -2760,29 +2763,29 @@ __metadata: linkType: hard "es-module-lexer@npm:^1.2.1": - version: 1.3.0 - resolution: "es-module-lexer@npm:1.3.0" - checksum: 48fd9f504a9d2a894126f75c8b7ccc6273a289983e9b67255f165bfd9ae765d50100218251e94e702ca567826905ea2f7b3b4a0c4d74d3ce99cce3a2a606a238 + version: 1.4.1 + resolution: "es-module-lexer@npm:1.4.1" + checksum: a11b5a256d4e8e9c7d94c2fd87415ccd1591617b6edd847e064503f8eaece2d25e2e9078a02c5ce3ed5e83bb748f5b4820efbe78072c8beb07ac619c2edec35d languageName: node linkType: hard "es-set-tostringtag@npm:^2.0.1": - version: 2.0.1 - resolution: "es-set-tostringtag@npm:2.0.1" + version: 2.0.2 + resolution: "es-set-tostringtag@npm:2.0.2" dependencies: - get-intrinsic: ^1.1.3 - has: ^1.0.3 + get-intrinsic: ^1.2.2 has-tostringtag: ^1.0.0 - checksum: ec416a12948cefb4b2a5932e62093a7cf36ddc3efd58d6c58ca7ae7064475ace556434b869b0bbeb0c365f1032a8ccd577211101234b69837ad83ad204fff884 + hasown: ^2.0.0 + checksum: afcec3a4c9890ae14d7ec606204858441c801ff84f312538e1d1ccf1e5493c8b17bd672235df785f803756472cb4f2d49b87bde5237aef33411e74c22f194e07 languageName: node linkType: hard "es-shim-unscopables@npm:^1.0.0": - version: 1.0.0 - resolution: "es-shim-unscopables@npm:1.0.0" + version: 1.0.2 + resolution: "es-shim-unscopables@npm:1.0.2" dependencies: - has: ^1.0.3 - checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 + hasown: ^2.0.0 + checksum: 432bd527c62065da09ed1d37a3f8e623c423683285e6188108286f4a1e8e164a5bcbfbc0051557c7d14633cd2a41ce24c7048e6bbb66a985413fd32f1be72626 languageName: node linkType: hard @@ -2857,7 +2860,7 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.7": +"eslint-import-resolver-node@npm:^0.3.9": version: 0.3.9 resolution: "eslint-import-resolver-node@npm:0.3.9" dependencies: @@ -2881,29 +2884,29 @@ __metadata: linkType: hard "eslint-plugin-import@npm:^2.26.0": - version: 2.28.1 - resolution: "eslint-plugin-import@npm:2.28.1" + version: 2.29.1 + resolution: "eslint-plugin-import@npm:2.29.1" dependencies: - array-includes: ^3.1.6 - array.prototype.findlastindex: ^1.2.2 - array.prototype.flat: ^1.3.1 - array.prototype.flatmap: ^1.3.1 + array-includes: ^3.1.7 + array.prototype.findlastindex: ^1.2.3 + array.prototype.flat: ^1.3.2 + array.prototype.flatmap: ^1.3.2 debug: ^3.2.7 doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.7 + eslint-import-resolver-node: ^0.3.9 eslint-module-utils: ^2.8.0 - has: ^1.0.3 - is-core-module: ^2.13.0 + hasown: ^2.0.0 + is-core-module: ^2.13.1 is-glob: ^4.0.3 minimatch: ^3.1.2 - object.fromentries: ^2.0.6 - object.groupby: ^1.0.0 - object.values: ^1.1.6 + object.fromentries: ^2.0.7 + object.groupby: ^1.0.1 + object.values: ^1.1.7 semver: ^6.3.1 - tsconfig-paths: ^3.14.2 + tsconfig-paths: ^3.15.0 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: e8ae6dd8f06d8adf685f9c1cfd46ac9e053e344a05c4090767e83b63a85c8421ada389807a39e73c643b9bff156715c122e89778169110ed68d6428e12607edf + checksum: e65159aef808136d26d029b71c8c6e4cb5c628e65e5de77f1eb4c13a379315ae55c9c3afa847f43f4ff9df7e54515c77ffc6489c6a6f81f7dd7359267577468c languageName: node linkType: hard @@ -2944,16 +2947,17 @@ __metadata: linkType: hard "eslint@npm:^8.23.1": - version: 8.48.0 - resolution: "eslint@npm:8.48.0" + version: 8.56.0 + resolution: "eslint@npm:8.56.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.6.1 - "@eslint/eslintrc": ^2.1.2 - "@eslint/js": 8.48.0 - "@humanwhocodes/config-array": ^0.11.10 + "@eslint/eslintrc": ^2.1.4 + "@eslint/js": 8.56.0 + "@humanwhocodes/config-array": ^0.11.13 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 + "@ungap/structured-clone": ^1.2.0 ajv: ^6.12.4 chalk: ^4.0.0 cross-spawn: ^7.0.2 @@ -2986,7 +2990,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: f20b359a4f8123fec5c033577368cc020d42978b1b45303974acd8da7a27063168ee3fe297ab5b35327162f6a93154063e3ce6577102f70f9809aff793db9bd0 + checksum: 883436d1e809b4a25d9eb03d42f584b84c408dbac28b0019f6ea07b5177940bf3cca86208f749a6a1e0039b63e085ee47aca1236c30721e91f0deef5cc5a5136 languageName: node linkType: hard @@ -3130,11 +3134,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.15.0 - resolution: "fastq@npm:1.15.0" + version: 1.16.0 + resolution: "fastq@npm:1.16.0" dependencies: reusify: ^1.0.4 - checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a + checksum: 1d40ed1f100ae625e5720484e8602b7ad07649370f1cbc3e34a6b9630a0bfed6946bab0322d8a368a1e3cde87bb9bbb8d3bc2ae01a0c1f022fac1d07c04e4feb languageName: node linkType: hard @@ -3173,6 +3177,15 @@ __metadata: languageName: node linkType: hard +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 + languageName: node + linkType: hard + "filter-obj@npm:^1.1.0": version: 1.1.0 resolution: "filter-obj@npm:1.1.0" @@ -3224,13 +3237,13 @@ __metadata: linkType: hard "flat-cache@npm:^3.0.4": - version: 3.1.0 - resolution: "flat-cache@npm:3.1.0" + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" dependencies: - flatted: ^3.2.7 + flatted: ^3.2.9 keyv: ^4.5.3 rimraf: ^3.0.2 - checksum: 99312601d5b90f44aef403f17f056dc09be7e437703740b166cdc9386d99e681f74e6b6e8bd7d010bda66904ea643c9527276b1b80308a2119741d94108a4d8f + checksum: e7e0f59801e288b54bee5cb9681e9ee21ee28ef309f886b312c9d08415b79fc0f24ac842f84356ce80f47d6a53de62197ce0e6e148dc42d5db005992e2a756ec languageName: node linkType: hard @@ -3250,10 +3263,10 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.7": - version: 3.2.7 - resolution: "flatted@npm:3.2.7" - checksum: 427633049d55bdb80201c68f7eb1cbd533e03eac541f97d3aecab8c5526f12a20ccecaeede08b57503e772c769e7f8680b37e8d482d1e5f8d7e2194687f9ea35 +"flatted@npm:^3.2.9": + version: 3.2.9 + resolution: "flatted@npm:3.2.9" + checksum: f14167fbe26a9d20f6fca8d998e8f1f41df72c8e81f9f2c9d61ed2bea058248f5e1cbd05e7f88c0e5087a6a0b822a1e5e2b446e879f3cfbe0b07ba2d7f80b026 languageName: node linkType: hard @@ -3392,14 +3405,14 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5": +"function.prototype.name@npm:^1.1.6": version: 1.1.6 resolution: "function.prototype.name@npm:1.1.6" dependencies: @@ -3467,15 +3480,15 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1": - version: 1.2.1 - resolution: "get-intrinsic@npm:1.2.1" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": + version: 1.2.2 + resolution: "get-intrinsic@npm:1.2.2" dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 + function-bind: ^1.1.2 has-proto: ^1.0.1 has-symbols: ^1.0.3 - checksum: 5b61d88552c24b0cf6fa2d1b3bc5459d7306f699de060d76442cce49a4721f52b8c560a33ab392cf5575b7810277d54ded9d4d39a1ea61855619ebc005aa7e5f + hasown: ^2.0.0 + checksum: 447ff0724df26829908dc033b62732359596fcf66027bc131ab37984afb33842d9cd458fd6cecadfe7eac22fd8a54b349799ed334cf2726025c921c7250e7417 languageName: node linkType: hard @@ -3583,11 +3596,11 @@ __metadata: linkType: hard "globals@npm:^13.19.0": - version: 13.21.0 - resolution: "globals@npm:13.21.0" + version: 13.24.0 + resolution: "globals@npm:13.24.0" dependencies: type-fest: ^0.20.2 - checksum: 86c92ca8a04efd864c10852cd9abb1ebe6d447dcc72936783e66eaba1087d7dba5c9c3421a48d6ca722c319378754dbcc3f3f732dbe47592d7de908edf58a773 + checksum: 56066ef058f6867c04ff203b8a44c15b038346a62efbc3060052a1016be9f56f4cf0b2cd45b74b22b81e521a889fc7786c73691b0549c2f3a6e825b3d394f43c languageName: node linkType: hard @@ -3681,11 +3694,11 @@ __metadata: linkType: hard "has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" + version: 1.0.1 + resolution: "has-property-descriptors@npm:1.0.1" dependencies: - get-intrinsic: ^1.1.1 - checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + get-intrinsic: ^1.2.2 + checksum: 2bcc6bf6ec6af375add4e4b4ef586e43674850a91ad4d46666d0b28ba8e1fd69e424c7677d24d60f69470ad0afaa2f3197f508b20b0bb7dd99a8ab77ffc4b7c4 languageName: node linkType: hard @@ -3719,15 +3732,6 @@ __metadata: languageName: node linkType: hard -"has@npm:^1.0.3": - version: 1.0.3 - resolution: "has@npm:1.0.3" - dependencies: - function-bind: ^1.1.1 - checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 - languageName: node - linkType: hard - "hash-base@npm:^3.0.0": version: 3.1.0 resolution: "hash-base@npm:3.1.0" @@ -3749,6 +3753,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" + dependencies: + function-bind: ^1.1.2 + checksum: 6151c75ca12554565098641c98a40f4cc86b85b0fd5b6fe92360967e4605a4f9610f7757260b4e8098dd1c2ce7f4b095f2006fe72a570e3b6d2d28de0298c176 + languageName: node + linkType: hard + "hmac-drbg@npm:^1.0.1": version: 1.0.1 resolution: "hmac-drbg@npm:1.0.1" @@ -3841,7 +3854,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.6.2": +"iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -3899,9 +3912,9 @@ __metadata: linkType: hard "ignore@npm:^5.2.0": - version: 5.2.4 - resolution: "ignore@npm:5.2.4" - checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef + version: 5.3.0 + resolution: "ignore@npm:5.3.0" + checksum: 2736da6621f14ced652785cb05d86301a66d70248597537176612bd0c8630893564bd5f6421f8806b09e8472e75c591ef01672ab8059c07c6eb2c09cefe04bf9 languageName: node linkType: hard @@ -4003,13 +4016,13 @@ __metadata: linkType: hard "internal-slot@npm:^1.0.5": - version: 1.0.5 - resolution: "internal-slot@npm:1.0.5" + version: 1.0.6 + resolution: "internal-slot@npm:1.0.6" dependencies: - get-intrinsic: ^1.2.0 - has: ^1.0.3 + get-intrinsic: ^1.2.2 + hasown: ^2.0.0 side-channel: ^1.0.4 - checksum: 97e84046bf9e7574d0956bd98d7162313ce7057883b6db6c5c7b5e5f05688864b0978ba07610c726d15d66544ffe4b1050107d93f8a39ebc59b15d8b429b497a + checksum: 7872454888047553ce97a3fa1da7cc054a28ec5400a9c2e9f4dbe4fe7c1d041cb8e8301467614b80d4246d50377aad2fb58860b294ed74d6700cc346b6f89549 languageName: node linkType: hard @@ -4105,12 +4118,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0": - version: 2.13.0 - resolution: "is-core-module@npm:2.13.0" +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" dependencies: - has: ^1.0.3 - checksum: 053ab101fb390bfeb2333360fd131387bed54e476b26860dc7f5a700bbf34a0ec4454f7c8c4d43e8a0030957e4b3db6e16d35e1890ea6fb654c833095e040355 + hasown: ^2.0.0 + checksum: 256559ee8a9488af90e4bad16f5583c6d59e92f0742e9e8bb4331e758521ee86b810b93bae44f390766ffbc518a0488b18d9dab7da9a5ff997d499efc9403f7c languageName: node linkType: hard @@ -4202,6 +4215,13 @@ __metadata: languageName: node linkType: hard +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a + languageName: node + linkType: hard + "is-obj@npm:^1.0.0": version: 1.0.1 resolution: "is-obj@npm:1.0.1" @@ -4292,7 +4312,7 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.9": version: 1.1.12 resolution: "is-typed-array@npm:1.1.12" dependencies: @@ -4563,6 +4583,9 @@ __metadata: dependencies: "@jupyter-widgets/base": ^2 || ^3 || ^4 || ^5 || ^6 "@jupyterlab/builder": ^4.0.8 + "@types/leaflet": ^1.9.8 + "@types/node": ^20.10.5 + "@types/webpack-env": ^1.18.4 buffer: ^6.0.3 crypto-browserify: ^3.12.0 css-loader: ^3.4.2 @@ -4594,20 +4617,23 @@ __metadata: proj4leaflet: ^1.0.1 protomaps-leaflet: ^1.24.0 rimraf: ^2.6.1 + source-map-loader: ^4.0.1 spin.js: ^4.1.0 stream-browserify: ^3.0.0 style-loader: ^1.1.2 + ts-loader: ^9.5.1 + typescript: ^5.3.3 webpack: ^5 webpack-cli: ^5.1.4 languageName: unknown linkType: soft "keyv@npm:^4.5.3": - version: 4.5.3 - resolution: "keyv@npm:4.5.3" + version: 4.5.4 + resolution: "keyv@npm:4.5.4" dependencies: json-buffer: 3.0.1 - checksum: 3ffb4d5b72b6b4b4af443bbb75ca2526b23c750fccb5ac4c267c6116888b4b65681015c2833cb20d26cf3e6e32dac6b988c77f7f022e1a571b7d90f1442257da + checksum: 74a24395b1c34bd44ad5cb2b49140d087553e170625240b86755a6604cd65aa16efdbdeae5cdb17ba1284a0fbb25ad06263755dbc71b8d8b06f74232ce3cdd72 languageName: node linkType: hard @@ -4767,15 +4793,15 @@ __metadata: languageName: node linkType: hard -"lib0@npm:^0.2.42, lib0@npm:^0.2.74": - version: 0.2.83 - resolution: "lib0@npm:0.2.83" +"lib0@npm:^0.2.85, lib0@npm:^0.2.86": + version: 0.2.88 + resolution: "lib0@npm:0.2.88" dependencies: isomorphic.js: ^0.2.4 bin: 0gentesthtml: bin/gentesthtml.js 0serve: bin/0serve.js - checksum: 2c05609146b25c14a72c99683f6f71e10c74b60be39618f25117d3f03a2435b6d6219876641fa019fe1acde7fdfa75dc3eb3a23e37c9ae30eae7be05225e2263 + checksum: 1ac13d6781f4d29aa317ad9fb9b6c41e8bed52b096a369f54d10d9b8651ceb4a0a63b06c01c2e1c7319d3bb74668afb6cac3735161b32031f185cec024bbba37 languageName: node linkType: hard @@ -5282,6 +5308,16 @@ __metadata: languageName: node linkType: hard +"micromatch@npm:^4.0.0": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: ^3.0.2 + picomatch: ^2.3.1 + checksum: 02a17b671c06e8fefeeb6ef996119c1e597c942e632a21ef589154f23898c9c6a9858526246abb14f8bca6e77734aa9dcf65476fca47cedfb80d9577d52843fc + languageName: node + linkType: hard + "miller-rabin@npm:^4.0.0": version: 4.0.1 resolution: "miller-rabin@npm:4.0.1" @@ -5376,12 +5412,12 @@ __metadata: languageName: node linkType: hard -"minipass-collect@npm:^1.0.2": - version: 1.0.2 - resolution: "minipass-collect@npm:1.0.2" +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" dependencies: - minipass: ^3.0.0 - checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + minipass: ^7.0.3 + checksum: b251bceea62090f67a6cced7a446a36f4cd61ee2d5cea9aee7fff79ba8030e416327a1c5aa2908dc22629d06214b46d88fdab8c51ac76bacbf5703851b5ad342 languageName: node linkType: hard @@ -5570,12 +5606,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.6": - version: 3.3.6 - resolution: "nanoid@npm:3.3.6" +"nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" bin: nanoid: bin/nanoid.cjs - checksum: 7d0eda657002738aa5206107bd0580aead6c95c460ef1bdd0b1a87a9c7ae6277ac2e9b945306aaa5b32c6dcb7feaf462d0f552e7f8b5718abfc6ead5c94a71b3 + checksum: d36c427e530713e4ac6567d488b489a36582ef89da1d6d4e3b87eded11eb10d7042a877958c6f104929809b2ab0bafa17652b076cdf84324aa75b30b722204f2 languageName: node linkType: hard @@ -5659,10 +5695,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.13": - version: 2.0.13 - resolution: "node-releases@npm:2.0.13" - checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 59443a2f77acac854c42d321bf1b43dea0aef55cd544c6a686e9816a697300458d4e82239e2d794ea05f7bbbc8a94500332e2d3ac3f11f52e4b16cbe638b3c41 languageName: node linkType: hard @@ -6037,10 +6073,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db +"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f languageName: node linkType: hard @@ -6052,18 +6088,18 @@ __metadata: linkType: hard "object.assign@npm:^4.1.4": - version: 4.1.4 - resolution: "object.assign@npm:4.1.4" + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 + call-bind: ^1.0.5 + define-properties: ^1.2.1 has-symbols: ^1.0.3 object-keys: ^1.1.1 - checksum: 76cab513a5999acbfe0ff355f15a6a125e71805fcf53de4e9d4e082e1989bdb81d1e329291e1e4e0ae7719f0e4ef80e88fb2d367ae60500d79d25a6224ac8864 + checksum: f9aeac0541661370a1fc86e6a8065eb1668d3e771f7dbb33ee54578201336c057b21ee61207a186dd42db0c62201d91aac703d20d12a79fc79c353eed44d4e25 languageName: node linkType: hard -"object.fromentries@npm:^2.0.6": +"object.fromentries@npm:^2.0.7": version: 2.0.7 resolution: "object.fromentries@npm:2.0.7" dependencies: @@ -6087,7 +6123,7 @@ __metadata: languageName: node linkType: hard -"object.groupby@npm:^1.0.0": +"object.groupby@npm:^1.0.1": version: 1.0.1 resolution: "object.groupby@npm:1.0.1" dependencies: @@ -6099,7 +6135,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6": +"object.values@npm:^1.1.7": version: 1.1.7 resolution: "object.values@npm:1.1.7" dependencies: @@ -6304,7 +6340,7 @@ __metadata: languageName: node linkType: hard -"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.5": +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.6": version: 5.1.6 resolution: "parse-asn1@npm:5.1.6" dependencies: @@ -6448,6 +6484,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf + languageName: node + linkType: hard + "pidtree@npm:^0.3.0": version: 0.3.1 resolution: "pidtree@npm:0.3.1" @@ -6611,13 +6654,13 @@ __metadata: linkType: hard "postcss@npm:^8.4.21": - version: 8.4.31 - resolution: "postcss@npm:8.4.31" + version: 8.4.32 + resolution: "postcss@npm:8.4.32" dependencies: - nanoid: ^3.3.6 + nanoid: ^3.3.7 picocolors: ^1.0.0 source-map-js: ^1.0.2 - checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea + checksum: 220d9d0bf5d65be7ed31006c523bfb11619461d296245c1231831f90150aeb4a31eab9983ac9c5c89759a3ca8b60b3e0d098574964e1691673c3ce5c494305ae languageName: node linkType: hard @@ -6673,12 +6716,12 @@ __metadata: linkType: hard "proj4@npm:^2.3.14, proj4@npm:^2.6.0": - version: 2.9.0 - resolution: "proj4@npm:2.9.0" + version: 2.9.2 + resolution: "proj4@npm:2.9.2" dependencies: mgrs: 1.0.0 - wkt-parser: ^1.3.1 - checksum: b907be4821ddfabf779e57cd008ec062aa2ed033525c867c820b98492291871ef8a7a45cd2ee939f3bcb53cb89142b18a50af55d4e2748af272e62a194e49aa7 + wkt-parser: ^1.3.3 + checksum: 7791a112da4ca1de5b72c373820e0cbdd2a0e639736218769d4423913d069a00065ba95f7bd39ed55a435a48b6cbf5caea898b236bb1262293a35f69233e5294 languageName: node linkType: hard @@ -6836,9 +6879,9 @@ __metadata: linkType: hard "punycode@npm:^2.1.0, punycode@npm:^2.1.1": - version: 2.3.0 - resolution: "punycode@npm:2.3.0" - checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2 languageName: node linkType: hard @@ -7032,7 +7075,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -7076,14 +7119,14 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.0": - version: 1.5.0 - resolution: "regexp.prototype.flags@npm:1.5.0" +"regexp.prototype.flags@npm:^1.5.1": + version: 1.5.1 + resolution: "regexp.prototype.flags@npm:1.5.1" dependencies: call-bind: ^1.0.2 define-properties: ^1.2.0 - functions-have-names: ^1.2.3 - checksum: c541687cdbdfff1b9a07f6e44879f82c66bbf07665f9a7544c5fd16acdb3ec8d1436caab01662d2fbcad403f3499d49ab0b77fbc7ef29ef961d98cc4bc9755b4 + set-function-name: ^2.0.0 + checksum: 869edff00288442f8d7fa4c9327f91d85f3b3acf8cbbef9ea7a220345cf23e9241b6def9263d2c1ebcf3a316b0aa52ad26a43a84aa02baca3381717b3e307f47 languageName: node linkType: hard @@ -7194,20 +7237,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.22.4": - version: 1.22.4 - resolution: "resolve@npm:1.22.4" - dependencies: - is-core-module: ^2.13.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 23f25174c2736ce24c6d918910e0d1f89b6b38fefa07a995dff864acd7863d59a7f049e691f93b4b2ee29696303390d921552b6d1b841ed4a8101f517e1d0124 - languageName: node - linkType: hard - -"resolve@npm:^1.20.0": +"resolve@npm:^1.10.0, resolve@npm:^1.20.0, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -7220,20 +7250,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.22.4#~builtin": - version: 1.22.4 - resolution: "resolve@patch:resolve@npm%3A1.22.4#~builtin::version=1.22.4&hash=c3c19d" - dependencies: - is-core-module: ^2.13.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: c45f2545fdc4d21883861b032789e20aa67a2f2692f68da320cc84d5724cd02f2923766c5354b3210897e88f1a7b3d6d2c7c22faeead8eed7078e4c783a444bc - languageName: node - linkType: hard - -"resolve@patch:resolve@^1.20.0#~builtin": +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.4#~builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -7317,7 +7334,7 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.0.0": +"safe-array-concat@npm:^1.0.0, safe-array-concat@npm:^1.0.1": version: 1.0.1 resolution: "safe-array-concat@npm:1.0.1" dependencies: @@ -7422,7 +7439,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.3.8": +"semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.8": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -7449,6 +7466,29 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.1.1": + version: 1.1.1 + resolution: "set-function-length@npm:1.1.1" + dependencies: + define-data-property: ^1.1.1 + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: c131d7569cd7e110cafdfbfbb0557249b538477624dfac4fc18c376d879672fa52563b74029ca01f8f4583a8acb35bb1e873d573a24edb80d978a7ee607c6e06 + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.0": + version: 2.0.1 + resolution: "set-function-name@npm:2.0.1" + dependencies: + define-data-property: ^1.0.1 + functions-have-names: ^1.2.3 + has-property-descriptors: ^1.0.0 + checksum: 4975d17d90c40168eee2c7c9c59d023429f0a1690a89d75656306481ece0c3c1fb1ebcc0150ea546d1913e35fbd037bace91372c69e543e51fc5d1f31a9fa126 + languageName: node + linkType: hard + "sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": version: 2.4.11 resolution: "sha.js@npm:2.4.11" @@ -7629,6 +7669,19 @@ __metadata: languageName: node linkType: hard +"source-map-loader@npm:^4.0.1": + version: 4.0.1 + resolution: "source-map-loader@npm:4.0.1" + dependencies: + abab: ^2.0.6 + iconv-lite: ^0.6.3 + source-map-js: ^1.0.2 + peerDependencies: + webpack: ^5.72.1 + checksum: 4ddca8b03dc61f406effd4bffe70de4b87fef48bae6f737017b2dabcbc7d609133325be1e73838e9265331de28039111d729fcbb8bce88a6018a816bef510eb1 + languageName: node + linkType: hard + "source-map-loader@npm:~1.0.2": version: 1.0.2 resolution: "source-map-loader@npm:1.0.2" @@ -7661,6 +7714,13 @@ __metadata: languageName: node linkType: hard +"source-map@npm:^0.7.4": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5 + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.2.0 resolution: "spdx-correct@npm:3.2.0" @@ -7689,9 +7749,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.13 - resolution: "spdx-license-ids@npm:3.0.13" - checksum: 3469d85c65f3245a279fa11afc250c3dca96e9e847f2f79d57f466940c5bb8495da08a542646086d499b7f24a74b8d0b42f3fc0f95d50ff99af1f599f6360ad7 + version: 3.0.16 + resolution: "spdx-license-ids@npm:3.0.16" + checksum: 5cdaa85aaa24bd02f9353a2e357b4df0a4f205cb35655f3fd0a5674a4fb77081f28ffd425379214bc3be2c2b7593ce1215df6bcc75884aeee0a9811207feabe2 languageName: node linkType: hard @@ -7710,8 +7770,8 @@ __metadata: linkType: hard "sshpk@npm:^1.7.0": - version: 1.17.0 - resolution: "sshpk@npm:1.17.0" + version: 1.18.0 + resolution: "sshpk@npm:1.18.0" dependencies: asn1: ~0.2.3 assert-plus: ^1.0.0 @@ -7726,7 +7786,7 @@ __metadata: sshpk-conv: bin/sshpk-conv sshpk-sign: bin/sshpk-sign sshpk-verify: bin/sshpk-verify - checksum: ba109f65c8e6c35133b8e6ed5576abeff8aa8d614824b7275ec3ca308f081fef483607c28d97780c1e235818b0f93ed8c8b56d0a5968d5a23fd6af57718c7597 + checksum: 01d43374eee3a7e37b3b82fdbecd5518cbb2e47ccbed27d2ae30f9753f22bd6ffad31225cb8ef013bc3fb7785e686cea619203ee1439a228f965558c367c3cfa languageName: node linkType: hard @@ -7857,7 +7917,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.7": +"string.prototype.trim@npm:^1.2.8": version: 1.2.8 resolution: "string.prototype.trim@npm:1.2.8" dependencies: @@ -7868,7 +7928,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.6": +"string.prototype.trimend@npm:^1.0.7": version: 1.0.7 resolution: "string.prototype.trimend@npm:1.0.7" dependencies: @@ -7879,7 +7939,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.6": +"string.prototype.trimstart@npm:^1.0.7": version: 1.0.7 resolution: "string.prototype.trimstart@npm:1.0.7" dependencies: @@ -8118,8 +8178,8 @@ __metadata: linkType: hard "terser@npm:^5.16.8": - version: 5.19.4 - resolution: "terser@npm:5.19.4" + version: 5.26.0 + resolution: "terser@npm:5.26.0" dependencies: "@jridgewell/source-map": ^0.3.3 acorn: ^8.8.2 @@ -8127,7 +8187,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 09273ce7d3fbe8fea0ec2603ad1c06cc304838bdac42bbfe77835b0b0b6c4a894054575ca518fe16c95d5c401574a8c703f4fde97da45f1c972ea568e6ecafda + checksum: 02a9bb896f04df828025af8f0eced36c315d25d310b6c2418e7dad2bed19ddeb34a9cea9b34e7c24789830fa51e1b6a9be26679980987a9c817a7e6d9cd4154b languageName: node linkType: hard @@ -8176,6 +8236,15 @@ __metadata: languageName: node linkType: hard +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: f76fa01b3d5be85db6a2a143e24df9f60dd047d151062d0ba3df62953f2f697b16fe5dad9b0ac6191c7efc7b1d9dcaa4b768174b7b29da89d4428e64bc0a20ed + languageName: node + linkType: hard + "topojson-client@npm:^2.1.0": version: 2.1.0 resolution: "topojson-client@npm:2.1.0" @@ -8208,15 +8277,31 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.2": - version: 3.14.2 - resolution: "tsconfig-paths@npm:3.14.2" +"ts-loader@npm:^9.5.1": + version: 9.5.1 + resolution: "ts-loader@npm:9.5.1" + dependencies: + chalk: ^4.1.0 + enhanced-resolve: ^5.0.0 + micromatch: ^4.0.0 + semver: ^7.3.4 + source-map: ^0.7.4 + peerDependencies: + typescript: "*" + webpack: ^5.0.0 + checksum: 7cf396e656d905388ea2a9b5e82f16d3c955fda8d3df2fbf219f4bee16ff50a3c995c44ae3e584634e9443f056cec70bb3151add3917ffb4588ecd7394bac0ec + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.15.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" dependencies: "@types/json5": ^0.0.29 json5: ^1.0.2 minimist: ^1.2.6 strip-bom: ^3.0.0 - checksum: a6162eaa1aed680537f93621b82399c7856afd10ec299867b13a0675e981acac4e0ec00896860480efc59fc10fd0b16fdc928c0b885865b52be62cadac692447 + checksum: 59f35407a390d9482b320451f52a411a256a130ff0e7543d18c6f20afab29ac19fbe55c360a93d6476213cc335a4d76ce90f67df54c4e9037f7d240920832201 languageName: node linkType: hard @@ -8306,6 +8391,26 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.3.3": + version: 5.3.3 + resolution: "typescript@npm:5.3.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 2007ccb6e51bbbf6fde0a78099efe04dc1c3dfbdff04ca3b6a8bc717991862b39fd6126c0c3ebf2d2d98ac5e960bcaa873826bb2bb241f14277034148f41f6a2 + languageName: node + linkType: hard + +"typescript@patch:typescript@^5.3.3#~builtin": + version: 5.3.3 + resolution: "typescript@patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=85af82" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: f61375590b3162599f0f0d5b8737877ac0a7bc52761dbb585d67e7b8753a3a4c42d9a554c4cc929f591ffcf3a2b0602f65ae3ce74714fd5652623a816862b610 + languageName: node + linkType: hard + "uid-number@npm:0.0.6": version: 0.0.6 resolution: "uid-number@npm:0.0.6" @@ -8346,6 +8451,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 3192ef6f3fd5df652f2dc1cd782b49d6ff14dc98e5dced492aa8a8c65425227da5da6aafe22523c67f035a272c599bb89cfe803c1db6311e44bed3042fc25487 + languageName: node + linkType: hard + "unique-filename@npm:^1.1.1": version: 1.1.1 resolution: "unique-filename@npm:1.1.1" @@ -8392,9 +8504,9 @@ __metadata: linkType: hard "universalify@npm:^2.0.0": - version: 2.0.0 - resolution: "universalify@npm:2.0.0" - checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: ecd8469fe0db28e7de9e5289d32bd1b6ba8f7183db34f3bfc4ca53c49891c2d6aa05f3fb3936a81285a905cc509fb641a0c3fc131ec786167eff41236ae32e60 languageName: node linkType: hard @@ -8412,9 +8524,9 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.11": - version: 1.0.11 - resolution: "update-browserslist-db@npm:1.0.11" +"update-browserslist-db@npm:^1.0.13": + version: 1.0.13 + resolution: "update-browserslist-db@npm:1.0.13" dependencies: escalade: ^3.1.1 picocolors: ^1.0.0 @@ -8422,7 +8534,7 @@ __metadata: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: b98327518f9a345c7cad5437afae4d2ae7d865f9779554baf2a200fdf4bac4969076b679b1115434bd6557376bdd37ca7583d0f9b8f8e302d7d4cc1e91b5f231 + checksum: 1e47d80182ab6e4ad35396ad8b61008ae2a1330221175d0abd37689658bdb61af9b705bfc41057fd16682474d79944fb2d86767c5ed5ae34b6276b9bed353322 languageName: node linkType: hard @@ -8641,17 +8753,7 @@ __metadata: languageName: node linkType: hard -"webpack-merge@npm:^5.7.3": - version: 5.9.0 - resolution: "webpack-merge@npm:5.9.0" - dependencies: - clone-deep: ^4.0.1 - wildcard: ^2.0.0 - checksum: 64fe2c23aacc5f19684452a0e84ec02c46b990423aee6fcc5c18d7d471155bd14e9a6adb02bd3656eb3e0ac2532c8e97d69412ad14c97eeafe32fa6d10050872 - languageName: node - linkType: hard - -"webpack-merge@npm:^5.8.0": +"webpack-merge@npm:^5.7.3, webpack-merge@npm:^5.8.0": version: 5.10.0 resolution: "webpack-merge@npm:5.10.0" dependencies: @@ -8679,44 +8781,7 @@ __metadata: languageName: node linkType: hard -"webpack@npm:^5": - version: 5.88.2 - resolution: "webpack@npm:5.88.2" - dependencies: - "@types/eslint-scope": ^3.7.3 - "@types/estree": ^1.0.0 - "@webassemblyjs/ast": ^1.11.5 - "@webassemblyjs/wasm-edit": ^1.11.5 - "@webassemblyjs/wasm-parser": ^1.11.5 - acorn: ^8.7.1 - acorn-import-assertions: ^1.9.0 - browserslist: ^4.14.5 - chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.15.0 - es-module-lexer: ^1.2.1 - eslint-scope: 5.1.1 - events: ^3.2.0 - glob-to-regexp: ^0.4.1 - graceful-fs: ^4.2.9 - json-parse-even-better-errors: ^2.3.1 - loader-runner: ^4.2.0 - mime-types: ^2.1.27 - neo-async: ^2.6.2 - schema-utils: ^3.2.0 - tapable: ^2.1.1 - terser-webpack-plugin: ^5.3.7 - watchpack: ^2.4.0 - webpack-sources: ^3.2.3 - peerDependenciesMeta: - webpack-cli: - optional: true - bin: - webpack: bin/webpack.js - checksum: 79476a782da31a21f6dd38fbbd06b68da93baf6a62f0d08ca99222367f3b8668f5a1f2086b7bb78e23172e31fa6df6fa7ab09b25e827866c4fc4dc2b30443ce2 - languageName: node - linkType: hard - -"webpack@npm:^5.76.1": +"webpack@npm:^5, webpack@npm:^5.76.1": version: 5.89.0 resolution: "webpack@npm:5.89.0" dependencies: @@ -8798,16 +8863,16 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.10, which-typed-array@npm:^1.1.11": - version: 1.1.11 - resolution: "which-typed-array@npm:1.1.11" +"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.13": + version: 1.1.13 + resolution: "which-typed-array@npm:1.1.13" dependencies: available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 + call-bind: ^1.0.4 for-each: ^0.3.3 gopd: ^1.0.1 has-tostringtag: ^1.0.0 - checksum: 711ffc8ef891ca6597b19539075ec3e08bb9b4c2ca1f78887e3c07a977ab91ac1421940505a197758fb5939aa9524976d0a5bbcac34d07ed6faa75cedbb17206 + checksum: 3828a0d5d72c800e369d447e54c7620742a4cc0c9baf1b5e8c17e9b6ff90d8d861a3a6dd4800f1953dbf80e5e5cec954a289e5b4a223e3bee4aeb1f8c5f33309 languageName: node linkType: hard @@ -8869,7 +8934,7 @@ __metadata: languageName: node linkType: hard -"wkt-parser@npm:^1.3.1": +"wkt-parser@npm:^1.3.3": version: 1.3.3 resolution: "wkt-parser@npm:1.3.3" checksum: b001a7e8b83c1af66f4a1bc56d5041858191b13a530af20d80dda80de92ed672bec30c3528893480ad3ef03edf845e8e9962c79c77eae860530c99afd59ff94c @@ -8949,8 +9014,8 @@ __metadata: linkType: hard "ws@npm:^8.11.0": - version: 8.14.0 - resolution: "ws@npm:8.14.0" + version: 8.15.1 + resolution: "ws@npm:8.15.1" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -8959,7 +9024,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: dd91d055396c42552d8e2d26a0ab10221e73ca356de3db9109e337b8d9df216a0a308ace46a5e0520ed18ffcae3f54c2fa45a96711f94a063c816ef13a30b700 + checksum: 8c67365f6e6134278ad635d558bfce466d7ef7543a043baea333aaa430429f0af8a130c0c36e7dd78f918d68167a659ba9b5067330b77c4b279e91533395952b languageName: node linkType: hard @@ -8978,11 +9043,13 @@ __metadata: linkType: hard "y-protocols@npm:^1.0.5": - version: 1.0.5 - resolution: "y-protocols@npm:1.0.5" + version: 1.0.6 + resolution: "y-protocols@npm:1.0.6" dependencies: - lib0: ^0.2.42 - checksum: d19404a4ebafcf3761c28b881abe8c32ab6e457db0e5ffc7dbb749cbc2c3bb98e003a43f3e8eba7f245b2698c76f2c4cdd1c2db869f8ec0c6ef94736d9a88652 + lib0: ^0.2.85 + peerDependencies: + yjs: ^13.0.0 + checksum: 4b57c8811befcf2e45c3d47830005f8a33e626c734f78a42fe8a4fa3caad2233ba85a7c8bceefbd52ffc40130d3f3faee664fd0d1c324ff1fa8817a056ccdc1c languageName: node linkType: hard @@ -9044,11 +9111,11 @@ __metadata: linkType: hard "yjs@npm:^13.5.40": - version: 13.6.7 - resolution: "yjs@npm:13.6.7" + version: 13.6.10 + resolution: "yjs@npm:13.6.10" dependencies: - lib0: ^0.2.74 - checksum: 8e89257c8b565ab97cf3354fca2ce0b6bc3d1abe90b9d45a218a94b35da372c88d2411b353ed8ca03a6619004c4da76c96f7c203c38506c3758c9f8c1a730ca4 + lib0: ^0.2.86 + checksum: 027adf7fb6739debc44fa1a74f5e87248e026c582b65872c0a1b26aca0110f7a04605f77a38643ea562b9165d6c84e7a9311407e01a07870ebdafce008fc7ba4 languageName: node linkType: hard