From a3f81bb6476b36a34a20359c97046c3a75b3ecdd Mon Sep 17 00:00:00 2001 From: Igor Dykhta Date: Wed, 14 Dec 2022 11:59:26 +0200 Subject: [PATCH] [chore]: deck bump; remove external deck types; adjust typings (#822) * deck bump; remove ex types; adjust typings * migrate to ts-expect-error; fix ts issues; more deck bump fixes Signed-off-by: Ihor Dykhta * more ts fixes Signed-off-by: Ihor Dykhta * fix examples Signed-off-by: Ihor Dykhta Signed-off-by: Ihor Dykhta Co-authored-by: Alexander CherryTea --- examples/advanced/package.json | 10 +- .../codesandbox/getting-started/package.json | 4 +- .../codesandbox/world-heritage/package.json | 4 +- .../editable-h3-cluster-layer/package.json | 12 +- examples/editor/package.json | 16 +- examples/no-map/package.json | 6 +- examples/overlays/package.json | 4 +- examples/sf/example.tsx | 4 +- examples/sf/package.json | 17 +- .../lib/draw-ellipse-by-bounding-box-mode.ts | 2 +- .../draw-ellipse-using-three-points-mode.ts | 2 +- .../src/lib/draw-line-string-mode.ts | 13 +- modules/edit-modes/src/lib/draw-point-mode.ts | 6 +- .../src/lib/draw-polygon-by-dragging-mode.ts | 6 +- .../edit-modes/src/lib/draw-polygon-mode.ts | 7 +- .../lib/draw-rectangle-from-center-mode.ts | 2 +- .../edit-modes/src/lib/draw-rectangle-mode.ts | 2 +- .../src/lib/draw-square-from-center-mode.ts | 2 +- .../edit-modes/src/lib/draw-square-mode.ts | 2 +- modules/edit-modes/src/lib/elevation-mode.ts | 4 +- .../src/lib/extend-line-string-mode.ts | 6 +- .../edit-modes/src/lib/geojson-edit-mode.ts | 16 +- .../edit-modes/src/lib/measure-angle-mode.ts | 4 +- .../edit-modes/src/lib/measure-area-mode.ts | 4 +- .../src/lib/measure-distance-mode.ts | 15 +- modules/edit-modes/src/lib/modify-mode.ts | 2 +- .../edit-modes/src/lib/resize-circle-mode.ts | 2 +- modules/edit-modes/src/lib/rotate-mode.ts | 24 +- modules/edit-modes/src/lib/scale-mode.ts | 15 +- .../edit-modes/src/lib/split-polygon-mode.ts | 17 +- modules/edit-modes/src/lib/transform-mode.ts | 3 +- modules/edit-modes/src/lib/translate-mode.ts | 2 +- modules/edit-modes/src/types.ts | 6 +- modules/editor/src/lib/exporter.ts | 9 +- modules/editor/src/lib/importer.ts | 14 +- modules/layers/package.json | 15 +- .../src/layers/editable-geojson-layer.ts | 82 +- .../src/layers/editable-h3-cluster-layer.ts | 8 +- modules/layers/src/layers/editable-layer.ts | 52 +- .../layers/src/layers/editable-path-layer.ts | 2 +- .../src/layers/elevated-edit-handle-layer.ts | 4 +- .../src/layers/junction-scatterplot-layer.ts | 22 +- .../path-marker-layer/create-path-markers.ts | 5 +- .../path-marker-layer/path-marker-layer.ts | 57 +- .../src/layers/path-marker-layer/polyline.ts | 4 +- .../path-outline-layer/path-outline-layer.ts | 35 +- modules/layers/src/layers/selection-layer.ts | 23 +- .../draw-90degree-polygon-handler.ts | 4 +- .../draw-ellipse-by-bounding-box-handler.ts | 2 +- ...draw-ellipse-using-three-points-handler.ts | 2 +- .../src/mode-handlers/draw-point-handler.ts | 5 +- .../src/mode-handlers/draw-polygon-handler.ts | 4 +- .../mode-handlers/draw-rectangle-handler.ts | 3 +- .../src/mode-handlers/elevation-handler.ts | 4 +- .../layers/src/mode-handlers/mode-handler.ts | 10 +- .../src/mode-handlers/modify-handler.ts | 2 +- .../src/mode-handlers/rotate-handler.ts | 9 +- .../layers/src/mode-handlers/scale-handler.ts | 13 +- .../src/mode-handlers/snappable-handler.ts | 6 +- .../mode-handlers/split-polygon-handler.ts | 15 +- .../src/mode-handlers/translate-handler.ts | 5 +- modules/main/package.json | 14 +- .../main/src/lib/deck-renderer/deck-drawer.ts | 27 +- modules/main/src/lib/feature.ts | 2 +- .../main/src/lib/layers/junctions-layer.ts | 2 +- modules/main/src/lib/layers/segments-layer.ts | 2 +- modules/main/src/lib/layers/texts-layer.ts | 13 +- modules/main/src/lib/nebula-layer.ts | 1 - modules/main/src/lib/nebula.ts | 14 +- modules/main/src/lib/utils.ts | 2 +- .../src/edit-modes/base-mode.ts | 5 +- .../src/edit-modes/editing-mode.ts | 37 +- .../react-map-gl-draw/src/edit-modes/utils.ts | 11 +- package.json | 28 +- scripts/copyDeckglTypes.sh | 34 - website/package.json | 12 +- yarn.lock | 1372 +++++++++++------ 77 files changed, 1297 insertions(+), 936 deletions(-) delete mode 100755 scripts/copyDeckglTypes.sh diff --git a/examples/advanced/package.json b/examples/advanced/package.json index c4fb0ed44..cab2fe201 100644 --- a/examples/advanced/package.json +++ b/examples/advanced/package.json @@ -1,5 +1,5 @@ { - "name": "example-advance", + "name": "example-advanced", "private": true, "version": "1.0.4", "scripts": { @@ -8,10 +8,10 @@ "types-check": "tsc --noEmit" }, "dependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/layers": "^8.6.0", - "@deck.gl/mesh-layers": "^8.6.0", - "@deck.gl/react": "^8.6.0", + "@deck.gl/core": "^8.8.17", + "@deck.gl/layers": "^8.8.17", + "@deck.gl/mesh-layers": "^8.8.17", + "@deck.gl/react": "^8.8.17", "react": "^16.13.1", "react-dom": "^16.13.1", "react-map-gl": "^5.2.1", diff --git a/examples/codesandbox/getting-started/package.json b/examples/codesandbox/getting-started/package.json index 053f59b43..55ad71f47 100644 --- a/examples/codesandbox/getting-started/package.json +++ b/examples/codesandbox/getting-started/package.json @@ -1,7 +1,7 @@ { "dependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/react": "^8.6.0", + "@deck.gl/core": "^8.8.17", + "@deck.gl/react": "^8.8.17", "@nebula.gl/overlays": "0.12.0", "@turf/helpers": "6.1.4", "global": "4.3.2", diff --git a/examples/codesandbox/world-heritage/package.json b/examples/codesandbox/world-heritage/package.json index 7d75de12e..9ddaef507 100644 --- a/examples/codesandbox/world-heritage/package.json +++ b/examples/codesandbox/world-heritage/package.json @@ -1,7 +1,7 @@ { "dependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/react": "^8.6.0", + "@deck.gl/core": "^8.8.17", + "@deck.gl/react": "^8.8.17", "@nebula.gl/overlays": "^0.18.4", "@turf/helpers": "6.1.4", "global": "4.3.2", diff --git a/examples/editable-h3-cluster-layer/package.json b/examples/editable-h3-cluster-layer/package.json index 66bfa21fe..372b60e48 100644 --- a/examples/editable-h3-cluster-layer/package.json +++ b/examples/editable-h3-cluster-layer/package.json @@ -4,12 +4,12 @@ "start-local": "webpack-dev-server --env.local --progress --hot --open" }, "dependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/layers": "^8.6.0", - "@deck.gl/geo-layers": "^8.6.0", - "@deck.gl/extensions": "^8.6.0", - "@deck.gl/mesh-layers": "^8.6.0", - "@deck.gl/react": "^8.6.0", + "@deck.gl/core": "^8.8.17", + "@deck.gl/layers": "^8.8.17", + "@deck.gl/geo-layers": "^8.8.17", + "@deck.gl/extensions": "^8.8.17", + "@deck.gl/mesh-layers": "^8.8.17", + "@deck.gl/react": "^8.8.17", "global": "4.3.2", "react": "16.8.6", "react-dom": "16.8.6", diff --git a/examples/editor/package.json b/examples/editor/package.json index 5f6cdb852..d5eea8d66 100644 --- a/examples/editor/package.json +++ b/examples/editor/package.json @@ -4,12 +4,12 @@ "start-local": "webpack-dev-server --env.local --progress --hot --open" }, "dependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/layers": "^8.6.0", - "@deck.gl/geo-layers": "^8.6.0", - "@deck.gl/extensions": "^8.6.0", - "@deck.gl/mesh-layers": "^8.6.0", - "@deck.gl/react": "^8.6.0", + "@deck.gl/core": "^8.8.17", + "@deck.gl/layers": "^8.8.17", + "@deck.gl/geo-layers": "^8.8.17", + "@deck.gl/extensions": "^8.8.17", + "@deck.gl/mesh-layers": "^8.8.17", + "@deck.gl/react": "^8.8.17", "react": "^16.8.0", "react-dom": "^16.4.2", "react-map-gl": "^5.2.1" @@ -18,8 +18,8 @@ "@babel/core": "^7.0.0", "@babel/plugin-proposal-class-properties": "^7.0.0", "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", + "@babel/preset-env": "^7.9.0", + "@babel/preset-react": "^7.9.0", "babel-loader": "^8.0.0", "html-webpack-plugin": "^3.2.0", "url-loader": "^1.0.1", diff --git a/examples/no-map/package.json b/examples/no-map/package.json index e13dc5183..129655bac 100644 --- a/examples/no-map/package.json +++ b/examples/no-map/package.json @@ -4,9 +4,9 @@ "start-local": "webpack-dev-server --env.local --progress --hot --open" }, "dependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/layers": "^8.6.0", - "@deck.gl/react": "^8.6.0", + "@deck.gl/core": "^8.8.17", + "@deck.gl/layers": "^8.8.17", + "@deck.gl/react": "^8.8.17", "react": "^16.0.0", "react-dom": "^16.4.2", "react-map-gl": "^3.3.4" diff --git a/examples/overlays/package.json b/examples/overlays/package.json index 080290508..7e8156321 100644 --- a/examples/overlays/package.json +++ b/examples/overlays/package.json @@ -4,8 +4,8 @@ "start-local": "webpack-dev-server --env.local --progress --hot --open" }, "dependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/react": "^8.6.0", + "@deck.gl/core": "^8.8.17", + "@deck.gl/react": "^8.8.17", "nebula.gl": "^0.5.1", "nebula.gl-react": "^0.5.1", "react": "^16.0.0", diff --git a/examples/sf/example.tsx b/examples/sf/example.tsx index 86ef8cd0b..7f5a26729 100644 --- a/examples/sf/example.tsx +++ b/examples/sf/example.tsx @@ -4,7 +4,7 @@ import { StaticMap } from 'react-map-gl'; import CSS from 'csstype'; import DeckGL from '@deck.gl/react'; -import { WebMercatorViewport } from '@deck.gl/core'; +import { WebMercatorViewport } from '@deck.gl/core/typed'; import { TextLayer } from '@deck.gl/layers'; import { @@ -235,6 +235,7 @@ export default class Example extends React.Component< viewState = Object.assign(viewState, { height, width }); const editableGeoJsonLayer = new EditableGeoJsonLayer({ + // @ts-expect-error according to docs FeatureCollection should be valid type here data: this.state.testFeatures, selectedFeatureIndexes, pickable: true, @@ -294,6 +295,7 @@ export default class Example extends React.Component< const nebulaLayers = [segmentsLayer]; const deckLayers = this.nebula.updateAndGetRenderedLayers( nebulaLayers, + // @ts-expect-error outdated nebula.gl-react? new WebMercatorViewport(viewState), this ); diff --git a/examples/sf/package.json b/examples/sf/package.json index b61c771d3..9145013cd 100644 --- a/examples/sf/package.json +++ b/examples/sf/package.json @@ -4,14 +4,15 @@ "start-local": "webpack-dev-server --env.local --progress --hot --open" }, "dependencies": { - "@deck.gl/core": "8.6.0", - "@deck.gl/layers": "8.6.0", - "@deck.gl/react": "8.6.0", - "@luma.gl/constants": "8.5.10", - "@luma.gl/core": "8.5.10", - "nebula.gl": "^v1.0.2-alpha.0", - "@nebula.gl/edit-modes": "^v1.0.2-alpha.0", - "@nebula.gl/layers": "^v1.0.2-alpha.0", + "@deck.gl/core": "8.8.17", + "@deck.gl/layers": "8.8.17", + "@deck.gl/react": "8.8.17", + "@luma.gl/constants": "8.5.16", + "@luma.gl/core": "8.5.16", + "@luma.gl/webgl": "8.5.16", + "nebula.gl": "^1.0.4", + "@nebula.gl/edit-modes": "^1.0.4", + "@nebula.gl/layers": "^1.0.4", "nebula.gl-react": "^0.5.1", "react": "^16.13.1", "react-dom": "^16.13.1", diff --git a/modules/edit-modes/src/lib/draw-ellipse-by-bounding-box-mode.ts b/modules/edit-modes/src/lib/draw-ellipse-by-bounding-box-mode.ts index 3d0d0a3e3..610c54a8e 100644 --- a/modules/edit-modes/src/lib/draw-ellipse-by-bounding-box-mode.ts +++ b/modules/edit-modes/src/lib/draw-ellipse-by-bounding-box-mode.ts @@ -19,7 +19,7 @@ export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode { const xSemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[1])), 0.001); const ySemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[3])), 0.001); - // @ts-ignore + // @ts-expect-error fix return types return ellipse(centerCoordinates, xSemiAxis, ySemiAxis); } } diff --git a/modules/edit-modes/src/lib/draw-ellipse-using-three-points-mode.ts b/modules/edit-modes/src/lib/draw-ellipse-using-three-points-mode.ts index 5b5b5c482..8ef9ba1b5 100644 --- a/modules/edit-modes/src/lib/draw-ellipse-using-three-points-mode.ts +++ b/modules/edit-modes/src/lib/draw-ellipse-using-three-points-mode.ts @@ -17,7 +17,7 @@ export class DrawEllipseUsingThreePointsMode extends ThreeClickPolygonMode { const xSemiAxis = Math.max(distance(centerCoordinates, point(coord3)), 0.001); const ySemiAxis = Math.max(distance(coord1, coord2), 0.001) / 2; const options = { angle: bearing(coord1, coord2) }; - // @ts-ignore + // @ts-expect-error fix return types return ellipse(centerCoordinates, xSemiAxis, ySemiAxis, options); } } diff --git a/modules/edit-modes/src/lib/draw-line-string-mode.ts b/modules/edit-modes/src/lib/draw-line-string-mode.ts index 3baf1b901..e11f66f7f 100644 --- a/modules/edit-modes/src/lib/draw-line-string-mode.ts +++ b/modules/edit-modes/src/lib/draw-line-string-mode.ts @@ -1,5 +1,11 @@ import { LineString, FeatureCollection } from '../geojson-types'; -import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection } from '../types'; +import { + ClickEvent, + PointerMoveEvent, + ModeProps, + GuideFeatureCollection, + GuideFeature, +} from '../types'; import { getPickedEditHandle } from '../utils'; import { GeoJsonEditMode } from './geojson-edit-mode'; @@ -80,7 +86,7 @@ export class DrawLineStringMode extends GeoJsonEditMode { const lastCoords = lastPointerMoveEvent ? [lastPointerMoveEvent.mapCoords] : []; - const guides = { + const guides: GuideFeatureCollection = { type: 'FeatureCollection', features: [], }; @@ -103,7 +109,7 @@ export class DrawLineStringMode extends GeoJsonEditMode { guides.features.push(tentativeFeature); } - const editHandles = clickSequence.map((clickedCoord, index) => ({ + const editHandles: GuideFeature[] = clickSequence.map((clickedCoord, index) => ({ type: 'Feature', properties: { guideType: 'editHandle', @@ -118,7 +124,6 @@ export class DrawLineStringMode extends GeoJsonEditMode { })); guides.features.push(...editHandles); - // @ts-ignore return guides; } diff --git a/modules/edit-modes/src/lib/draw-point-mode.ts b/modules/edit-modes/src/lib/draw-point-mode.ts index bfbda5aa1..0935f6ea5 100644 --- a/modules/edit-modes/src/lib/draw-point-mode.ts +++ b/modules/edit-modes/src/lib/draw-point-mode.ts @@ -1,5 +1,5 @@ import { ClickEvent, PointerMoveEvent, ModeProps, TentativeFeature } from '../types'; -import { FeatureCollection } from '../geojson-types'; +import { FeatureCollection, Point } from '../geojson-types'; import { GeoJsonEditMode } from './geojson-edit-mode'; export class DrawPointMode extends GeoJsonEditMode { @@ -20,11 +20,11 @@ export class DrawPointMode extends GeoJsonEditMode { } handleClick({ mapCoords }: ClickEvent, props: ModeProps): void { - const geometry = { + const geometry: Point = { type: 'Point', coordinates: mapCoords, }; - // @ts-ignore + props.onEdit(this.getAddFeatureAction(geometry, props.data)); } diff --git a/modules/edit-modes/src/lib/draw-polygon-by-dragging-mode.ts b/modules/edit-modes/src/lib/draw-polygon-by-dragging-mode.ts index f4dc80970..d773030f2 100644 --- a/modules/edit-modes/src/lib/draw-polygon-by-dragging-mode.ts +++ b/modules/edit-modes/src/lib/draw-polygon-by-dragging-mode.ts @@ -31,9 +31,9 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode { handleStopDragging(event: StopDraggingEvent, props: ModeProps) { this.addClickSequence(event); const clickSequence = this.getClickSequence(); - // @ts-ignore + // @ts-expect-error cancel() not typed if (this.handleDraggingThrottled && this.handleDraggingThrottled.cancel) { - // @ts-ignore + // @ts-expect-error cancel() not typed this.handleDraggingThrottled.cancel(); } @@ -92,9 +92,7 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode { } } else if (event.key === 'Escape') { this.resetClickSequence(); - // @ts-ignore if (this.handleDraggingThrottled) { - // @ts-ignore this.handleDraggingThrottled = null; } props.onEdit({ diff --git a/modules/edit-modes/src/lib/draw-polygon-mode.ts b/modules/edit-modes/src/lib/draw-polygon-mode.ts index dcc0af181..270421c0b 100644 --- a/modules/edit-modes/src/lib/draw-polygon-mode.ts +++ b/modules/edit-modes/src/lib/draw-polygon-mode.ts @@ -6,6 +6,7 @@ import { ModeProps, GuideFeatureCollection, TentativeFeature, + GuideFeature, } from '../types'; import { Polygon, FeatureCollection } from '../geojson-types'; import { getPickedEditHandle } from '../utils'; @@ -49,7 +50,7 @@ export class DrawPolygonMode extends GeoJsonEditMode { getGuides(props: ModeProps): GuideFeatureCollection { const clickSequence = this.getClickSequence(); - const guides = { + const guides: GuideFeatureCollection = { type: 'FeatureCollection', features: [], }; @@ -59,7 +60,7 @@ export class DrawPolygonMode extends GeoJsonEditMode { guides.features.push(tentativeFeature); } - const editHandles = clickSequence.map((clickedCoord, index) => ({ + const editHandles: GuideFeature[] = clickSequence.map((clickedCoord, index) => ({ type: 'Feature', properties: { guideType: 'editHandle', @@ -74,7 +75,7 @@ export class DrawPolygonMode extends GeoJsonEditMode { })); guides.features.push(...editHandles); - // @ts-ignore + return guides; } diff --git a/modules/edit-modes/src/lib/draw-rectangle-from-center-mode.ts b/modules/edit-modes/src/lib/draw-rectangle-from-center-mode.ts index 7d00e3b04..fa8d9558e 100644 --- a/modules/edit-modes/src/lib/draw-rectangle-from-center-mode.ts +++ b/modules/edit-modes/src/lib/draw-rectangle-from-center-mode.ts @@ -17,7 +17,7 @@ export class DrawRectangleFromCenterMode extends TwoClickPolygonMode { rectangle.properties = rectangle.properties || {}; rectangle.properties.shape = 'Rectangle'; - // @ts-ignore + // @ts-expect-error turf typing too wide return rectangle; } } diff --git a/modules/edit-modes/src/lib/draw-rectangle-mode.ts b/modules/edit-modes/src/lib/draw-rectangle-mode.ts index ea6e2360e..f136ac46d 100644 --- a/modules/edit-modes/src/lib/draw-rectangle-mode.ts +++ b/modules/edit-modes/src/lib/draw-rectangle-mode.ts @@ -8,7 +8,7 @@ export class DrawRectangleMode extends TwoClickPolygonMode { rectangle.properties = rectangle.properties || {}; rectangle.properties.shape = 'Rectangle'; - // @ts-ignore + // @ts-expect-error turf typing too wide return rectangle; } } diff --git a/modules/edit-modes/src/lib/draw-square-from-center-mode.ts b/modules/edit-modes/src/lib/draw-square-from-center-mode.ts index 5e38da08d..943b4af3d 100644 --- a/modules/edit-modes/src/lib/draw-square-from-center-mode.ts +++ b/modules/edit-modes/src/lib/draw-square-from-center-mode.ts @@ -40,7 +40,7 @@ export class DrawSquareFromCenterMode extends TwoClickPolygonMode { square.properties = square.properties || {}; square.properties.shape = 'Square'; - // @ts-ignore + // @ts-expect-error turf typing too wide return square; } } diff --git a/modules/edit-modes/src/lib/draw-square-mode.ts b/modules/edit-modes/src/lib/draw-square-mode.ts index 09bda3862..a6cb79619 100644 --- a/modules/edit-modes/src/lib/draw-square-mode.ts +++ b/modules/edit-modes/src/lib/draw-square-mode.ts @@ -30,7 +30,7 @@ export class DrawSquareMode extends TwoClickPolygonMode { square.properties = square.properties || {}; square.properties.shape = 'Square'; - // @ts-ignore + // @ts-expect-error turf types too wide return square; } } diff --git a/modules/edit-modes/src/lib/elevation-mode.ts b/modules/edit-modes/src/lib/elevation-mode.ts index d8ef1538b..709dcef72 100644 --- a/modules/edit-modes/src/lib/elevation-mode.ts +++ b/modules/edit-modes/src/lib/elevation-mode.ts @@ -48,14 +48,14 @@ export class ElevationMode extends ModifyMode { handlePointerMove(event: PointerMoveEvent, props: ModeProps) { const editHandle = getPickedEditHandle(event.pointerDownPicks); const position = editHandle ? editHandle.geometry.coordinates : event.mapCoords; - // @ts-ignore + // @ts-expect-error return type too wide super.handlePointerMove(this.makeElevatedEvent(event, position, props), props); } handleStopDragging(event: StopDraggingEvent, props: ModeProps) { const editHandle = getPickedEditHandle(event.picks); const position = editHandle ? editHandle.geometry.coordinates : event.mapCoords; - // @ts-ignore + // @ts-expect-error return type too wide super.handleStopDragging(this.makeElevatedEvent(event, position, props), props); } diff --git a/modules/edit-modes/src/lib/extend-line-string-mode.ts b/modules/edit-modes/src/lib/extend-line-string-mode.ts index 754326a8e..ae8c089d6 100644 --- a/modules/edit-modes/src/lib/extend-line-string-mode.ts +++ b/modules/edit-modes/src/lib/extend-line-string-mode.ts @@ -46,15 +46,13 @@ export class ExtendLineStringMode extends GeoJsonEditMode { } getGuides(props: ModeProps): GuideFeatureCollection { - const guides = { + const guides: GuideFeatureCollection = { type: 'FeatureCollection', features: [], }; const selectedLineString = this.getSingleSelectedLineString(props); if (!selectedLineString) { - // nothing to do - // @ts-ignore return guides; } @@ -79,7 +77,7 @@ export class ExtendLineStringMode extends GeoJsonEditMode { coordinates: [startPosition, mapCoords], }, }); - // @ts-ignore + return guides; } diff --git a/modules/edit-modes/src/lib/geojson-edit-mode.ts b/modules/edit-modes/src/lib/geojson-edit-mode.ts index a66d346e2..fd1085890 100644 --- a/modules/edit-modes/src/lib/geojson-edit-mode.ts +++ b/modules/edit-modes/src/lib/geojson-edit-mode.ts @@ -85,9 +85,9 @@ export class GeoJsonEditMode implements EditMode): TentativeFeature | null | undefined { const guides = this.getGuides(props); - - // @ts-ignore - return guides.features.find((f) => f.properties && f.properties.guideType === 'tentative'); + return guides.features.find( + (f) => f.properties && f.properties.guideType === 'tentative' + ) as TentativeFeature; } isSelectionPicked(picks: Pick[], props: ModeProps): boolean { @@ -105,7 +105,7 @@ export class GeoJsonEditMode implements EditMode) { const propsWithoutEdit = { ...props, - // @ts-ignore onEdit: () => {}, }; @@ -20,7 +19,6 @@ export class MeasureAreaMode extends DrawPolygonMode { handleKeyUp(event: KeyboardEvent, props: ModeProps): void { const propsWithoutEdit = { ...props, - // @ts-ignore onEdit: () => {}, }; @@ -43,7 +41,7 @@ export class MeasureAreaMode extends DrawPolygonMode { text = formatTooltip(area); } else { // By default, round to 2 decimal places and append units - // @ts-ignore + // @ts-expect-error are isn't string text = `${parseFloat(area).toFixed(2)} ${units}`; } diff --git a/modules/edit-modes/src/lib/measure-distance-mode.ts b/modules/edit-modes/src/lib/measure-distance-mode.ts index a774fe961..f8e4ae3be 100644 --- a/modules/edit-modes/src/lib/measure-distance-mode.ts +++ b/modules/edit-modes/src/lib/measure-distance-mode.ts @@ -1,7 +1,14 @@ import turfDistance from '@turf/distance'; import turfMidpoint from '@turf/midpoint'; import { FeatureCollection } from '../geojson-types'; -import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, Tooltip } from '../types'; +import { + ClickEvent, + PointerMoveEvent, + ModeProps, + GuideFeatureCollection, + Tooltip, + GuideFeature, +} from '../types'; import { getPickedEditHandle } from '../utils'; import { GeoJsonEditMode } from './geojson-edit-mode'; @@ -136,7 +143,7 @@ export class MeasureDistanceMode extends GeoJsonEditMode { ? [lastPointerMoveEvent.mapCoords] : []; - const guides = { + const guides: GuideFeatureCollection = { type: 'FeatureCollection', features: [], }; @@ -154,7 +161,7 @@ export class MeasureDistanceMode extends GeoJsonEditMode { }); } - const editHandles = clickSequence.map((clickedCoord, index) => ({ + const editHandles: GuideFeature[] = clickSequence.map((clickedCoord, index) => ({ type: 'Feature', properties: { guideType: 'editHandle', @@ -169,7 +176,7 @@ export class MeasureDistanceMode extends GeoJsonEditMode { })); guides.features.push(...editHandles); - // @ts-ignore + return guides; } diff --git a/modules/edit-modes/src/lib/modify-mode.ts b/modules/edit-modes/src/lib/modify-mode.ts index 694f2451d..6a7dcf2c0 100644 --- a/modules/edit-modes/src/lib/modify-mode.ts +++ b/modules/edit-modes/src/lib/modify-mode.ts @@ -69,7 +69,7 @@ export class ModifyMode extends GeoJsonEditMode { (lineString, prefix) => { const lineStringFeature = toLineString(lineString); const candidateIntermediatePoint = this.getNearestPoint( - // @ts-ignore + // @ts-expect-error turf types too wide lineStringFeature, referencePoint, props.modeConfig && props.modeConfig.viewport diff --git a/modules/edit-modes/src/lib/resize-circle-mode.ts b/modules/edit-modes/src/lib/resize-circle-mode.ts index bdd258c0b..60a918f9c 100644 --- a/modules/edit-modes/src/lib/resize-circle-mode.ts +++ b/modules/edit-modes/src/lib/resize-circle-mode.ts @@ -63,7 +63,7 @@ export class ResizeCircleMode extends GeoJsonEditMode { (lineString, prefix) => { const lineStringFeature = toLineString(lineString); const candidateIntermediatePoint = this.getNearestPoint( - // @ts-ignore + // @ts-expect-error turf types too wide lineStringFeature, referencePoint, props.modeConfig && props.modeConfig.viewport diff --git a/modules/edit-modes/src/lib/rotate-mode.ts b/modules/edit-modes/src/lib/rotate-mode.ts index 581df85bb..3fd47d051 100644 --- a/modules/edit-modes/src/lib/rotate-mode.ts +++ b/modules/edit-modes/src/lib/rotate-mode.ts @@ -31,8 +31,8 @@ export class RotateMode extends GeoJsonEditMode { _isSinglePointGeometrySelected = (geometry: FeatureCollection | null | undefined): boolean => { const { features } = geometry || {}; if (Array.isArray(features) && features.length === 1) { - // @ts-ignore - const { type } = getGeom(features[0]); + // @ts-expect-error turf type diff + const { type }: { type: string } = getGeom(features[0]); return type === 'Point'; } return false; @@ -59,9 +59,8 @@ export class RotateMode extends GeoJsonEditMode { let topEdgeMidpointCoords = null; let longestEdgeLength = 0; - coordEach(boundingBox, (coord) => { + coordEach(boundingBox, (coord: Position) => { if (previousCoord) { - // @ts-ignore const edgeMidpoint = getIntermediatePosition(coord, previousCoord); if (!topEdgeMidpointCoords || edgeMidpoint[1] > topEdgeMidpointCoords[1]) { // Get the top edge midpoint of the enveloping box @@ -86,15 +85,15 @@ export class RotateMode extends GeoJsonEditMode { guideType: 'editHandle', editHandleType: 'rotate', }); - // @ts-ignore - return featureCollection([ - // @ts-ignore + + const outFeatures = [ polygonToLine(boundingBox), - // @ts-ignore rotateHandle, - // @ts-ignore lineFromEnvelopeToRotateHandle, - ]); + ]; + + // @ts-expect-error turf type diff + return featureCollection(outFeatures); } handleDragging(event: DraggingEvent, props: ModeProps) { @@ -175,9 +174,10 @@ export class RotateMode extends GeoJsonEditMode { const centroid = turfCentroid(this._geometryBeingRotated); const angle = getRotationAngle(centroid, startDragPoint, currentPoint); - // @ts-ignore + + // @ts-expect-error turf types too wide const rotatedFeatures: FeatureCollection = turfTransformRotate( - // @ts-ignore + // @ts-expect-error turf types too wide this._geometryBeingRotated, angle, { diff --git a/modules/edit-modes/src/lib/scale-mode.ts b/modules/edit-modes/src/lib/scale-mode.ts index 229e54cb5..40bf0a75f 100644 --- a/modules/edit-modes/src/lib/scale-mode.ts +++ b/modules/edit-modes/src/lib/scale-mode.ts @@ -33,8 +33,8 @@ export class ScaleMode extends GeoJsonEditMode { _isSinglePointGeometrySelected = (geometry: FeatureCollection | null | undefined): boolean => { const { features } = geometry || {}; if (Array.isArray(features) && features.length === 1) { - // @ts-ignore - const { type } = getGeom(features[0]); + // @ts-expect-error turf types diff + const { type }: { type: string } = getGeom(features[0]); return type === 'Point'; } return false; @@ -84,12 +84,13 @@ export class ScaleMode extends GeoJsonEditMode { } const oppositeHandle = this._getOppositeScaleHandle(this._selectedEditHandle); - const origin = getCoord(oppositeHandle); - // @ts-ignore + const origin = getCoord(oppositeHandle) as Position; + const scaleFactor = getScaleFactor(origin, startDragPoint, currentPoint); - // @ts-ignore + + // @ts-expect-error turf types diff const scaledFeatures: FeatureCollection = turfTransformScale( - // @ts-ignore + // @ts-expect-error turf types diff this._geometryBeingScaled, scaleFactor, { origin } @@ -218,7 +219,7 @@ export class ScaleMode extends GeoJsonEditMode { }); this._cornerGuidePoints = cornerGuidePoints; - // @ts-ignore + // @ts-expect-error turf types diff return featureCollection([polygonToLine(boundingBox), ...this._cornerGuidePoints]); } } diff --git a/modules/edit-modes/src/lib/split-polygon-mode.ts b/modules/edit-modes/src/lib/split-polygon-mode.ts index 340ba17f8..b76e668c1 100644 --- a/modules/edit-modes/src/lib/split-polygon-mode.ts +++ b/modules/edit-modes/src/lib/split-polygon-mode.ts @@ -2,7 +2,7 @@ import booleanPointInPolygon from '@turf/boolean-point-in-polygon'; import turfDifference from '@turf/difference'; import turfBuffer from '@turf/buffer'; import lineIntersect from '@turf/line-intersect'; -import { lineString } from '@turf/helpers'; +import { lineString, Point } from '@turf/helpers'; import turfBearing from '@turf/bearing'; import turfDistance from '@turf/distance'; import turfDestination from '@turf/destination'; @@ -30,7 +30,7 @@ export class SplitPolygonMode extends GeoJsonEditMode { // if first point is clicked, then find closest polygon point and build ~90deg vector const firstPoint = clickSequence[0]; const selectedGeometry = this.getSelectedGeometry(props); - // @ts-ignore + // @ts-expect-error turf types diff const feature = turfPolygonToLine(selectedGeometry); const lines = feature.type === 'FeatureCollection' ? feature.features : [feature]; @@ -118,15 +118,16 @@ export class SplitPolygonMode extends GeoJsonEditMode { this.addClickSequence(event); } - const pt = { + const pt: Point = { type: 'Point', coordinates: clickSequence[clickSequence.length - 1], }; - // @ts-ignore + + // @ts-expect-error turf types diff const isPointInPolygon = booleanPointInPolygon(pt, selectedGeometry); if (clickSequence.length > 1 && tentativeFeature && !isPointInPolygon) { this.resetClickSequence(); - // @ts-ignore + // @ts-expect-error narrow type const isLineInterectingWithPolygon = lineIntersect(tentativeFeature, selectedGeometry); if (isLineInterectingWithPolygon.features.length === 0) { return; @@ -157,7 +158,7 @@ export class SplitPolygonMode extends GeoJsonEditMode { } const buffer = turfBuffer(tentativeFeature, gap, { units }); - // @ts-ignore + // @ts-expect-error turf types diff const updatedGeometry = turfDifference(selectedGeometry, buffer); if (!updatedGeometry) { // eslint-disable-next-line no-console,no-undef @@ -169,11 +170,11 @@ export class SplitPolygonMode extends GeoJsonEditMode { let updatedCoordinates = []; if (type === 'Polygon') { // Update the coordinates as per Multipolygon - // @ts-ignore updatedCoordinates = coordinates.map((c) => [c]); } else { // Handle Case when Multipolygon has holes - // @ts-ignore + + // @ts-expect-error revisit coordinates' type here updatedCoordinates = coordinates.reduce((agg, prev) => { prev.forEach((p) => { agg.push([p]); diff --git a/modules/edit-modes/src/lib/transform-mode.ts b/modules/edit-modes/src/lib/transform-mode.ts index 36b7fffc1..a5d3b031c 100644 --- a/modules/edit-modes/src/lib/transform-mode.ts +++ b/modules/edit-modes/src/lib/transform-mode.ts @@ -65,7 +65,8 @@ export class TransformMode extends CompositeMode { } return !guidesToFilterOut.includes('scale'); }); - // @ts-ignore + + // @ts-expect-error turf types compositeGuides = featureCollection(nonEnvelopeGuides); } return compositeGuides; diff --git a/modules/edit-modes/src/lib/translate-mode.ts b/modules/edit-modes/src/lib/translate-mode.ts index da4350c5a..21602041a 100644 --- a/modules/edit-modes/src/lib/translate-mode.ts +++ b/modules/edit-modes/src/lib/translate-mode.ts @@ -124,7 +124,7 @@ export class TranslateMode extends GeoJsonEditMode { return null; }); - // @ts-ignore + // @ts-expect-error turf types updatedData = updatedData.replaceGeometry(selectedIndex, { type: feature.geometry.type, coordinates, diff --git a/modules/edit-modes/src/types.ts b/modules/edit-modes/src/types.ts index 45c597b78..d9e9e2c99 100644 --- a/modules/edit-modes/src/types.ts +++ b/modules/edit-modes/src/types.ts @@ -11,9 +11,11 @@ export type EditAction = { // Represents an object "picked" from the screen. This usually reflects an object under the cursor export type Pick = { - object: any; index: number; - isGuide: boolean; + object?: any; + isGuide?: boolean; + featureIndex?: number; + type?: string; }; export type Viewport = { diff --git a/modules/editor/src/lib/exporter.ts b/modules/editor/src/lib/exporter.ts index 07c5c8e84..7602c2e8b 100644 --- a/modules/editor/src/lib/exporter.ts +++ b/modules/editor/src/lib/exporter.ts @@ -2,8 +2,7 @@ import tokml from '@maphubs/tokml'; import { stringify as stringifyWkt } from 'wellknown'; -// @ts-ignore -import { AnyGeoJson, Geometry, PolygonalGeometry } from '@nebula.gl/edit-modes'; +import { AnyGeoJson, Geometry } from '@nebula.gl/edit-modes'; export type ExportParameters = { data: string; @@ -42,13 +41,13 @@ export function toKml(geoJson: AnyGeoJson, filename: string): ExportParameters { export function toWkt(geoJson: AnyGeoJson, filename: string): ExportParameters { let wkt = ''; if (geoJson.type === 'Feature') { - // @ts-ignore + // @ts-expect-error geojson type diff wkt = stringifyWkt(geoJson); } else { // feature collection wkt = ''; for (const feature of geoJson.features) { - // @ts-ignore + // @ts-expect-error geojson type diff wkt += `${stringifyWkt(feature)}\n`; } if (wkt.length > 0) { @@ -104,7 +103,7 @@ function getPolygonalStats(geometry: Geometry) { }; } - const polygonal: PolygonalGeometry = geometry; + const polygonal = geometry; let pointCount = 0; let ringCount = 0; diff --git a/modules/editor/src/lib/importer.ts b/modules/editor/src/lib/importer.ts index b7dc95a25..26edca56f 100644 --- a/modules/editor/src/lib/importer.ts +++ b/modules/editor/src/lib/importer.ts @@ -58,14 +58,14 @@ function getCleanedFeature(feature: Feature): Feature { const properties = feature.properties || {}; let geometry = feature.geometry; - // @ts-ignore + // @ts-expect-error no overlap, optimize if (geometry.type === 'GeometryCollection' && geometry.geometries.length === 1) { // There's only one geometry - // @ts-ignore + // @ts-expect-error no overlap, optimize geometry = geometry.geometries[0]; - // @ts-ignore + // @ts-expect-error no overlap, optimize } else if (geometry.type === 'GeometryCollection' && geometry.geometries.length > 1) { - // @ts-ignore + // @ts-expect-error no overlap, optimize const types = new Set(geometry.geometries.map((g) => g.type)); if (types.size === 1) { // See if it can be combined into a Multi* geometry @@ -74,14 +74,14 @@ function getCleanedFeature(feature: Feature): Feature { // Combine all the Polygons into a single MultiPolygon geometry = { type: 'MultiPolygon', - // @ts-ignore + // @ts-expect-error no overlap, optimize coordinates: geometry.geometries.map((g) => g.coordinates), }; } else if (type === 'LineString') { // Combine all the LineStrings into a single MultiLineString geometry = { type: 'MultiLineString', - // @ts-ignore + // @ts-expect-error no overlap, optimize coordinates: geometry.geometries.map((g) => g.coordinates), }; } @@ -91,7 +91,7 @@ function getCleanedFeature(feature: Feature): Feature { } } - // @ts-ignore + // @ts-expect-error narrow types return { type: 'Feature', id, diff --git a/modules/layers/package.json b/modules/layers/package.json index dc1f63873..5b2ee5906 100644 --- a/modules/layers/package.json +++ b/modules/layers/package.json @@ -47,7 +47,6 @@ "test-rendering": "(cd test/rendering-test && webpack-dev-server --config webpack.config.test-rendering.js --progress --hot --open)" }, "dependencies": { - "@danmarshall/deckgl-typings": "4.9.12", "@nebula.gl/edit-modes": "1.0.4", "@turf/bbox": ">=4.0.0", "@turf/bbox-polygon": ">=4.0.0", @@ -78,13 +77,13 @@ "viewport-mercator-project": ">=6.0.0" }, "peerDependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/extensions": "^8.6.0", - "@deck.gl/geo-layers": "^8.6.0", - "@deck.gl/layers": "^8.6.0", - "@deck.gl/mesh-layers": "^8.6.0", - "@luma.gl/constants": "^8.5.10", - "@luma.gl/core": "^8.5.10" + "@deck.gl/core": "8.8.17", + "@deck.gl/extensions": "8.8.17", + "@deck.gl/geo-layers": "8.8.17", + "@deck.gl/layers": "8.8.17", + "@deck.gl/mesh-layers": "8.8.17", + "@luma.gl/constants": "8.5.16", + "@luma.gl/core": "8.5.16" }, "gitHead": "8374ab0ac62a52ae8a6b14276694cabced43de35" } diff --git a/modules/layers/src/layers/editable-geojson-layer.ts b/modules/layers/src/layers/editable-geojson-layer.ts index af7543131..b13cf1b03 100644 --- a/modules/layers/src/layers/editable-geojson-layer.ts +++ b/modules/layers/src/layers/editable-geojson-layer.ts @@ -1,8 +1,7 @@ /* eslint-env browser */ -import { RGBAColor } from '@deck.gl/core'; -import { GeoJsonLayer, ScatterplotLayer, IconLayer, TextLayer } from '@deck.gl/layers'; - +import type { UpdateParameters, DefaultProps } from '@deck.gl/core/typed'; +import { GeoJsonLayer, ScatterplotLayer, IconLayer, TextLayer } from '@deck.gl/layers/typed'; import { ViewMode, ModifyMode, @@ -39,21 +38,22 @@ import { FeatureCollection, } from '@nebula.gl/edit-modes'; +import { Color } from '../types'; import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from '../constants'; import EditableLayer, { EditableLayerProps } from './editable-layer'; import EditablePathLayer from './editable-path-layer'; -const DEFAULT_LINE_COLOR: RGBAColor = [0x0, 0x0, 0x0, 0x99]; -const DEFAULT_FILL_COLOR: RGBAColor = [0x0, 0x0, 0x0, 0x90]; -const DEFAULT_SELECTED_LINE_COLOR: RGBAColor = [0x0, 0x0, 0x0, 0xff]; -const DEFAULT_SELECTED_FILL_COLOR: RGBAColor = [0x0, 0x0, 0x90, 0x90]; -const DEFAULT_TENTATIVE_LINE_COLOR: RGBAColor = [0x90, 0x90, 0x90, 0xff]; -const DEFAULT_TENTATIVE_FILL_COLOR: RGBAColor = [0x90, 0x90, 0x90, 0x90]; -const DEFAULT_EDITING_EXISTING_POINT_COLOR: RGBAColor = [0xc0, 0x0, 0x0, 0xff]; -const DEFAULT_EDITING_INTERMEDIATE_POINT_COLOR: RGBAColor = [0x0, 0x0, 0x0, 0x80]; -const DEFAULT_EDITING_SNAP_POINT_COLOR: RGBAColor = [0x7c, 0x00, 0xc0, 0xff]; -const DEFAULT_EDITING_POINT_OUTLINE_COLOR: RGBAColor = [0xff, 0xff, 0xff, 0xff]; +const DEFAULT_LINE_COLOR: Color = [0x0, 0x0, 0x0, 0x99]; +const DEFAULT_FILL_COLOR: Color = [0x0, 0x0, 0x0, 0x90]; +const DEFAULT_SELECTED_LINE_COLOR: Color = [0x0, 0x0, 0x0, 0xff]; +const DEFAULT_SELECTED_FILL_COLOR: Color = [0x0, 0x0, 0x90, 0x90]; +const DEFAULT_TENTATIVE_LINE_COLOR: Color = [0x90, 0x90, 0x90, 0xff]; +const DEFAULT_TENTATIVE_FILL_COLOR: Color = [0x90, 0x90, 0x90, 0x90]; +const DEFAULT_EDITING_EXISTING_POINT_COLOR: Color = [0xc0, 0x0, 0x0, 0xff]; +const DEFAULT_EDITING_INTERMEDIATE_POINT_COLOR: Color = [0x0, 0x0, 0x0, 0x80]; +const DEFAULT_EDITING_SNAP_POINT_COLOR: Color = [0x7c, 0x00, 0xc0, 0xff]; +const DEFAULT_EDITING_POINT_OUTLINE_COLOR: Color = [0xff, 0xff, 0xff, 0xff]; const DEFAULT_EDITING_EXISTING_POINT_RADIUS = 5; const DEFAULT_EDITING_INTERMEDIATE_POINT_RADIUS = 3; const DEFAULT_EDITING_SNAP_POINT_RADIUS = 7; @@ -107,7 +107,7 @@ function getEditHandleRadius(handle) { } } -export interface EditableGeojsonLayerProps extends EditableLayerProps { +export type EditableGeojsonLayerProps = EditableLayerProps & { mode?: any; modeConfig?: any; selectedFeatureIndexes?: number[]; @@ -131,13 +131,13 @@ export interface EditableGeojsonLayerProps extends EditableLayerProps { pointRadiusMinPixels?: number; pointRadiusMaxPixels?: number; - getLineColor?: RGBAColor | ((feature, isSelected, mode) => RGBAColor); - getFillColor?: RGBAColor | ((feature, isSelected, mode) => RGBAColor); + getLineColor?: Color | ((feature, isSelected, mode) => Color); + getFillColor?: Color | ((feature, isSelected, mode) => Color); getRadius?: number | ((f) => number); getLineWidth?: number | ((f) => number); - getTentativeLineColor?: RGBAColor | ((feature, isSelected, mode) => RGBAColor); - getTentativeFillColor?: RGBAColor | ((feature, isSelected, mode) => RGBAColor); + getTentativeLineColor?: Color | ((feature, isSelected, mode) => Color); + getTentativeFillColor?: Color | ((feature, isSelected, mode) => Color); getTentativeLineWidth?: number | ((f) => number); editHandleType?: string; @@ -148,8 +148,8 @@ export interface EditableGeojsonLayerProps extends EditableLayerProps { editHandlePointRadiusUnits?: string; editHandlePointRadiusMinPixels?: number; editHandlePointRadiusMaxPixels?: number; - getEditHandlePointColor?: RGBAColor | ((handle) => RGBAColor); - getEditHandlePointOutlineColor?: RGBAColor | ((handle) => RGBAColor); + getEditHandlePointColor?: Color | ((handle) => Color); + getEditHandlePointOutlineColor?: Color | ((handle) => Color); getEditHandlePointRadius?: number | ((handle) => number); // icon handles @@ -159,14 +159,14 @@ export interface EditableGeojsonLayerProps extends EditableLayerProps { editHandleIconSizeUnits?: string; getEditHandleIcon?: (handle) => string; getEditHandleIconSize?: number; - getEditHandleIconColor?: RGBAColor | ((handle) => RGBAColor); + getEditHandleIconColor?: Color | ((handle) => Color); getEditHandleIconAngle?: number | ((handle) => number); // misc billboard?: boolean; -} +}; -const defaultProps: EditableGeojsonLayerProps = { +const defaultProps: DefaultProps> = { mode: DEFAULT_EDIT_MODE, // Edit and interaction events @@ -270,8 +270,8 @@ const modeNameMapping = { // }; export default class EditableGeoJsonLayer extends EditableLayer< - any, - EditableGeojsonLayerProps + FeatureCollection, + EditableGeojsonLayerProps > { static layerName = 'EditableGeoJsonLayer'; static defaultProps = defaultProps; @@ -354,18 +354,7 @@ export default class EditableGeoJsonLayer extends EditableLayer< return super.shouldUpdateState(opts) || opts.changeFlags.stateChanged; } - updateState({ - props, - oldProps, - changeFlags, - context, - }: { - props: EditableGeojsonLayerProps; - oldProps: EditableGeojsonLayerProps; - changeFlags: any; - context: any; - s; - }) { + updateState({ props, oldProps, changeFlags, context }: UpdateParameters) { super.updateState({ oldProps, props, changeFlags, context }); if (changeFlags.propsOrDataChanged) { @@ -401,9 +390,14 @@ export default class EditableGeoJsonLayer extends EditableLayer< } let selectedFeatures = []; - if (Array.isArray(props.selectedFeatureIndexes)) { + if ( + Array.isArray(props.selectedFeatureIndexes) && + typeof props.data === 'object' && + 'features' in props.data + ) { // TODO: needs improved testing, i.e. checking for duplicates, NaNs, out of range numbers, ... - selectedFeatures = props.selectedFeatureIndexes.map((elem) => props.data.features[elem]); + const propsData = props.data as FeatureCollection; + selectedFeatures = props.selectedFeatureIndexes.map((elem) => propsData.features[elem]); } this.setState({ selectedFeatures }); @@ -444,6 +438,8 @@ export default class EditableGeoJsonLayer extends EditableLayer< if (!this.props.selectedFeatureIndexes.length) { return false; } + + // @ts-expect-error properly type layer's data const featureIndex = this.props.data.features.indexOf(feature); return this.props.selectedFeatureIndexes.includes(featureIndex); } @@ -472,6 +468,7 @@ export default class EditableGeoJsonLayer extends EditableLayer< createGuidesLayers() { const mode = this.getActiveMode(); + // @ts-expect-error narrow type const guides: FeatureCollection = mode.getGuides(this.getModeProps(this.props)); if (!guides || !guides.features.length) { @@ -546,6 +543,7 @@ export default class EditableGeoJsonLayer extends EditableLayer< createTooltipsLayers() { const mode = this.getActiveMode(); + // @ts-expect-error narrow type const tooltips = mode.getTooltips(this.getModeProps(this.props)); const layer = new TextLayer({ @@ -560,27 +558,33 @@ export default class EditableGeoJsonLayer extends EditableLayer< } onLayerClick(event: ClickEvent) { + // @ts-expect-error narrow type this.getActiveMode().handleClick(event, this.getModeProps(this.props)); } onLayerKeyUp(event: KeyboardEvent) { + // @ts-expect-error narrow type this.getActiveMode().handleKeyUp(event, this.getModeProps(this.props)); } onStartDragging(event: StartDraggingEvent) { + // @ts-expect-error narrow type this.getActiveMode().handleStartDragging(event, this.getModeProps(this.props)); } onDragging(event: DraggingEvent) { + // @ts-expect-error narrow type this.getActiveMode().handleDragging(event, this.getModeProps(this.props)); } onStopDragging(event: StopDraggingEvent) { + // @ts-expect-error narrow type this.getActiveMode().handleStopDragging(event, this.getModeProps(this.props)); } onPointerMove(event: PointerMoveEvent) { this.setState({ lastPointerMoveEvent: event }); + // @ts-expect-error narrow type this.getActiveMode().handlePointerMove(event, this.getModeProps(this.props)); } diff --git a/modules/layers/src/layers/editable-h3-cluster-layer.ts b/modules/layers/src/layers/editable-h3-cluster-layer.ts index b53e6d760..ea222e706 100644 --- a/modules/layers/src/layers/editable-h3-cluster-layer.ts +++ b/modules/layers/src/layers/editable-h3-cluster-layer.ts @@ -1,6 +1,7 @@ /* eslint-env browser */ import { H3ClusterLayer } from '@deck.gl/geo-layers'; +import { DefaultProps } from '@deck.gl/core/typed'; import { ViewMode } from '@nebula.gl/edit-modes'; import { polyfill, geoToH3 } from 'h3-js'; import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from '../constants'; @@ -14,7 +15,7 @@ const EMPTY_FEATURE_COLLECTION = { features: [], }; -export interface EditableH3ClusterLayerProps extends EditableLayerProps { +export type EditableH3ClusterLayerProps = EditableLayerProps & { resolution?: number; mode?: any; modeConfig?: any; @@ -28,9 +29,9 @@ export interface EditableH3ClusterLayerProps extends EditableLayerProps { lineWidthMinPixels?: number; lineWidthMaxPixels?: number; lineWidthUnits?: string; -} +}; -const defaultProps: EditableH3ClusterLayerProps = { +const defaultProps: DefaultProps> = { mode: DEFAULT_EDIT_MODE, ...EditableGeoJsonLayer.defaultProps, @@ -113,6 +114,7 @@ export default class EditableH3ClusterLayer extends EditableLayer< } break; case 'addFeature': + // @ts-expect-error accessing resolved data const updatedData = [...this.props.data]; const { modeConfig } = this.props; diff --git a/modules/layers/src/layers/editable-layer.ts b/modules/layers/src/layers/editable-layer.ts index f8d7033b9..26dac520a 100644 --- a/modules/layers/src/layers/editable-layer.ts +++ b/modules/layers/src/layers/editable-layer.ts @@ -1,7 +1,6 @@ /* eslint-env browser */ -import { CompositeLayer } from '@deck.gl/core'; -import { CompositeLayerProps } from '@deck.gl/core/lib/composite-layer'; +import { CompositeLayer, CompositeLayerProps } from '@deck.gl/core/typed'; import { ClickEvent, StartDraggingEvent, @@ -13,15 +12,15 @@ import { const EVENT_TYPES = ['anyclick', 'pointermove', 'panstart', 'panmove', 'panend', 'keyup']; -export interface EditableLayerProps extends CompositeLayerProps { +export type EditableLayerProps = CompositeLayerProps & { pickingRadius?: number; pickingDepth?: number; -} +}; -export default class EditableLayer< - D, - P extends EditableLayerProps = EditableLayerProps -> extends CompositeLayer { +export default abstract class EditableLayer< + DataT = any, + ExtraPropsT = Record +> extends CompositeLayer>> { static layerName = 'EditableLayer'; // Overridable interaction event handlers @@ -73,11 +72,12 @@ export default class EditableLayer< } _addEventHandlers() { - // @ts-ignore + // @ts-expect-error accessing protected props const { eventManager } = this.context.deck; const { eventHandler } = this.state._editableLayerState; for (const eventType of EVENT_TYPES) { + // @ts-expect-error narrow type eventManager.on(eventType, eventHandler, { // give nebula a higher priority so that it can stop propagation to deck.gl's map panning handlers priority: 100, @@ -86,11 +86,12 @@ export default class EditableLayer< } _removeEventHandlers() { - // @ts-ignore + // @ts-expect-error accessing protected props const { eventManager } = this.context.deck; const { eventHandler } = this.state._editableLayerState; for (const eventType of EVENT_TYPES) { + // @ts-expect-error narrow type eventManager.off(eventType, eventHandler); } } @@ -111,14 +112,13 @@ export default class EditableLayer< } _onanyclick({ srcEvent }: any) { - const screenCoords = this.getScreenCoords(srcEvent); + const screenCoords = this.getScreenCoords(srcEvent) as [number, number]; const mapCoords = this.getMapCoords(screenCoords); - // @ts-ignore + const picks = this.getPicks(screenCoords); this.onLayerClick({ mapCoords, - // @ts-ignore screenCoords, picks, sourceEvent: srcEvent, @@ -130,9 +130,8 @@ export default class EditableLayer< } _onpanstart(event: any) { - const screenCoords = this.getScreenCoords(event.srcEvent); + const screenCoords = this.getScreenCoords(event.srcEvent) as [number, number]; const mapCoords = this.getMapCoords(screenCoords); - // @ts-ignore const picks = this.getPicks(screenCoords); this.setState({ @@ -146,11 +145,8 @@ export default class EditableLayer< this.onStartDragging({ picks, - // @ts-ignore screenCoords, - // @ts-ignore mapCoords, - // @ts-ignore pointerDownScreenCoords: screenCoords, pointerDownMapCoords: mapCoords, cancelPan: event.stopImmediatePropagation, @@ -160,7 +156,7 @@ export default class EditableLayer< _onpanmove(event: any) { const { srcEvent } = event; - const screenCoords = this.getScreenCoords(srcEvent); + const screenCoords = this.getScreenCoords(srcEvent) as [number, number]; const mapCoords = this.getMapCoords(screenCoords); const { @@ -168,11 +164,10 @@ export default class EditableLayer< pointerDownScreenCoords, pointerDownMapCoords, } = this.state._editableLayerState; - // @ts-ignore + const picks = this.getPicks(screenCoords); this.onDragging({ - // @ts-ignore screenCoords, mapCoords, picks, @@ -190,7 +185,7 @@ export default class EditableLayer< } _onpanend({ srcEvent }: any) { - const screenCoords = this.getScreenCoords(srcEvent); + const screenCoords = this.getScreenCoords(srcEvent) as [number, number]; const mapCoords = this.getMapCoords(screenCoords); const { @@ -198,12 +193,11 @@ export default class EditableLayer< pointerDownScreenCoords, pointerDownMapCoords, } = this.state._editableLayerState; - // @ts-ignore + const picks = this.getPicks(screenCoords); this.onStopDragging({ picks, - // @ts-ignore screenCoords, mapCoords, pointerDownPicks, @@ -224,7 +218,7 @@ export default class EditableLayer< _onpointermove(event: any) { const { srcEvent } = event; - const screenCoords = this.getScreenCoords(srcEvent); + const screenCoords = this.getScreenCoords(srcEvent) as [number, number]; const mapCoords = this.getMapCoords(screenCoords); const { @@ -232,11 +226,10 @@ export default class EditableLayer< pointerDownScreenCoords, pointerDownMapCoords, } = this.state._editableLayerState; - // @ts-ignore + const picks = this.getPicks(screenCoords); this.onPointerMove({ - // @ts-ignore screenCoords, mapCoords, picks, @@ -244,11 +237,11 @@ export default class EditableLayer< pointerDownScreenCoords, pointerDownMapCoords, sourceEvent: srcEvent, + cancelPan: event.stopImmediatePropagation, }); } getPicks(screenCoords: [number, number]) { - // @ts-ignore return this.context.deck.pickMultipleObjects({ x: screenCoords[0], y: screenCoords[1], @@ -268,7 +261,6 @@ export default class EditableLayer< } getMapCoords(screenCoords: Position): Position { - // @ts-ignore - return this.context.viewport.unproject([screenCoords[0], screenCoords[1]]); + return this.context.viewport.unproject([screenCoords[0], screenCoords[1]]) as Position; } } diff --git a/modules/layers/src/layers/editable-path-layer.ts b/modules/layers/src/layers/editable-path-layer.ts index 3ca2a9346..dea9b78a5 100644 --- a/modules/layers/src/layers/editable-path-layer.ts +++ b/modules/layers/src/layers/editable-path-layer.ts @@ -1,4 +1,4 @@ -import { PathLayer, PathLayerProps } from '@deck.gl/layers'; +import { PathLayer, PathLayerProps } from '@deck.gl/layers/typed'; import { insertBefore } from '../utils'; diff --git a/modules/layers/src/layers/elevated-edit-handle-layer.ts b/modules/layers/src/layers/elevated-edit-handle-layer.ts index 7e0b183ba..6174e5efa 100644 --- a/modules/layers/src/layers/elevated-edit-handle-layer.ts +++ b/modules/layers/src/layers/elevated-edit-handle-layer.ts @@ -1,7 +1,7 @@ /* eslint-env browser */ -import { CompositeLayer } from '@deck.gl/core'; -import { ScatterplotLayer, LineLayer } from '@deck.gl/layers'; +import { CompositeLayer } from '@deck.gl/core/typed'; +import { ScatterplotLayer, LineLayer } from '@deck.gl/layers/typed'; const defaultProps = {}; diff --git a/modules/layers/src/layers/junction-scatterplot-layer.ts b/modules/layers/src/layers/junction-scatterplot-layer.ts index 568143270..35ca021f6 100644 --- a/modules/layers/src/layers/junction-scatterplot-layer.ts +++ b/modules/layers/src/layers/junction-scatterplot-layer.ts @@ -1,19 +1,19 @@ -import { CompositeLayer, RGBAColor } from '@deck.gl/core'; -import { ScatterplotLayer } from '@deck.gl/layers'; -import { CompositeLayerProps } from '@deck.gl/core/lib/composite-layer'; +import { CompositeLayer, CompositeLayerProps, DefaultProps } from '@deck.gl/core/typed'; +import { ScatterplotLayer } from '@deck.gl/layers/typed'; + +import { Color } from '../types'; interface JunctionScatterplotLayerProps extends CompositeLayerProps { - getFillColor?: RGBAColor | ((d) => RGBAColor); - getStrokeColor?: RGBAColor | ((d) => RGBAColor); + getFillColor?: Color | ((d) => Color); + getStrokeColor?: Color | ((d) => Color); getInnerRadius?: number | ((d) => number); } export default class JunctionScatterplotLayer extends CompositeLayer< - any, JunctionScatterplotLayerProps > { static layerName = 'JunctionScatterplotLayer'; - static defaultProps: JunctionScatterplotLayerProps = { + static defaultProps: DefaultProps = { ...ScatterplotLayer.defaultProps, getFillColor: (d) => [0, 0, 0, 255], getStrokeColor: (d) => [255, 255, 255, 255], @@ -26,9 +26,9 @@ export default class JunctionScatterplotLayer extends CompositeLayer< // data needs to be passed explicitly after deck.gl 5.3 return [ // the full circles - new ScatterplotLayer({ + new ScatterplotLayer({ ...this.props, - id: `${id}-full`, + id: `${id}-full` as string, data: this.props.data, getLineColor: getStrokeColor, updateTriggers: { @@ -36,9 +36,9 @@ export default class JunctionScatterplotLayer extends CompositeLayer< getStrokeColor: updateTriggers.getStrokeColor, }, }), // the inner part - new ScatterplotLayer({ + new ScatterplotLayer({ ...this.props, - id: `${id}-inner`, + id: `${id}-inner` as string, data: this.props.data, getFillColor, getRadius: getInnerRadius, diff --git a/modules/layers/src/layers/path-marker-layer/create-path-markers.ts b/modules/layers/src/layers/path-marker-layer/create-path-markers.ts index 40090eeff..16ed59cb8 100644 --- a/modules/layers/src/layers/path-marker-layer/create-path-markers.ts +++ b/modules/layers/src/layers/path-marker-layer/create-path-markers.ts @@ -14,7 +14,7 @@ const DEFAULT_DIRECTION = { forward: true, backward: false }; export default function createPathMarkers({ data, - getPath = (x) => x.path, + getPath = (x, context) => x.path, getDirection = (x) => x.direction, getColor = (x) => DEFAULT_COLOR, getMarkerPercentages = (x, info) => [0.5], @@ -23,7 +23,7 @@ export default function createPathMarkers({ const markers = []; for (const object of data) { - const path = getPath(object); + const path = getPath(object, null); const direction = getDirection(object) || DEFAULT_DIRECTION; const color = getColor(object); @@ -34,7 +34,6 @@ export default function createPathMarkers({ const lineLength = getLineLength(vPoints); // Ask for where to put markers - // @ts-ignore const percentages = getMarkerPercentages(object, { lineLength }); // Create the markers diff --git a/modules/layers/src/layers/path-marker-layer/path-marker-layer.ts b/modules/layers/src/layers/path-marker-layer/path-marker-layer.ts index 66fa1421c..e4d65f74a 100644 --- a/modules/layers/src/layers/path-marker-layer/path-marker-layer.ts +++ b/modules/layers/src/layers/path-marker-layer/path-marker-layer.ts @@ -1,4 +1,4 @@ -import { CompositeLayer, COORDINATE_SYSTEM } from '@deck.gl/core'; +import { CompositeLayer, COORDINATE_SYSTEM, DefaultProps } from '@deck.gl/core/typed'; import { ScatterplotLayer } from '@deck.gl/layers'; import { SimpleMeshLayer } from '@deck.gl/mesh-layers'; import PathOutlineLayer, { PathOutlineLayerProps } from '../path-outline-layer/path-outline-layer'; @@ -14,7 +14,7 @@ const ARROW_TAIL_WIDTH = 0.05; const DEFAULT_MARKER_LAYER = SimpleMeshLayer; -export interface PathMarkerLayerProps extends PathOutlineLayerProps { +export type PathMarkerLayerProps = PathOutlineLayerProps & { getDirection?: (x) => any; getMarkerColor?: (x) => number[]; getMarkerPercentages?: (x: any, info: any) => number[]; @@ -25,31 +25,38 @@ export interface PathMarkerLayerProps extends PathOutlineLayerProps { sizeScale?: number; fp64?: boolean; nebulaLayer?: any; -} +}; const DEFAULT_MARKER_LAYER_PROPS = { mesh: new Arrow2DGeometry({ headSize: ARROW_HEAD_SIZE, tailWidth: ARROW_TAIL_WIDTH }), }; -const defaultProps: PathMarkerLayerProps = Object.assign({}, PathOutlineLayer.defaultProps, { - MarkerLayer: DEFAULT_MARKER_LAYER, - markerLayerProps: DEFAULT_MARKER_LAYER_PROPS, - - sizeScale: 100, - fp64: false, - - highlightIndex: -1, - highlightPoint: null, - - getPath: (x) => x.path, - getColor: (x) => x.color, - getMarkerColor: (x) => [0, 0, 0, 255], - getDirection: (x) => x.direction, - getMarkerPercentages: (object, { lineLength }) => - lineLength > DISTANCE_FOR_MULTI_ARROWS ? [0.25, 0.5, 0.75] : [0.5], -}); +const defaultProps: DefaultProps> = Object.assign( + {}, + PathOutlineLayer.defaultProps, + { + MarkerLayer: DEFAULT_MARKER_LAYER, + markerLayerProps: DEFAULT_MARKER_LAYER_PROPS, + + sizeScale: 100, + fp64: false, + + highlightIndex: -1, + highlightPoint: null, + + getPath: (x) => x.path, + getColor: (x) => x.color, + getMarkerColor: (x) => [0, 0, 0, 255], + getDirection: (x) => x.direction, + getMarkerPercentages: (object, { lineLength }) => + lineLength > DISTANCE_FOR_MULTI_ARROWS ? [0.25, 0.5, 0.75] : [0.5], + } +); -export default class PathMarkerLayer extends CompositeLayer> { +export default class PathMarkerLayer< + DataT = any, + ExtraPropsT = Record +> extends CompositeLayer>> { static layerName = 'PathMarkerLayer'; static defaultProps = defaultProps; @@ -60,7 +67,7 @@ export default class PathMarkerLayer extends CompositeLayer this.projectFlat(o, viewport, coordinateSystem, coordinateOrigin); this.state.markers = createPathMarkers({ @@ -110,7 +117,7 @@ export default class PathMarkerLayer extends CompositeLayer= 0) { const object = this.props.data[highlightIndex]; - const points = this.props.getPath(object); + const points = this.props.getPath(object, null); const { point } = getClosestPointOnPolyline({ points, p: highlightPoint }); this.state.closestPoints = [ { @@ -133,7 +140,6 @@ export default class PathMarkerLayer extends CompositeLayer extends PathLayerProps { +export type PathOutlineLayerProps = PathLayerProps & { dashJustified?: boolean; - getDashArray?: [number, number] | ((d: D) => [number, number] | null); - getZLevel?: (d: D, index: number) => number; -} + getDashArray?: [number, number] | ((d: DataT) => [number, number] | null); + getZLevel?: (d: DataT, index: number) => number; +}; -const defaultProps: PathOutlineLayerProps = { +const defaultProps: DefaultProps> = { getZLevel: () => 0, }; export default class PathOutlineLayer< - D, - P extends PathOutlineLayerProps = PathOutlineLayerProps -> extends PathLayer { + DataT = any, + ExtraPropsT = Record +> extends PathLayer>> { static layerName = 'PathOutlineLayer'; static defaultProps = defaultProps; + state: { + model?: any; + pathTesselator: any; + outlineFramebuffer: Framebuffer; + dummyTexture: Texture2D; + }; + // Override getShaders to inject the outline module getShaders() { const shaders = super.getShaders(); @@ -47,8 +54,9 @@ export default class PathOutlineLayer< }); } - initializeState(context: any) { - super.initializeState(context); + // @ts-expect-error PathLayer is missing LayerContext arg + initializeState(context: LayerContext) { + super.initializeState(); // Create an outline "shadow" map // TODO - we should create a single outlineMap for all layers @@ -58,6 +66,7 @@ export default class PathOutlineLayer< }); // Create an attribute manager + // @ts-expect-error check whether this.getAttributeManager works here this.state.attributeManager.addInstanced({ instanceZLevel: { size: 1, @@ -95,7 +104,7 @@ export default class PathOutlineLayer< // Render the outline shadowmap (based on segment z orders) const { outlineFramebuffer, dummyTexture } = this.state; outlineFramebuffer.resize(); - outlineFramebuffer.clear({ color: true, depth: true }); + outlineFramebuffer.clear({ color: true, depth: true, stencil: true }); this.state.model.updateModuleSettings({ outlineEnabled: true, diff --git a/modules/layers/src/layers/selection-layer.ts b/modules/layers/src/layers/selection-layer.ts index b5de59881..0a2179621 100644 --- a/modules/layers/src/layers/selection-layer.ts +++ b/modules/layers/src/layers/selection-layer.ts @@ -1,8 +1,7 @@ /* eslint-env browser */ -import { CompositeLayer } from '@deck.gl/core'; +import { CompositeLayer, CompositeLayerProps, DefaultProps } from '@deck.gl/core/typed'; import { PolygonLayer } from '@deck.gl/layers'; -import { CompositeLayerProps } from '@deck.gl/core/lib/composite-layer'; import { polygon } from '@turf/helpers'; import turfBuffer from '@turf/buffer'; import turfDifference from '@turf/difference'; @@ -25,13 +24,13 @@ const MODE_CONFIG_MAP = { [SELECTION_TYPE.RECTANGLE]: { dragToDraw: true }, }; -interface SelectionLayerProps extends CompositeLayerProps { +interface SelectionLayerProps extends CompositeLayerProps { layerIds: any[]; onSelect: (info: any) => any; selectionType: string | null; } -const defaultProps: SelectionLayerProps = { +const defaultProps: DefaultProps> = { selectionType: SELECTION_TYPE.RECTANGLE, layerIds: [], onSelect: () => {}, @@ -68,20 +67,16 @@ const PASS_THROUGH_PROPS = [ 'getTentativeFillColor', 'getTentativeLineWidth', ]; -export default class SelectionLayer< - D, - P extends SelectionLayerProps = SelectionLayerProps -> extends CompositeLayer { +export default class SelectionLayer extends CompositeLayer< + ExtraPropsT & Required> +> { static layerName = 'SelectionLayer'; static defaultProps = defaultProps; _selectRectangleObjects(coordinates: any) { const { layerIds, onSelect } = this.props; - // @ts-ignore const [x1, y1] = this.context.viewport.project(coordinates[0][0]); - // @ts-ignore const [x2, y2] = this.context.viewport.project(coordinates[0][2]); - // @ts-ignore const pickingInfos = this.context.deck.pickObjects({ x: Math.min(x1, x2), y: Math.min(y1, y2), @@ -95,7 +90,6 @@ export default class SelectionLayer< _selectPolygonObjects(coordinates: any) { const { layerIds, onSelect } = this.props; - // @ts-ignore const mousePoints = coordinates[0].map((c) => this.context.viewport.project(c)); const allX = mousePoints.map((mousePoint) => mousePoint[0]); @@ -130,7 +124,6 @@ export default class SelectionLayer< // HACK, find a better way setTimeout(() => { - // @ts-ignore const pickingInfos = this.context.deck.pickObjects({ x, y, @@ -156,7 +149,7 @@ export default class SelectionLayer< if (this.props[p] !== undefined) inheritedProps[p] = this.props[p]; }); - const layers = [ + const layers: any[] = [ new EditableGeoJsonLayer( this.getSubLayerProps({ id: LAYER_ID_GEOJSON, @@ -184,9 +177,7 @@ export default class SelectionLayer< if (pendingPolygonSelection) { const { bigPolygon } = pendingPolygonSelection; layers.push( - // @ts-ignore new PolygonLayer( - // @ts-ignore this.getSubLayerProps({ id: LAYER_ID_BLOCKER, pickable: true, diff --git a/modules/layers/src/mode-handlers/draw-90degree-polygon-handler.ts b/modules/layers/src/mode-handlers/draw-90degree-polygon-handler.ts index 89a4b370f..a3a540f5a 100644 --- a/modules/layers/src/mode-handlers/draw-90degree-polygon-handler.ts +++ b/modules/layers/src/mode-handlers/draw-90degree-polygon-handler.ts @@ -119,7 +119,7 @@ export class Draw90DegreePolygonHandler extends ModeHandler { // Trigger pointer move right away in order for it to update edit handles (to support double-click) const fakePointerMoveEvent = { - screenCoords: [-1, -1], + screenCoords: [-1, -1] as Position, groundCoords: event.groundCoords, picks: [], isDragging: false, @@ -128,7 +128,7 @@ export class Draw90DegreePolygonHandler extends ModeHandler { pointerDownGroundCoords: null, sourceEvent: null, }; - // @ts-ignore + this.handlePointerMove(fakePointerMoveEvent); return editAction; diff --git a/modules/layers/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts b/modules/layers/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts index 485e1a83b..fd8cbb537 100644 --- a/modules/layers/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +++ b/modules/layers/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts @@ -32,7 +32,7 @@ export class DrawEllipseByBoundingBoxHandler extends TwoClickPolygonHandler { const xSemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[1])), 0.001); const ySemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[3])), 0.001); - // @ts-ignore + // @ts-expect-error turf types diff this._setTentativeFeature(ellipse(centerCoordinates, xSemiAxis, ySemiAxis)); return result; diff --git a/modules/layers/src/mode-handlers/draw-ellipse-using-three-points-handler.ts b/modules/layers/src/mode-handlers/draw-ellipse-using-three-points-handler.ts index 469625bab..3f30fd00f 100644 --- a/modules/layers/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +++ b/modules/layers/src/mode-handlers/draw-ellipse-using-three-points-handler.ts @@ -36,7 +36,7 @@ export class DrawEllipseUsingThreePointsHandler extends ThreeClickPolygonHandler const xSemiAxis = Math.max(distance(centerCoordinates, point(groundCoords)), 0.001); const ySemiAxis = Math.max(distance(p1, p2), 0.001) / 2; const options = { angle: bearing(p1, p2) }; - // @ts-ignore + // @ts-expect-error turf types diff this._setTentativeFeature(ellipse(centerCoordinates, xSemiAxis, ySemiAxis, options)); } diff --git a/modules/layers/src/mode-handlers/draw-point-handler.ts b/modules/layers/src/mode-handlers/draw-point-handler.ts index 8447856bb..7264b5122 100644 --- a/modules/layers/src/mode-handlers/draw-point-handler.ts +++ b/modules/layers/src/mode-handlers/draw-point-handler.ts @@ -1,14 +1,15 @@ +import { Geometry } from '@nebula.gl/edit-modes'; import { ClickEvent } from '../event-types'; import { EditAction, ModeHandler } from './mode-handler'; // TODO edit-modes: delete handlers once EditMode fully implemented export class DrawPointHandler extends ModeHandler { handleClick({ groundCoords }: ClickEvent): EditAction | null | undefined { - const geometry = { + const geometry: Geometry = { type: 'Point', coordinates: groundCoords, }; - // @ts-ignore + return this.getAddFeatureAction(geometry); } } diff --git a/modules/layers/src/mode-handlers/draw-polygon-handler.ts b/modules/layers/src/mode-handlers/draw-polygon-handler.ts index b5f8c7161..41d9f31d3 100644 --- a/modules/layers/src/mode-handlers/draw-polygon-handler.ts +++ b/modules/layers/src/mode-handlers/draw-polygon-handler.ts @@ -69,7 +69,7 @@ export class DrawPolygonHandler extends ModeHandler { // Trigger pointer move right away in order for it to update edit handles (to support double-click) const fakePointerMoveEvent = { - screenCoords: [-1, -1], + screenCoords: [-1, -1] as Position, groundCoords: event.groundCoords, picks: [], isDragging: false, @@ -78,7 +78,7 @@ export class DrawPolygonHandler extends ModeHandler { pointerDownGroundCoords: null, sourceEvent: null, }; - // @ts-ignore + this.handlePointerMove(fakePointerMoveEvent); return editAction; diff --git a/modules/layers/src/mode-handlers/draw-rectangle-handler.ts b/modules/layers/src/mode-handlers/draw-rectangle-handler.ts index d95cb332c..d01511333 100644 --- a/modules/layers/src/mode-handlers/draw-rectangle-handler.ts +++ b/modules/layers/src/mode-handlers/draw-rectangle-handler.ts @@ -18,7 +18,8 @@ export class DrawRectangleHandler extends TwoClickPolygonHandler { const corner1 = clickSequence[0]; const corner2 = event.groundCoords; - // @ts-ignore + + // @ts-expect-error turf type diff this._setTentativeFeature(bboxPolygon([corner1[0], corner1[1], corner2[0], corner2[1]])); return result; diff --git a/modules/layers/src/mode-handlers/elevation-handler.ts b/modules/layers/src/mode-handlers/elevation-handler.ts index 8864eca70..ae6dfca30 100644 --- a/modules/layers/src/mode-handlers/elevation-handler.ts +++ b/modules/layers/src/mode-handlers/elevation-handler.ts @@ -51,14 +51,14 @@ export class ElevationHandler extends ModifyHandler { ): { editAction: EditAction | null | undefined; cancelMapPan: boolean } { const editHandle = getPickedEditHandle(event.pointerDownPicks); const position = editHandle ? editHandle.position : event.groundCoords; - // @ts-ignore + // @ts-expect-error narrow event type return super.handlePointerMove(this.makeElevatedEvent(event, position)); } handleStopDragging(event: StopDraggingEvent): EditAction | null | undefined { const editHandle = getPickedEditHandle(event.picks); const position = editHandle ? editHandle.position : event.groundCoords; - // @ts-ignore + // @ts-expect-error narrow event type return super.handleStopDragging(this.makeElevatedEvent(event, position)); } diff --git a/modules/layers/src/mode-handlers/mode-handler.ts b/modules/layers/src/mode-handlers/mode-handler.ts index 91d700a0c..cfbcaba5f 100644 --- a/modules/layers/src/mode-handlers/mode-handler.ts +++ b/modules/layers/src/mode-handlers/mode-handler.ts @@ -229,10 +229,10 @@ export class ModeHandler { if (modeConfig.booleanOperation === 'union') { updatedGeometry = turfUnion(selectedFeature, feature); } else if (modeConfig.booleanOperation === 'difference') { - // @ts-ignore + // @ts-expect-error turf type diff updatedGeometry = turfDifference(selectedFeature, feature); } else if (modeConfig.booleanOperation === 'intersection') { - // @ts-ignore + // @ts-expect-error turf type diff updatedGeometry = turfIntersect(selectedFeature, feature); } else { // eslint-disable-next-line no-console,no-undef @@ -298,11 +298,11 @@ export function getPickedEditHandle( } export function getIntermediatePosition(position1: Position, position2: Position): Position { - const intermediatePosition = [ + const intermediatePosition: Position = [ (position1[0] + position2[0]) / 2.0, (position1[1] + position2[1]) / 2.0, ]; - // @ts-ignore + return intermediatePosition; } @@ -365,7 +365,7 @@ export function getEditHandlesForGeometry( break; default: - // @ts-ignore + // @ts-expect-error unexpected case throw Error(`Unhandled geometry type: ${geometry.type}`); } diff --git a/modules/layers/src/mode-handlers/modify-handler.ts b/modules/layers/src/mode-handlers/modify-handler.ts index e5bea5582..2aee108a4 100644 --- a/modules/layers/src/mode-handlers/modify-handler.ts +++ b/modules/layers/src/mode-handlers/modify-handler.ts @@ -62,7 +62,7 @@ export class ModifyHandler extends ModeHandler { const lineStringFeature = toLineString(lineString); const candidateIntermediatePoint = this.nearestPointOnLine( - // @ts-ignore + // @ts-expect-error turf type diff lineStringFeature, referencePoint ); diff --git a/modules/layers/src/mode-handlers/rotate-handler.ts b/modules/layers/src/mode-handlers/rotate-handler.ts index 8cdffab8d..2b8323ffc 100644 --- a/modules/layers/src/mode-handlers/rotate-handler.ts +++ b/modules/layers/src/mode-handlers/rotate-handler.ts @@ -71,8 +71,13 @@ export class RotateHandler extends ModeHandler { const startPosition = startDragPoint; const centroid = turfCentroid(this._geometryBeingRotated); const angle = getRotationAngle(centroid, startPosition, currentPoint); - // @ts-ignore - const rotatedFeatures = turfTransformRotate(this._geometryBeingRotated, angle); + + // @ts-expect-error turf type diff + const rotatedFeatures: FeatureCollection = turfTransformRotate( + // @ts-expect-error turf type diff + this._geometryBeingRotated, + angle + ); let updatedData = this.getImmutableFeatureCollection(); diff --git a/modules/layers/src/mode-handlers/scale-handler.ts b/modules/layers/src/mode-handlers/scale-handler.ts index f1206708f..a2ada0881 100644 --- a/modules/layers/src/mode-handlers/scale-handler.ts +++ b/modules/layers/src/mode-handlers/scale-handler.ts @@ -67,10 +67,15 @@ export class ScaleHandler extends ModeHandler { const startPosition = startDragPoint; const centroid = turfCentroid(this._geometryBeingScaled); const factor = getScaleFactor(centroid, startPosition, currentPoint); - // @ts-ignore - const scaledFeatures = turfTransformScale(this._geometryBeingScaled, factor, { - origin: centroid, - }); + // @ts-expect-error turf type diff + const scaledFeatures: FeatureCollection = turfTransformScale( + // @ts-expect-error turf type diff + this._geometryBeingScaled, + factor, + { + origin: centroid, + } + ); let updatedData = this.getImmutableFeatureCollection(); diff --git a/modules/layers/src/mode-handlers/snappable-handler.ts b/modules/layers/src/mode-handlers/snappable-handler.ts index 70ed34b6a..f52aeecc0 100644 --- a/modules/layers/src/mode-handlers/snappable-handler.ts +++ b/modules/layers/src/mode-handlers/snappable-handler.ts @@ -35,7 +35,7 @@ export class SnappableHandler extends ModeHandler { } _getSnappedMouseEvent(event: Record, snapPoint: Position): PointerMoveEvent { - // @ts-ignore + // @ts-expect-error narrow event type return Object.assign({}, event, { groundCoords: snapPoint, pointerDownGroundCoords: this._startDragSnapHandlePosition, @@ -152,7 +152,7 @@ export class SnappableHandler extends ModeHandler { } handleStopDragging(event: StopDraggingEvent): EditAction | null | undefined { - // @ts-ignore + // @ts-expect-error narrow event type const modeActionSummary = this._handler.handleStopDragging(this._getSnapAwareEvent(event)); this._editHandlePicks = null; @@ -171,7 +171,7 @@ export class SnappableHandler extends ModeHandler { if (enableSnapping) { this._editHandlePicks = this._getEditHandlePicks(event); } - // @ts-ignore + // @ts-expect-error narrow event type const modeActionSummary = this._handler.handlePointerMove(this._getSnapAwareEvent(event)); const { editAction } = modeActionSummary; if (editAction) { diff --git a/modules/layers/src/mode-handlers/split-polygon-handler.ts b/modules/layers/src/mode-handlers/split-polygon-handler.ts index 5cef70bde..e7738bb0f 100644 --- a/modules/layers/src/mode-handlers/split-polygon-handler.ts +++ b/modules/layers/src/mode-handlers/split-polygon-handler.ts @@ -23,7 +23,7 @@ export class SplitPolygonHandler extends ModeHandler { // if first point is clicked, then find closest polygon point and build ~90deg vector const firstPoint = clickSequence[0]; const selectedGeometry = this.getSelectedGeometry(); - // @ts-ignore + // @ts-expect-error turf type diff const feature = turfPolygonToLine(selectedGeometry); const lines = feature.type === 'FeatureCollection' ? feature.features : [feature]; @@ -82,11 +82,11 @@ export class SplitPolygonHandler extends ModeHandler { type: 'Point', coordinates: clickSequence[clickSequence.length - 1], }; - // @ts-ignore + // @ts-expect-error turf type diff const isPointInPolygon = booleanPointInPolygon(pt, selectedGeometry); if (clickSequence.length > 1 && tentativeFeature && !isPointInPolygon) { this.resetClickSequence(); - // @ts-ignore + // @ts-expect-error turf type diff const isLineInterectingWithPolygon = lineIntersect(tentativeFeature, selectedGeometry); if (isLineInterectingWithPolygon.features.length === 0) { this._setTentativeFeature(null); @@ -132,9 +132,9 @@ export class SplitPolygonHandler extends ModeHandler { gap = 0.1; units = 'centimeters'; } - // @ts-ignore + // @ts-expect-error turf type diff const buffer = turfBuffer(tentativeFeature, gap, { units }); - // @ts-ignore + // @ts-expect-error turf type diff const updatedGeometry = turfDifference(selectedGeometry, buffer); this._setTentativeFeature(null); if (!updatedGeometry) { @@ -147,17 +147,16 @@ export class SplitPolygonHandler extends ModeHandler { let updatedCoordinates = []; if (type === 'Polygon') { // Update the coordinates as per Multipolygon - // @ts-ignore updatedCoordinates = coordinates.map((c) => [c]); } else { // Handle Case when Multipolygon has holes - // @ts-ignore + // @ts-expect-error revisit coordinates type and logic updatedCoordinates = coordinates.reduce((agg, prev) => { prev.forEach((p) => { agg.push([p]); }); return agg; - }, []); + }, [] as any[]); } // Update the type to Mulitpolygon diff --git a/modules/layers/src/mode-handlers/translate-handler.ts b/modules/layers/src/mode-handlers/translate-handler.ts index e308fdb37..06c1ace06 100644 --- a/modules/layers/src/mode-handlers/translate-handler.ts +++ b/modules/layers/src/mode-handlers/translate-handler.ts @@ -82,8 +82,9 @@ export class TranslateHandler extends ModeHandler { const distanceMoved = turfDistance(p1, p2); const direction = turfBearing(p1, p2); - const movedFeatures = turfTransformTranslate( - // @ts-ignore + // @ts-expect-error turf type diff + const movedFeatures: FeatureCollection = turfTransformTranslate( + // @ts-expect-error turf type diff this._geometryBeforeTranslate, distanceMoved, direction diff --git a/modules/main/package.json b/modules/main/package.json index a8c7537d7..4c62b2c53 100644 --- a/modules/main/package.json +++ b/modules/main/package.json @@ -47,7 +47,7 @@ "test-rendering": "(cd test/rendering-test && webpack-dev-server --config webpack.config.test-rendering.js --progress --hot --open)" }, "dependencies": { - "@luma.gl/constants": "^8.5.10", + "@luma.gl/constants": "^8.5.16", "@nebula.gl/layers": "1.0.4", "@turf/bbox": ">=4.0.0", "@turf/bbox-polygon": ">=4.0.0", @@ -78,12 +78,12 @@ "viewport-mercator-project": ">=6.0.0" }, "peerDependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/extensions": "^8.6.0", - "@deck.gl/geo-layers": "^8.6.0", - "@deck.gl/layers": "^8.6.0", - "@luma.gl/constants": "^8.5.10", - "@luma.gl/core": "^8.5.10" + "@deck.gl/core": "^8.8.17", + "@deck.gl/extensions": "^8.8.17", + "@deck.gl/geo-layers": "^8.8.17", + "@deck.gl/layers": "^8.8.17", + "@luma.gl/constants": "^8.5.16", + "@luma.gl/core": "^8.5.16" }, "gitHead": "8374ab0ac62a52ae8a6b14276694cabced43de35" } diff --git a/modules/main/src/lib/deck-renderer/deck-drawer.ts b/modules/main/src/lib/deck-renderer/deck-drawer.ts index 461977127..898eac8f5 100644 --- a/modules/main/src/lib/deck-renderer/deck-drawer.ts +++ b/modules/main/src/lib/deck-renderer/deck-drawer.ts @@ -6,6 +6,8 @@ import turfBuffer from '@turf/buffer'; import turfDifference from '@turf/difference'; import turfDistance from '@turf/distance'; +import { Color } from '../../types'; + const POLYGON_LINE_COLOR = [0, 255, 0, 255]; const POLYGON_FILL_COLOR = [255, 255, 255, 90]; const POLYGON_LINE_WIDTH = 2; @@ -99,7 +101,8 @@ export default class DeckDrawer { ): { redraw: boolean; deactivate: boolean } { // capture all events (mouse-up is needed to prevent us stuck in moving map) if (event.type !== 'mouseup') event.stopPropagation(); - // @ts-ignore + + // @ts-expect-error revisit selectionType type this.usePolygon = selectionType === SELECTION_TYPE.POLYGON; let redraw = false; @@ -158,7 +161,7 @@ export default class DeckDrawer { _makeStartPointHighlight(center: [number, number]): number[] { const buffer = turfBuffer(point(center), POLYGON_THRESHOLD / 4.0); - // @ts-ignore + // @ts-expect-error revisit return type return turfBboxPolygon(turfBbox(buffer)).geometry.coordinates; } @@ -230,7 +233,6 @@ export default class DeckDrawer { new PolygonLayer({ id: LAYER_ID_VIEW, data, - // @ts-ignore fp64: false, opacity: 1.0, pickable: false, @@ -238,27 +240,20 @@ export default class DeckDrawer { lineWidthMaxPixels: POLYGON_LINE_WIDTH, lineDashJustified: true, getLineDashArray: (x) => POLYGON_DASHES, - // @ts-ignore - getLineColor: (obj) => obj.lineColor || [0, 0, 0, 255], - // @ts-ignore - getFillColor: (obj) => obj.fillColor || [0, 0, 0, 255], - // @ts-ignore - getPolygon: (o) => o.polygon, + getLineColor: (obj: { lineColor?: Color }) => obj.lineColor || [0, 0, 0, 255], + getFillColor: (obj: { fillColor?: Color }) => obj.fillColor || [0, 0, 0, 255], + getPolygon: (o: { polygon?: any }) => o.polygon, }), new PolygonLayer({ id: LAYER_ID_PICK, data: dataPick, - // @ts-ignore - getLineColor: (obj) => obj.lineColor || [0, 0, 0, 255], - // @ts-ignore - getFillColor: (obj) => obj.fillColor || [0, 0, 0, 255], - // @ts-ignore + getLineColor: (obj: { lineColor?: Color }) => obj.lineColor || [0, 0, 0, 255], + getFillColor: (obj: { fillColor?: Color }) => obj.fillColor || [0, 0, 0, 255], fp64: false, opacity: 1.0, stroked: false, pickable: true, - // @ts-ignore - getPolygon: (o) => o.polygon, + getPolygon: (o: { polygon?: any }) => o.polygon, }), ]; } diff --git a/modules/main/src/lib/feature.ts b/modules/main/src/lib/feature.ts index 17ecf669c..7a06c85f8 100644 --- a/modules/main/src/lib/feature.ts +++ b/modules/main/src/lib/feature.ts @@ -22,7 +22,7 @@ export default class Feature { } getCoords(): any { - // @ts-ignore + // @ts-expect-error revisit geometry type return this.geoJson.geometry.coordinates; } } diff --git a/modules/main/src/lib/layers/junctions-layer.ts b/modules/main/src/lib/layers/junctions-layer.ts index de2825266..117aadd50 100644 --- a/modules/main/src/lib/layers/junctions-layer.ts +++ b/modules/main/src/lib/layers/junctions-layer.ts @@ -20,7 +20,7 @@ export default class JunctionsLayer extends NebulaLayer { id: `junctions-${this.id}`, data: objects, opacity: 1, - // @ts-ignore + // @ts-expect-error check deck types fp64: false, pickable: true, getPosition: (nf) => nf.geoJson.geometry.coordinates, diff --git a/modules/main/src/lib/layers/segments-layer.ts b/modules/main/src/lib/layers/segments-layer.ts index 8c8734a52..49a54e2d0 100644 --- a/modules/main/src/lib/layers/segments-layer.ts +++ b/modules/main/src/lib/layers/segments-layer.ts @@ -80,7 +80,7 @@ export default class SegmentsLayer extends NebulaLayer { const defaultColor: [number, number, number, number] = [0x0, 0x0, 0x0, 0xff]; const { objects, updateTrigger } = this.deckCache; - return new PathMarkerLayer({ + return new PathMarkerLayer({ id: `segments-${this.id}`, data: objects, opacity: 1, diff --git a/modules/main/src/lib/layers/texts-layer.ts b/modules/main/src/lib/layers/texts-layer.ts index 7e17d77e0..0372ea69d 100644 --- a/modules/main/src/lib/layers/texts-layer.ts +++ b/modules/main/src/lib/layers/texts-layer.ts @@ -4,6 +4,7 @@ import NebulaLayer from '../nebula-layer'; import { toDeckColor } from '../utils'; import { PROJECTED_PIXEL_SIZE_MULTIPLIER } from '../constants'; import DeckCache from '../deck-renderer/deck-cache'; +import { Color } from '../../types'; export default class TextsLayer extends NebulaLayer { deckCache: DeckCache; @@ -14,7 +15,7 @@ export default class TextsLayer extends NebulaLayer { } render({ nebula }: Record) { - const defaultColor = [0x0, 0x0, 0x0, 0xff]; + const defaultColor: Color = [0x0, 0x0, 0x0, 0xff]; const { objects, updateTrigger } = this.deckCache; const { zoom } = nebula.props.viewport; @@ -26,12 +27,10 @@ export default class TextsLayer extends NebulaLayer { fp64: false, pickable: false, - // @ts-ignore - getText: (nf) => nf.style.text, - // @ts-ignore - getPosition: (nf) => nf.geoJson.geometry.coordinates, - // @ts-ignore - getColor: (nf) => toDeckColor(nf.style.fillColor) || defaultColor, + getText: (nf: any) => nf.style.text, + getPosition: (nf: any) => nf.geoJson.geometry.coordinates, + getColor: (nf: { style: { fillColor: Color } }) => + toDeckColor(nf.style.fillColor) || defaultColor, // TODO: layer should offer option to scale with zoom sizeScale: 1 / Math.pow(2, 20 - zoom), diff --git a/modules/main/src/lib/nebula-layer.ts b/modules/main/src/lib/nebula-layer.ts index 02e806061..bf7daca30 100644 --- a/modules/main/src/lib/nebula-layer.ts +++ b/modules/main/src/lib/nebula-layer.ts @@ -23,7 +23,6 @@ export default class NebulaLayer extends Event.EventEmitter { this.helperLayers = []; if (on) { - // @ts-ignore Object.keys(on).forEach((key) => this.on(key, on[key])); } } diff --git a/modules/main/src/lib/nebula.ts b/modules/main/src/lib/nebula.ts index 066befde1..7c8480b0c 100644 --- a/modules/main/src/lib/nebula.ts +++ b/modules/main/src/lib/nebula.ts @@ -2,7 +2,7 @@ import { EventEmitter } from 'events'; import document from 'global/document'; import window from 'global/window'; -import { WebMercatorViewport } from '@deck.gl/core'; +import { WebMercatorViewport } from '@deck.gl/core/typed'; import DeckDrawer from './deck-renderer/deck-drawer'; import LayerMouseEvent from './layer-mouse-event'; @@ -43,7 +43,7 @@ export default class Nebula { _mouseWasDown: boolean; wmViewport: WebMercatorViewport; queryObjectEvents: EventEmitter = new EventEmitter(); - forceUpdate: Function; + forceUpdate: () => any; inited: boolean; log(message: string) { @@ -148,12 +148,11 @@ export default class Nebula { }; getMouseGroundPosition(event: Record) { - return this.wmViewport.unproject([event.offsetX, event.offsetY]); + return this.wmViewport.unproject([event.offsetX, event.offsetY]) as [number, number]; } unprojectMousePosition(mousePosition: [number, number]): [number, number] { - // @ts-ignore - return this.wmViewport.unproject(mousePosition); + return this.wmViewport.unproject(mousePosition) as [number, number]; } _handleDeckGLEvent(event: Record) { @@ -169,7 +168,6 @@ export default class Nebula { const lngLat = this.getMouseGroundPosition(event); if (eventFilter && !eventFilter(lngLat, event)) return; - // @ts-ignore const drawerResult = this._deckDrawer.handleEvent(event, lngLat, selectionType); if (drawerResult.redraw) this.forceUpdate(); return; @@ -215,7 +213,7 @@ export default class Nebula { if (original) { this.deckglMouseOverInfo = { originalLayer: deckLayer.props.nebulaLayer, index }; - // @ts-ignore + // @ts-expect-error narrow event type const nebulaMouseEvent = new LayerMouseEvent(event, { data: original, metadata: object.metadata, @@ -241,7 +239,7 @@ export default class Nebula { if (eventFilter && !eventFilter(lngLat, event)) return; // send to layers first - // @ts-ignore + // @ts-expect-error narrow event type const nebulaMouseEvent = new LayerMouseEvent(event, { groundPoint: lngLat, nebula: this, diff --git a/modules/main/src/lib/utils.ts b/modules/main/src/lib/utils.ts index 5d3128d1a..3f6ad46fe 100644 --- a/modules/main/src/lib/utils.ts +++ b/modules/main/src/lib/utils.ts @@ -36,7 +36,7 @@ export function toDeckColor( export function recursivelyTraverseNestedArrays( array: Array, prefix: Array, - fn: Function + fn: (array_: Array, prefix_: Array) => any ) { if (!Array.isArray(array[0])) { return true; diff --git a/modules/react-map-gl-draw/src/edit-modes/base-mode.ts b/modules/react-map-gl-draw/src/edit-modes/base-mode.ts index 3b04a4a95..c91ccd60c 100644 --- a/modules/react-map-gl-draw/src/edit-modes/base-mode.ts +++ b/modules/react-map-gl-draw/src/edit-modes/base-mode.ts @@ -63,7 +63,7 @@ export default class BaseMode implements EditMode { return { type: 'Feature', @@ -83,9 +83,8 @@ export default class BaseMode implements EditMode, featureIndex: number | null | undefined) { + getSelectedFeature(props: ModeProps, featureIndex?: number | null) { const { data, selectedIndexes } = props; - // @ts-ignore const features = data && data.features; const selectedIndex = isNumeric(featureIndex) diff --git a/modules/react-map-gl-draw/src/edit-modes/editing-mode.ts b/modules/react-map-gl-draw/src/edit-modes/editing-mode.ts index cf68935ca..a12309097 100644 --- a/modules/react-map-gl-draw/src/edit-modes/editing-mode.ts +++ b/modules/react-map-gl-draw/src/edit-modes/editing-mode.ts @@ -1,4 +1,4 @@ -import { ImmutableFeatureCollection } from '@nebula.gl/edit-modes'; +import { ImmutableFeatureCollection, GuideFeatureCollection } from '@nebula.gl/edit-modes'; import type { Feature, FeatureCollection, @@ -22,12 +22,10 @@ export default class EditingMode extends BaseMode { handleClick(event: ClickEvent, props: ModeProps) { const picked = event.picks && event.picks[0]; const selectedFeatureIndex = props.selectedIndexes && props.selectedIndexes[0]; - // @ts-ignore if (!picked || !picked.object || picked.featureIndex !== selectedFeatureIndex) { return; } - // @ts-ignore const { type: objectType, featureIndex, index } = picked; const feature = this.getSelectedFeature(props, featureIndex); @@ -41,14 +39,14 @@ export default class EditingMode extends BaseMode { if (!coordinates) { return; } - // @ts-ignore + + // @ts-expect-error narrow type of coordinates const insertIndex = (index + 1) % coordinates.length; const positionIndexes = feature.geometry.type === SHAPE.POLYGON ? [0, insertIndex] : [insertIndex]; const insertMapCoords = this._getPointOnSegment(feature, picked, event.mapCoords); const updatedData = new ImmutableFeatureCollection(props.data) - // @ts-ignore .addPosition(featureIndex, positionIndexes, insertMapCoords) .getObject(); @@ -59,8 +57,8 @@ export default class EditingMode extends BaseMode { { featureIndex, editHandleIndex: insertIndex, - // @ts-ignore - screenCoords: props.viewport && props.viewport.project(insertMapCoords), + screenCoords: + props.viewport && props.viewport.project(insertMapCoords as [number, number]), mapCoords: insertMapCoords, }, ], @@ -72,7 +70,6 @@ export default class EditingMode extends BaseMode { // replace point const picked = event.picks && event.picks[0]; - // @ts-ignore if (!picked || !picked.object || !isNumeric(picked.featureIndex)) { return; } @@ -94,20 +91,17 @@ export default class EditingMode extends BaseMode { props: ModeProps ) { const { onEdit } = props; - // @ts-ignore const selectedFeature = this.getSelectedFeature(props); // nothing clicked - // @ts-ignore + // @ts-expect-error check event type const { isDragging, pointerDownPicks, screenCoords } = event; const { lastPointerMoveEvent } = props; const clicked = pointerDownPicks && pointerDownPicks[0]; - // @ts-ignore if (!clicked || !clicked.object || !isNumeric(clicked.featureIndex)) { return; } - // @ts-ignore const { type: objectType, index: editHandleIndex } = clicked; // not dragging @@ -154,12 +148,11 @@ export default class EditingMode extends BaseMode { handlePointerMove(event: PointerMoveEvent, props: ModeProps) { // no selected feature - // @ts-ignore const selectedFeature = this.getSelectedFeature(props); if (!selectedFeature) { return; } - // @ts-ignore + // @ts-expect-error check event type if (!event.isDragging) { return; } @@ -180,7 +173,7 @@ export default class EditingMode extends BaseMode { return null; } - // @ts-ignore + // @ts-expect-error narrow coordinates' type let newCoordinates = [...coordinates]; switch (type) { @@ -197,10 +190,8 @@ export default class EditingMode extends BaseMode { case 'feature': const { dx, dy } = options; - // @ts-ignore newCoordinates = newCoordinates .map((mapCoords) => { - // @ts-ignore const pixels = viewport && viewport.project(mapCoords); if (pixels) { pixels[0] += dx; @@ -227,7 +218,7 @@ export default class EditingMode extends BaseMode { case 'rectangle': // moved editHandleIndex and destination mapCoords newCoordinates = updateRectanglePosition( - // @ts-ignore + // @ts-expect-error turf type diff feature, options.editHandleIndex, options.mapCoords @@ -254,7 +245,6 @@ export default class EditingMode extends BaseMode { const srcVertexIndex = picked.index; const targetVertexIndex = picked.index + 1; return findClosestPointOnLineSegment( - // @ts-ignore coordinates[srcVertexIndex], coordinates[targetVertexIndex], pickedMapCoords @@ -269,11 +259,10 @@ export default class EditingMode extends BaseMode { return null; } - // @ts-ignore + // @ts-expect-error check event type const { isDragging, picks } = event; // if not pick segment const picked = picks && picks[0]; - // @ts-ignore if (!picked || !isNumeric(picked.featureIndex) || picked.type !== ELEMENT_TYPE.SEGMENT) { return null; } @@ -307,9 +296,8 @@ export default class EditingMode extends BaseMode { }, }; } - // @ts-ignore - getGuides(props: ModeProps) { - // @ts-ignore + + getGuides(props: ModeProps): GuideFeatureCollection { const selectedFeature = this.getSelectedFeature(props); const selectedFeatureIndex = props.selectedIndexes && props.selectedIndexes[0]; @@ -325,7 +313,6 @@ export default class EditingMode extends BaseMode { // cursor editHandle const cursorEditHandle = this._getCursorEditHandle(event, selectedFeature); if (cursorEditHandle) { - // @ts-ignore editHandles.push(cursorEditHandle); } diff --git a/modules/react-map-gl-draw/src/edit-modes/utils.ts b/modules/react-map-gl-draw/src/edit-modes/utils.ts index 1ff51a6e7..115d9f830 100644 --- a/modules/react-map-gl-draw/src/edit-modes/utils.ts +++ b/modules/react-map-gl-draw/src/edit-modes/utils.ts @@ -60,7 +60,11 @@ export function getScreenCoords(evt: MjolnirEvent) { return [Number(x), Number(y)]; } -export function findClosestPointOnLineSegment(p1: Position, p2: Position, p: Position) { +export function findClosestPointOnLineSegment( + p1: Position, + p2: Position, + p: Position +): Position | null { // line const k = (p2[1] - p1[1]) / (p2[0] - p1[0]); const b = p1[1] - k * p1[0]; @@ -79,7 +83,7 @@ export function findClosestPointOnLineSegment(p1: Position, p2: Position, p: Pos const qx = (k * p[1] + p[0] - k * b) / (k * k + 1); const qy = k * qx + b; - return inBounds(p1, p2, [qx, qy]) ? [qx, qy] : null; + return inBounds(p1, p2, [qx, qy]) ? ([qx, qy] as Position) : null; } export function getFeatureCoordinates(feature: Feature) { @@ -102,7 +106,8 @@ export function updateRectanglePosition( if (!coordinates) { return null; } - // @ts-ignore + + // @ts-expect-error narrow coordinates' type const points = coordinates.slice(0, 4); points[editHandleIndex % 4] = mapCoords; diff --git a/package.json b/package.json index d6870d221..7b8886cee 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ ], "scripts": { "start": "open http://nebula.gl/docs", - "start-example": "lerna run start-local --scope=example-advance --stream", + "start-example": "lerna run start-local --scope=example-advanced --stream", "bootstrap": "lerna bootstrap", "build": "lerna run build --stream", "prettier": "prettier --write \"{modules,examples,test,dev-docs,docs,website}/**/*.{ts,tsx,js,md}\"", @@ -35,8 +35,7 @@ "test-ci": "yarn run lint && yarn run prettier-diff && yarn run build && yarn run types-check && yarn run jest-cover", "jest": "jest", "jest-cover": "jest --coverage", - "publish-docs": "./publish-docs.sh", - "postinstall": "scripts/copyDeckglTypes.sh" + "publish-docs": "./publish-docs.sh" }, "devDependencies": { "@babel/cli": "^7.8.4", @@ -48,12 +47,12 @@ "@babel/preset-react": "7.9.4", "@babel/preset-typescript": "7.9.0", "@babel/register": "7.9.0", - "@deck.gl/core": "^8.6.0", - "@deck.gl/geo-layers": "^8.6.0", - "@deck.gl/extensions": "^8.6.0", - "@deck.gl/layers": "^8.6.0", - "@deck.gl/mesh-layers": "^8.6.0", - "@deck.gl/react": "^8.6.0", + "@deck.gl/core": "^8.8.17", + "@deck.gl/geo-layers": "^8.8.17", + "@deck.gl/extensions": "^8.8.17", + "@deck.gl/layers": "^8.8.17", + "@deck.gl/mesh-layers": "^8.8.17", + "@deck.gl/react": "^8.8.17", "@types/geojson": "^7946.0.7", "@types/jest": "25.2.1", "@types/react": "16.9.32", @@ -62,8 +61,8 @@ "@types/styled-components": "4.4.3", "@types/uuid": "7.0.2", "@types/viewport-mercator-project": "6.1.0", - "@typescript-eslint/eslint-plugin": "2.26.0", - "@typescript-eslint/parser": "2.26.0", + "@typescript-eslint/eslint-plugin": "^4.1.1", + "@typescript-eslint/parser": "^4.1.1", "babel-eslint": "10.1.0", "babel-jest": "25.2.6", "babel-loader": "8.1.0", @@ -102,11 +101,8 @@ "tape-catch": "^1.0.4", "transform-loader": "^0.2.3", "ts-jest": "25.3.1", - "ts-loader": "^7.0.0", - "typescript": "3.8.3" - }, - "resolutions": { - "indefinitely-typed": "1.1.0" + "ts-loader": "^8.4.0", + "typescript": "4.4.4" }, "husky": { "hooks": { diff --git a/scripts/copyDeckglTypes.sh b/scripts/copyDeckglTypes.sh deleted file mode 100755 index f3b0216f5..000000000 --- a/scripts/copyDeckglTypes.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash -# This script makes sure that @danmarshall/deckgl-typings is copied to node_modules/@types -# The package has a script to do the same thing but it seems to be having issues with linux/mac - -typesPackageFolder="node_modules/@danmarshall/deckgl-typings" - -declare -a folders=( - deck.gl__aggregation-layers - deck.gl__core - deck.gl__layers - deck.gl__google-maps - deck.gl__json - deck.gl__mapbox - deck.gl__mesh-layers - deck.gl__geo-layers - deck.gl__extensions - deck.gl__react - deck.gl - luma.gl__webgl-state-tracker - luma.gl__webgl - luma.gl__shadertools - luma.gl__core - math.gl - - -) -echo "Copying Deck.gl types to node_modules/@types folder ..." -for folder in "${folders[@]}" -do - if [[ -d "${typesPackageFolder}/${folder}" ]]; then - cp -R "${typesPackageFolder}/${folder}" node_modules/@types/ - fi -done -echo "Completed copying Deck.gl types" \ No newline at end of file diff --git a/website/package.json b/website/package.json index 381bfdd6b..ba2afd8d7 100644 --- a/website/package.json +++ b/website/package.json @@ -18,12 +18,12 @@ "fix-mjs-bug": "find ../node_modules -name '*.mjs' | xargs rm" }, "dependencies": { - "@deck.gl/core": "^8.6.0", - "@deck.gl/layers": "^8.6.0", - "@deck.gl/react": "^8.6.0", - "@luma.gl/constants": "^8.5.10", - "@luma.gl/core": "^8.5.10", - "@luma.gl/webgl": "^8.5.10", + "@deck.gl/core": "^8.8.17", + "@deck.gl/layers": "^8.8.17", + "@deck.gl/react": "^8.8.17", + "@luma.gl/constants": "^8.5.16", + "@luma.gl/core": "^8.5.16", + "@luma.gl/webgl": "^8.5.16", "@probe.gl/stats-widget": "^3.0.1", "gl": "^4.2.2", "react": "^16.6.0", diff --git a/yarn.lock b/yarn.lock index ac4b913bb..4efc27a83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1111,79 +1111,81 @@ exec-sh "^0.3.2" minimist "^1.2.0" -"@danmarshall/deckgl-typings@4.9.12": - version "4.9.12" - resolved "https://registry.yarnpkg.com/@danmarshall/deckgl-typings/-/deckgl-typings-4.9.12.tgz#81ed316353550996cf5a139f40d8c01384264a93" - integrity sha512-hRXXDepfieobs+YFcjhoSXS97boSqgMAlWKREGwxBbqO/mE2seNJgQHPedsR+DeGJiK3hJsQmykt8TO51shJ4g== - dependencies: - "@types/hammerjs" "^2.0.36" - "@types/react" "*" - indefinitely-typed "^1.1.0" - -"@deck.gl/core@^8.6.0": - version "8.6.0" - resolved "https://registry.yarnpkg.com/@deck.gl/core/-/core-8.6.0.tgz#8817b75a50f41844bbcc1a2589f3fc90d522a85b" - integrity sha512-ZJ10LT3y7aximvKQ04Ipcl+DjHeyKefoRVzusm0uVyBzmEZKKRAoKD0yxOfevRYVePfzcjLs1VwDpe62RerDbQ== - dependencies: - "@loaders.gl/core" "^3.0.8" - "@loaders.gl/images" "^3.0.8" - "@luma.gl/core" "^8.5.10" - "@math.gl/web-mercator" "^3.5.4" +"@deck.gl/core@^8.8.17": + version "8.8.17" + resolved "https://registry.yarnpkg.com/@deck.gl/core/-/core-8.8.17.tgz#c33390fda72bccac5872bdb606e60942e825a1db" + integrity sha512-lBJrO4iPa5bQUhLYXKP2C1Xwe/YaGZ/gXfviWzGHblJ972mSdrvE3Ro13fYyODCjmCRtUvdW4AfQ4TQBLLeetQ== + dependencies: + "@loaders.gl/core" "^3.2.10" + "@loaders.gl/images" "^3.2.10" + "@luma.gl/constants" "^8.5.16" + "@luma.gl/core" "^8.5.16" + "@math.gl/core" "^3.6.2" + "@math.gl/sun" "^3.6.2" + "@math.gl/web-mercator" "^3.6.2" + "@probe.gl/env" "^3.5.0" + "@probe.gl/log" "^3.5.0" + "@probe.gl/stats" "^3.5.0" gl-matrix "^3.0.0" - math.gl "^3.5.4" - mjolnir.js "^2.5.0" - probe.gl "^3.4.0" - -"@deck.gl/extensions@^8.6.0": - version "8.6.0" - resolved "https://registry.yarnpkg.com/@deck.gl/extensions/-/extensions-8.6.0.tgz#0e124c1a4c20814765e387415047789d841bf5b4" - integrity sha512-uLdKPtcMxZdEIYcVc+9FKh5jgTlolaqJv0gmQtplYgt4ROfZGJoEgy29tZwFZUlF+9QdlsB2U26IRfquD0r5mQ== - dependencies: - "@luma.gl/shadertools" "^8.5.10" - -"@deck.gl/geo-layers@^8.6.0": - version "8.6.0" - resolved "https://registry.yarnpkg.com/@deck.gl/geo-layers/-/geo-layers-8.6.0.tgz#4e77e75569746ac23bc63c2c9559e04022979951" - integrity sha512-xeyk7YRVH+/NUefh55O2hLUGzwWIlQk7c4Jg1gBG6HeFoPYWmk5oPXUdbAeKTw0pzq4qlLqEOgQqma6gAT/mCw== - dependencies: - "@loaders.gl/3d-tiles" "^3.0.8" - "@loaders.gl/gis" "^3.0.8" - "@loaders.gl/loader-utils" "^3.0.8" - "@loaders.gl/mvt" "^3.0.8" - "@loaders.gl/terrain" "^3.0.8" - "@loaders.gl/tiles" "^3.0.8" - "@luma.gl/experimental" "^8.5.10" - "@math.gl/culling" "^3.5.4" - "@math.gl/web-mercator" "^3.5.4" - h3-js "^3.6.0" + math.gl "^3.6.2" + mjolnir.js "^2.7.0" + +"@deck.gl/extensions@^8.8.17": + version "8.8.17" + resolved "https://registry.yarnpkg.com/@deck.gl/extensions/-/extensions-8.8.17.tgz#b5dc0c2dc8c068b0f8f6a305781ac285257be02a" + integrity sha512-cglLGXDmZIU9/sZD07HUvtch9OHLxF7HaMzmN/LFuC8twEfI1AVnq3YJFp5GqXYvXfmWyUYJAMFkEAxo9GCOoQ== + dependencies: + "@luma.gl/shadertools" "^8.5.16" + +"@deck.gl/geo-layers@^8.8.17": + version "8.8.17" + resolved "https://registry.yarnpkg.com/@deck.gl/geo-layers/-/geo-layers-8.8.17.tgz#d43e633c0bd064c2200f724f86aac0a5857a3e30" + integrity sha512-8OykrnOptc5QMy9TVmikx4t2L6AzfFB2jGBNSUaCxPg98LuFab1aSSZKMcAVP5yPJ9AGFj49Fb4OsHhABQlQRQ== + dependencies: + "@loaders.gl/3d-tiles" "^3.2.10" + "@loaders.gl/gis" "^3.2.10" + "@loaders.gl/loader-utils" "^3.2.10" + "@loaders.gl/mvt" "^3.2.10" + "@loaders.gl/schema" "^3.2.10" + "@loaders.gl/terrain" "^3.2.10" + "@loaders.gl/tiles" "^3.2.10" + "@luma.gl/constants" "^8.5.16" + "@luma.gl/experimental" "^8.5.16" + "@math.gl/core" "^3.6.2" + "@math.gl/culling" "^3.6.2" + "@math.gl/web-mercator" "^3.6.2" + "@types/geojson" "^7946.0.8" + h3-js "^3.7.0" long "^3.2.0" - math.gl "^3.5.4" -"@deck.gl/layers@^8.6.0": - version "8.6.0" - resolved "https://registry.yarnpkg.com/@deck.gl/layers/-/layers-8.6.0.tgz#a4ab1bebf40fb9172fee9ea906b4947153fb74c0" - integrity sha512-hskVLnOEsCPRhuX3lvoty9Ud93DDvGR0ndKQHXqgsnUSx1dNveRRdRcEm+Vy5i/55g+eR7/Nf4pcsJsjxjsl7Q== +"@deck.gl/layers@^8.8.17": + version "8.8.17" + resolved "https://registry.yarnpkg.com/@deck.gl/layers/-/layers-8.8.17.tgz#ddd0d49e4145e3bc2c829a6ed2c1b50b506f6be9" + integrity sha512-6p1F90DqN567lFGlHClY/8d2o7rBiw42WZzoXg35YgRAzPxZr+vuRd41Vji1j1pDnXKdD1l1oXMF9qTwFF6pJg== dependencies: - "@loaders.gl/images" "^3.0.8" + "@loaders.gl/images" "^3.2.10" + "@loaders.gl/schema" "^3.2.10" + "@luma.gl/constants" "^8.5.16" "@mapbox/tiny-sdf" "^1.1.0" - "@math.gl/polygon" "^3.5.4" + "@math.gl/core" "^3.6.2" + "@math.gl/polygon" "^3.6.2" + "@math.gl/web-mercator" "^3.6.2" earcut "^2.0.6" -"@deck.gl/mesh-layers@^8.6.0": - version "8.6.0" - resolved "https://registry.yarnpkg.com/@deck.gl/mesh-layers/-/mesh-layers-8.6.0.tgz#80276c32e222724132a2816528a3b5856e9a0749" - integrity sha512-4JHsjEOG8meE1ymesBXK8uzyXXjqFOLHCVibXTF89KR9mLb6t3tdG4LHrGAAKNnOn1mfF4ur2UR6SJ/QzE8l/w== +"@deck.gl/mesh-layers@^8.8.17": + version "8.8.17" + resolved "https://registry.yarnpkg.com/@deck.gl/mesh-layers/-/mesh-layers-8.8.17.tgz#faf3d0015ecd8fb2f627c17f43661351162142a0" + integrity sha512-/xi8f4n9uL4azCqvFYXXGGzLFbQ2v9NSE9fCwQ4RBizZ0wwEaLrNxSDNVFyokkbVdEdqiM0hnOIE5z2IFM8bHw== dependencies: - "@loaders.gl/gltf" "^3.0.8" - "@luma.gl/experimental" "^8.5.10" - "@luma.gl/shadertools" "^8.5.10" + "@loaders.gl/gltf" "^3.2.10" + "@luma.gl/constants" "^8.5.16" + "@luma.gl/experimental" "^8.5.16" + "@luma.gl/shadertools" "^8.5.16" -"@deck.gl/react@^8.6.0": - version "8.6.0" - resolved "https://registry.yarnpkg.com/@deck.gl/react/-/react-8.6.0.tgz#95de11a74978d0cb5d39bbcb3441bd6b7dadb140" - integrity sha512-l8uA1UQJKDNzG51D5tl5XKzCT5FNBfzlYutd2eZ20aE5eF34WkL63Ca1I/bbNrq8w72YpHsJwd4s7hbcXe3+DA== - dependencies: - prop-types "^15.6.0" +"@deck.gl/react@^8.8.17": + version "8.8.17" + resolved "https://registry.yarnpkg.com/@deck.gl/react/-/react-8.8.17.tgz#af62f2df238349cafa0e8e560e0cce2e80b73d4a" + integrity sha512-OfLbXPI8cw9mgKRR1WoVMNOJ3d2BtmHKA6QtAyRvbCv4edwQve7xqNKwnnvGsn+Cg9pfMq4o49mtaTcErvpNAg== "@emotion/is-prop-valid@^0.8.1": version "0.8.8" @@ -2132,30 +2134,19 @@ npmlog "^4.1.2" write-file-atomic "^2.3.0" -"@loaders.gl/3d-tiles@^3.0.8": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/3d-tiles/-/3d-tiles-3.0.12.tgz#e2e6354850a852f0e81ce1d93007c5bab4b2922a" - integrity sha512-tloGePghtRi7Joftqbab9AVyJoc++vN5FR4W3wA3xcw7hLRMYb09OqEMJG25t1IdkF6kq0itXX4VOPuegR0DAQ== - dependencies: - "@loaders.gl/core" "3.0.12" - "@loaders.gl/draco" "3.0.12" - "@loaders.gl/gltf" "3.0.12" - "@loaders.gl/loader-utils" "3.0.12" - "@loaders.gl/math" "3.0.12" - "@loaders.gl/tiles" "3.0.12" +"@loaders.gl/3d-tiles@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/3d-tiles/-/3d-tiles-3.2.11.tgz#e44b64a896dcbc3c59ca98ed49cd1d94f3f00e11" + integrity sha512-PEbpgKWXGhmPpR8DWdpO806BYCDT18Pc7l8JAmZAaRrNDGXcCk1zbIMCEHeeFnDcFQMj3skXZC+R5LW0zm2X0A== + dependencies: + "@loaders.gl/draco" "3.2.11" + "@loaders.gl/gltf" "3.2.11" + "@loaders.gl/loader-utils" "3.2.11" + "@loaders.gl/math" "3.2.11" + "@loaders.gl/tiles" "3.2.11" "@math.gl/core" "^3.5.1" "@math.gl/geospatial" "^3.5.1" -"@loaders.gl/core@3.0.12", "@loaders.gl/core@^3.0.8": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/core/-/core-3.0.12.tgz#2dcde94e1382d846db8c5ac803a44e195f28b40c" - integrity sha512-+y7NaFUvnQtMt80UCj9D1vP23WSEKNibbMRNp1XavUdR+cCjjXpG4Rxl02eUmkv79V8wTXCawj2hKNFtURuXyw== - dependencies: - "@babel/runtime" "^7.3.1" - "@loaders.gl/loader-utils" "3.0.12" - "@loaders.gl/worker-utils" "3.0.12" - probe.gl "^3.4.0" - "@loaders.gl/core@^2.1.2": version "2.3.13" resolved "https://registry.yarnpkg.com/@loaders.gl/core/-/core-2.3.13.tgz#093fe965cfab0a72c902a63d461282ae1ed55dc2" @@ -2164,43 +2155,55 @@ "@babel/runtime" "^7.3.1" "@loaders.gl/loader-utils" "2.3.13" -"@loaders.gl/draco@3.0.12": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/draco/-/draco-3.0.12.tgz#22bd3e777c5bd72fd369b02e44dad441457a0045" - integrity sha512-tkuRsG7E2WPfCw1MTESLyZnfmf+lIb7hY602EXNB13XhCVvz1vhxOJfpZ4JWBvZiByB6fLQ4YuePHVjCX20+kA== +"@loaders.gl/core@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/core/-/core-3.2.11.tgz#711116a1c1a9ff3b26ff1684d34bc60ebb94ef66" + integrity sha512-uWQM1ZAuN0VYWEMMMwrlTKE1c4gor9SgCQXn8TlAW/4+9sL9KJ09T6AxgzYYAFdJmzTmT8BtC5aPUEYv031nRQ== + dependencies: + "@babel/runtime" "^7.3.1" + "@loaders.gl/loader-utils" "3.2.11" + "@loaders.gl/worker-utils" "3.2.11" + "@probe.gl/log" "^3.5.0" + probe.gl "^3.4.0" + +"@loaders.gl/draco@3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/draco/-/draco-3.2.11.tgz#9d4757ccf712ae93adaacb5636fb4beadd22d0d6" + integrity sha512-cGLcMWFe/AP5ExVEPt23Q4uo8Ewbo6hCBvcFX+b9VDfz/mIbUNa0DLRRtSi7eKgCJBRCQ/MLLz3SCm5OL5CjEA== dependencies: "@babel/runtime" "^7.3.1" - "@loaders.gl/loader-utils" "3.0.12" - "@loaders.gl/schema" "3.0.12" - "@loaders.gl/worker-utils" "3.0.12" + "@loaders.gl/loader-utils" "3.2.11" + "@loaders.gl/schema" "3.2.11" + "@loaders.gl/worker-utils" "3.2.11" draco3d "1.4.1" -"@loaders.gl/gis@3.0.12", "@loaders.gl/gis@^3.0.8": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/gis/-/gis-3.0.12.tgz#19c33da7f2d4da9275a7a1a08e196182be718b69" - integrity sha512-NdEhcoubp/MJxNNserY7WHXCBbRCoZXZEuhK8sua7B6WWAAm5Mlv2dCV+HaLLPDG8rQSOWXJb3hqDpwsNY1/uQ== +"@loaders.gl/gis@3.2.11", "@loaders.gl/gis@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/gis/-/gis-3.2.11.tgz#5273cdd18f044e76cc0410003d1503454b04c1d6" + integrity sha512-Nehg3QCCFP/GY5ybX5Tbio1hreq0riCvldOefMNp6rVOF1+VX5+oRCEtUP/NdqITzcllRKcqAQF2hFWIY6ozZQ== dependencies: - "@loaders.gl/loader-utils" "3.0.12" - "@loaders.gl/schema" "3.0.12" + "@loaders.gl/loader-utils" "3.2.11" + "@loaders.gl/schema" "3.2.11" "@mapbox/vector-tile" "^1.3.1" + "@math.gl/polygon" "^3.5.1" pbf "^3.2.1" -"@loaders.gl/gltf@3.0.12", "@loaders.gl/gltf@^3.0.8": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/gltf/-/gltf-3.0.12.tgz#d107be498e2159cfe9c76038aff0b6794c71b0d1" - integrity sha512-Tyyptusa4DjTZkqsNIGSoIeQN01t2nLTB6n+38OwMGFxA+LHopiAJ9cNfmWybJNx5KSYTcrbIrzcSioYWZiTEA== +"@loaders.gl/gltf@3.2.11", "@loaders.gl/gltf@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/gltf/-/gltf-3.2.11.tgz#81be57a78504cb859bfe3c39352e0f48a92c4a62" + integrity sha512-jhVFjNWMPydWB7MJVxSGGGdd3zhVgD94WsFKq9L/HcrdMY6s3nQtinALHXErh/G4XjH3efnjkZXfrE8KDzaJsw== dependencies: - "@loaders.gl/core" "3.0.12" - "@loaders.gl/draco" "3.0.12" - "@loaders.gl/images" "3.0.12" - "@loaders.gl/loader-utils" "3.0.12" + "@loaders.gl/draco" "3.2.11" + "@loaders.gl/images" "3.2.11" + "@loaders.gl/loader-utils" "3.2.11" + "@loaders.gl/textures" "3.2.11" -"@loaders.gl/images@3.0.12", "@loaders.gl/images@^3.0.8": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/images/-/images-3.0.12.tgz#06a823bcb82fb7c5b8b31bf26da4e3eb6e233d57" - integrity sha512-L6xu2r5yavl7qTKP8AuE4C55xCaEa5xrIgekGIc6fk9y28kIwg1B20Uxj3f7H6giH/OXpG9a4gHqtR23KzlXcw== +"@loaders.gl/images@3.2.11", "@loaders.gl/images@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/images/-/images-3.2.11.tgz#4004163f28af24990a508438cf529452b6cc4bd1" + integrity sha512-ch5JRXptb8JISYo2PQeASCvuiwdJjJx7ucejDT3EoeKfVHBL7vVjNkHY/UjOMQvljYoF2jD0NfmOJoll5DWjTQ== dependencies: - "@loaders.gl/loader-utils" "3.0.12" + "@loaders.gl/loader-utils" "3.2.11" "@loaders.gl/loader-utils@2.3.13": version "2.3.13" @@ -2210,66 +2213,77 @@ "@babel/runtime" "^7.3.1" "@probe.gl/stats" "^3.3.0" -"@loaders.gl/loader-utils@3.0.12", "@loaders.gl/loader-utils@^3.0.8": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/loader-utils/-/loader-utils-3.0.12.tgz#8bf868a1a1a0eead0bbef6c0321622127e2f7dc2" - integrity sha512-J2cYU8d5mx/rDoKdl6SlvoyvO1PXNi6Upul1OGCDql7S/mq+M9afsvNmRraZJOzcoO5NuWq30Eoh3rWD2w5Mew== +"@loaders.gl/loader-utils@3.2.11", "@loaders.gl/loader-utils@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/loader-utils/-/loader-utils-3.2.11.tgz#584e687f8c031342a467700323f04a7a88f2131e" + integrity sha512-/eQjBLQI1x+5MG3b235xrUcMdKl9ALtzOPMINYeA9TI1TJBULv1xNWBg6HqVdS2ZfaC+JFc9vMxrPI7YaklqNw== dependencies: "@babel/runtime" "^7.3.1" - "@loaders.gl/worker-utils" "3.0.12" - "@probe.gl/stats" "^3.4.0" + "@loaders.gl/worker-utils" "3.2.11" + "@probe.gl/stats" "^3.5.0" -"@loaders.gl/math@3.0.12": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/math/-/math-3.0.12.tgz#22cff058977e7e1005784f671ecaa7f9f8527d75" - integrity sha512-4JV/+uAIHf1tCyvKWuddSENvfJAAHIhfK//SppgfCnevy/zdVye9yzskkGVohHwOvikdfon+dDQPmub/mpqqQA== +"@loaders.gl/math@3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/math/-/math-3.2.11.tgz#2ccfa97047f8c3bc95d6229f985799e3832c0bf5" + integrity sha512-iv3X41ZfvQtYCqLIicStqFnBbovrWvLdWSW1DmlAcmFIiYlvpjeHXJIvFgUwl4nS6Yz3l+qf5p7Nh4VjJ8kN7A== dependencies: - "@loaders.gl/images" "3.0.12" - "@loaders.gl/loader-utils" "3.0.12" + "@loaders.gl/images" "3.2.11" + "@loaders.gl/loader-utils" "3.2.11" "@math.gl/core" "^3.5.1" -"@loaders.gl/mvt@^3.0.8": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/mvt/-/mvt-3.0.12.tgz#3e969ea39fe92ff0daf1422a877f4152a7f0a98a" - integrity sha512-MIhw8rlIl8MOJ8pmI8pCVPg3ZTKoxD+NGa7So56zXzWwhMNjYj9ddlxcTkkJBqILSZUvTce4rmfGJ388Ms5mUA== +"@loaders.gl/mvt@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/mvt/-/mvt-3.2.11.tgz#b99733a8008cf988f36c3e914b4c0465a3e083c7" + integrity sha512-CsFoAuyJHg7E6D3GuF861Yxhi2s5DjdC4O4r6ka+XO2+6skO1DGZym++hwQQsm+Qdka46OkbDjFGO3lxJ/tiIw== dependencies: - "@loaders.gl/gis" "3.0.12" - "@loaders.gl/loader-utils" "3.0.12" + "@loaders.gl/gis" "3.2.11" + "@loaders.gl/loader-utils" "3.2.11" + "@loaders.gl/schema" "3.2.11" "@math.gl/polygon" "^3.5.1" pbf "^3.2.1" -"@loaders.gl/schema@3.0.12": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/schema/-/schema-3.0.12.tgz#3d33b93a49555c5cf1d52cc303c0a5d83415cac3" - integrity sha512-xJOi6s8SxPwuRfSyiSeUfuXHP5uRBsZOQfBvZTuU8XUyUn3d/nvk5VOZQgo44XTMmY3CqhfMUOFP3etC5oczsA== +"@loaders.gl/schema@3.2.11", "@loaders.gl/schema@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/schema/-/schema-3.2.11.tgz#8650f98446c0437f788d00a1d30092082f157057" + integrity sha512-Fz0cWtHwE5Os0HxhEYxLCnJz5LD7djpZnNWk+lPVzIJ6HWPFlxI6lbD4zc1auN5omD2EXFkJigi8on8l3i63fQ== dependencies: "@types/geojson" "^7946.0.7" apache-arrow "^4.0.0" - d3-dsv "^1.2.0" -"@loaders.gl/terrain@^3.0.8": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/terrain/-/terrain-3.0.12.tgz#0e2a266daccaf4fd5eea1032c7823b823f026705" - integrity sha512-N96ZT5U6FFN+Tdx5VoXW7fY9baq8B0vnZbEsSZ+cBOvpOa+ifAoflCC67hN35/EX2SzJzHAMdVfALjCqJJHcLQ== +"@loaders.gl/terrain@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/terrain/-/terrain-3.2.11.tgz#a46f5948fafde51ff3abe1ff975f09ba6a1b506c" + integrity sha512-Bsb+uq4BWIF9Y20roXx93sSvI/2f4cOMD0AdU/3stWtjSWOVPv9RZbNIgZdsIe4upKtE7uVyPYS48rzN9dN8xQ== dependencies: "@babel/runtime" "^7.3.1" - "@loaders.gl/loader-utils" "3.0.12" - "@loaders.gl/schema" "3.0.12" + "@loaders.gl/loader-utils" "3.2.11" + "@loaders.gl/schema" "3.2.11" "@mapbox/martini" "^0.2.0" -"@loaders.gl/tiles@3.0.12", "@loaders.gl/tiles@^3.0.8": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/tiles/-/tiles-3.0.12.tgz#48127eebabf44ebfcabbca4740390e3e8c74d1d7" - integrity sha512-/FvLpssIycvpXOVvmlubFrLlWe7VI3YYrue8wbmlKk7cndCWjCPP7feyg87EF4XlXOC7r3AleiF3Z1R6aADcTA== - dependencies: - "@loaders.gl/core" "3.0.12" - "@loaders.gl/loader-utils" "3.0.12" - "@loaders.gl/math" "3.0.12" +"@loaders.gl/textures@3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/textures/-/textures-3.2.11.tgz#52607a30fa9a19612b3baebcb73496a6dde619f6" + integrity sha512-GapLQ9XzCfVygVp2uFggk+Gr736hAkm0aZVRyGRi9hQjXffD7IvPOMh+cqNkHuxTcO5vHHR6jnQqYc5gtUODlg== + dependencies: + "@loaders.gl/images" "3.2.11" + "@loaders.gl/loader-utils" "3.2.11" + "@loaders.gl/schema" "3.2.11" + "@loaders.gl/worker-utils" "3.2.11" + ktx-parse "^0.0.4" + texture-compressor "^1.0.2" + +"@loaders.gl/tiles@3.2.11", "@loaders.gl/tiles@^3.2.10": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/tiles/-/tiles-3.2.11.tgz#a100ca195bec9baf4293c4bbc629cba0807a721a" + integrity sha512-ANjrYTF99cX/jGSKSxmGfCwleYGl8UqXd3Y9VZxRRXOBRZzEAqxS6UlVUqGHkfJS5hiLMGdGY1uYGOwigZCxNQ== + dependencies: + "@loaders.gl/loader-utils" "3.2.11" + "@loaders.gl/math" "3.2.11" "@math.gl/core" "^3.5.1" "@math.gl/culling" "^3.5.1" "@math.gl/geospatial" "^3.5.1" "@math.gl/web-mercator" "^3.5.1" - "@probe.gl/stats" "^3.4.0" + "@probe.gl/stats" "^3.5.0" "@loaders.gl/wkt@^2.1.2": version "2.3.13" @@ -2278,78 +2292,83 @@ dependencies: "@loaders.gl/loader-utils" "2.3.13" -"@loaders.gl/worker-utils@3.0.12": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@loaders.gl/worker-utils/-/worker-utils-3.0.12.tgz#acde5f5f6e5afaec3f995f892fb6e34e5a1629d1" - integrity sha512-xbZiYxGNLniXrCMNyvyw91I+DCOrclHc3mwtCPZaJQi+eEFaq0Kh7Lv9yUCE6cCgDLNJfjcfmbcyCBgwlvq7WA== +"@loaders.gl/worker-utils@3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@loaders.gl/worker-utils/-/worker-utils-3.2.11.tgz#76cc457ace34eb2e28b87f2c1e494b20cefb8a89" + integrity sha512-2DyBkBJGDU66XbLz+eBByTlfbjUD3OarjzqAifenIrOaX1IuOcSqa8r6w2FOgsjlpT1ujcn0d4QO/o0zM8IWJA== dependencies: "@babel/runtime" "^7.3.1" -"@luma.gl/constants@8.5.10", "@luma.gl/constants@^8.5.10": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@luma.gl/constants/-/constants-8.5.10.tgz#dd8b5ed786e372582a1a28e79c20481e363b4b50" - integrity sha512-0OZnNbb8hF+ogr/Exr5KFEnSMQdCgjrbO2ZYeNIGO0UVMTu4oTSLfRcBxKUs1NzxG5RogyV8dL6ETQbkP5VAZw== +"@luma.gl/constants@8.5.17", "@luma.gl/constants@^8.5.16": + version "8.5.17" + resolved "https://registry.yarnpkg.com/@luma.gl/constants/-/constants-8.5.17.tgz#f7ef1cb7000108d6030232db92f0735643004815" + integrity sha512-8jD2aDgFa04HtWuj5ZyZm4h+hz2HI+1gcrab4uQp3qq75iAQXg62Tu68mTcoL8xWehmJntNCkLbnkkuTdFsOAQ== -"@luma.gl/core@^8.5.10": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@luma.gl/core/-/core-8.5.10.tgz#a4fdb8656e249b72b84addb0a9412ab91a65fc15" - integrity sha512-NzzMnSgzPta3gMu8vSM/kWiY09HypHRXt4zw/xFX4geLeX4iXm7Jnm+eeaNpc/QH/yJ51+4bpvZml0P5NIukfQ== +"@luma.gl/core@^8.5.16": + version "8.5.17" + resolved "https://registry.yarnpkg.com/@luma.gl/core/-/core-8.5.17.tgz#44131b79d8904a5188f2259def375a3edd3e8575" + integrity sha512-bvnySRyyRFkxEg9rmgyC4HWQmakIMax43RMbn9cEma9A8VnHwQ252nGAJhKzz07kg+70jTiNlXogWvNKGlIc1w== dependencies: "@babel/runtime" "^7.0.0" - "@luma.gl/constants" "8.5.10" - "@luma.gl/engine" "8.5.10" - "@luma.gl/gltools" "8.5.10" - "@luma.gl/shadertools" "8.5.10" - "@luma.gl/webgl" "8.5.10" + "@luma.gl/constants" "8.5.17" + "@luma.gl/engine" "8.5.17" + "@luma.gl/gltools" "8.5.17" + "@luma.gl/shadertools" "8.5.17" + "@luma.gl/webgl" "8.5.17" -"@luma.gl/engine@8.5.10": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@luma.gl/engine/-/engine-8.5.10.tgz#4e8cdd8ffb0bd5e13e4e521f4e0b05c21a9805a6" - integrity sha512-W3cPlabMl1g6dfAio4yGD9GohoMULXqsBm9P9WOh0KypQBw5pFlE2C/njY43YhfvnpMPDMUjjraYrEXa1fhaig== +"@luma.gl/engine@8.5.17": + version "8.5.17" + resolved "https://registry.yarnpkg.com/@luma.gl/engine/-/engine-8.5.17.tgz#86d9b9594b9c45544db1f38475f9b2488d15faba" + integrity sha512-XyYYBUKj23P6e9VH+vJ7vEZe/5IH80DZkst4qQABJIBAXg/0dUf2QxST5PNbokOT4SrmuM5As5a2QUrmcUmGiw== dependencies: "@babel/runtime" "^7.0.0" - "@luma.gl/constants" "8.5.10" - "@luma.gl/gltools" "8.5.10" - "@luma.gl/shadertools" "8.5.10" - "@luma.gl/webgl" "8.5.10" + "@luma.gl/constants" "8.5.17" + "@luma.gl/gltools" "8.5.17" + "@luma.gl/shadertools" "8.5.17" + "@luma.gl/webgl" "8.5.17" "@math.gl/core" "^3.5.0" - probe.gl "^3.4.0" + "@probe.gl/env" "^3.5.0" + "@probe.gl/stats" "^3.5.0" + "@types/offscreencanvas" "^2019.7.0" -"@luma.gl/experimental@^8.5.10": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@luma.gl/experimental/-/experimental-8.5.10.tgz#103a2873e9a390a272480d22685b98875d615cab" - integrity sha512-1Ldq2DEor9qWHoRetcAz4BID1pwp+5x67F2mfe2UtjEpDY0Modi7t8C94PR8cviyjRIu3DErxX7o8HxJ4JXxpQ== +"@luma.gl/experimental@^8.5.16": + version "8.5.17" + resolved "https://registry.yarnpkg.com/@luma.gl/experimental/-/experimental-8.5.17.tgz#4c5f3c42f1383318623c69530d366d57efb461f8" + integrity sha512-vYW9ovkSMjkyqEyuQn+wztwOwEqZnzKlvwzBIXIXoHrgnwErFovHE6toipj/XY0CAAS39UMh2weRkZJ8R+uAUA== dependencies: - "@luma.gl/constants" "8.5.10" + "@luma.gl/constants" "8.5.17" "@math.gl/core" "^3.5.0" earcut "^2.0.6" -"@luma.gl/gltools@8.5.10": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@luma.gl/gltools/-/gltools-8.5.10.tgz#be47f64f215d97e8d5896ab14060078bd04fd12e" - integrity sha512-XQFocLXvSYfkW2xL1I50nYrPwgyt1jvmzmood3RQBQMiBcgU1JFW2w4tU+V/C5QXcAWWVzm8aIBkuQsCo34zrQ== +"@luma.gl/gltools@8.5.17": + version "8.5.17" + resolved "https://registry.yarnpkg.com/@luma.gl/gltools/-/gltools-8.5.17.tgz#5e5d55b3771a80d917f4d0862d780f8d8d1d24ac" + integrity sha512-ikrhwDcTBxxHFRvpCYFjm0HW9l2G2tueD4BV2UpWIl4u8rVTCG98nkypymU8HvF2W6zdvrOwna7Ha2vG4egX1Q== dependencies: "@babel/runtime" "^7.0.0" - "@luma.gl/constants" "8.5.10" - probe.gl "^3.4.0" + "@luma.gl/constants" "8.5.17" + "@probe.gl/env" "^3.5.0" + "@probe.gl/log" "^3.5.0" + "@types/offscreencanvas" "^2019.7.0" -"@luma.gl/shadertools@8.5.10", "@luma.gl/shadertools@^8.5.10": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@luma.gl/shadertools/-/shadertools-8.5.10.tgz#37a22f99298f917a2bddf4452f04eaec7066bf27" - integrity sha512-Va/e7fHFI7ZWu03obtNlXN7noIUF1u9U3Pm6PVqeVi3Z24yWl/pFbb5/O1gn66LQZF6fpwoLGN7m4NGk2YyHyA== +"@luma.gl/shadertools@8.5.17", "@luma.gl/shadertools@^8.5.16": + version "8.5.17" + resolved "https://registry.yarnpkg.com/@luma.gl/shadertools/-/shadertools-8.5.17.tgz#aceae9c4f1961c2906012cd4afe1ff8196acd0d9" + integrity sha512-lpCjdutWx3i8qeroH9jPCGyCFvLguLaccQ0d7PCLeFD2eQrN/KuDzgka2V3PHgW1M9Wjph+c0RlaFc6NOuRokQ== dependencies: "@babel/runtime" "^7.0.0" "@math.gl/core" "^3.5.0" -"@luma.gl/webgl@8.5.10": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@luma.gl/webgl/-/webgl-8.5.10.tgz#8e39137978692c5695a2138a403837ad51a780a2" - integrity sha512-8cCJ6aoKmVKvrYoPC6G1jHqMsfTGyn50YMmRkrk2Q79nBe531LZr+6EYXlqx2+AR9obKwTnhTPlxjKg5gR4rYg== +"@luma.gl/webgl@8.5.17": + version "8.5.17" + resolved "https://registry.yarnpkg.com/@luma.gl/webgl/-/webgl-8.5.17.tgz#eaa7d60b4e16dcc6ed72b562a2e9d1dc3a12d2ff" + integrity sha512-z9uzRO7i1Y5i3D729x+eE1EjistEn1Ni3S+3RMJEHx6zPfs3WyiDc20B1ul+wk6vX0ukQWihLGCF6AIRdenktA== dependencies: "@babel/runtime" "^7.0.0" - "@luma.gl/constants" "8.5.10" - "@luma.gl/gltools" "8.5.10" - probe.gl "^3.4.0" + "@luma.gl/constants" "8.5.17" + "@luma.gl/gltools" "8.5.17" + "@probe.gl/env" "^3.5.0" + "@probe.gl/stats" "^3.5.0" "@mapbox/geojson-area@0.2.2": version "0.2.2" @@ -2433,7 +2452,16 @@ "@babel/runtime" "^7.12.0" gl-matrix "~3.3.0" -"@math.gl/culling@^3.5.1", "@math.gl/culling@^3.5.4": +"@math.gl/core@3.6.3", "@math.gl/core@^3.6.2": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@math.gl/core/-/core-3.6.3.tgz#a6bf796ed421093099749d609de8d99a3ac20a53" + integrity sha512-jBABmDkj5uuuE0dTDmwwss7Cup5ZwQ6Qb7h1pgvtkEutTrhkcv8SuItQNXmF45494yIHeoGue08NlyeY6wxq2A== + dependencies: + "@babel/runtime" "^7.12.0" + "@math.gl/types" "3.6.3" + gl-matrix "^3.4.0" + +"@math.gl/culling@^3.5.1": version "3.5.6" resolved "https://registry.yarnpkg.com/@math.gl/culling/-/culling-3.5.6.tgz#4c388d6c9b3182c1b5ee4ffbf9d1b1d2484c54fd" integrity sha512-Sustyo3XRaGVeUAzKk9kzoWErfNUzi+YFsmLe00r4qLbzXPg0Z7uLGX6zloEELILgqOZMOuAhadfmWVMsbq8ZA== @@ -2442,6 +2470,15 @@ "@math.gl/core" "3.5.6" gl-matrix "~3.3.0" +"@math.gl/culling@^3.6.2": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@math.gl/culling/-/culling-3.6.3.tgz#91cdfa496748e8873a2e6261415a27a27b6af5f2" + integrity sha512-3UERXHbaPlM6pnTk2MI7LeQ5CoelDZzDzghTTcv+HdQCZsT/EOEuEdYimETHtSxiyiOmsX2Un65UBLYT/rbKZg== + dependencies: + "@babel/runtime" "^7.12.0" + "@math.gl/core" "3.6.3" + gl-matrix "^3.4.0" + "@math.gl/geospatial@^3.5.1": version "3.5.6" resolved "https://registry.yarnpkg.com/@math.gl/geospatial/-/geospatial-3.5.6.tgz#c1d7c1650257c249df218410670ced003b92d9f9" @@ -2451,13 +2488,32 @@ "@math.gl/core" "3.5.6" gl-matrix "~3.3.0" -"@math.gl/polygon@^3.5.1", "@math.gl/polygon@^3.5.4": +"@math.gl/polygon@^3.5.1": version "3.5.6" resolved "https://registry.yarnpkg.com/@math.gl/polygon/-/polygon-3.5.6.tgz#af33fa8a60c89176ff178f322d3005d1cea2311f" integrity sha512-CUGPmD8Y9elPRsb4+wG0nuElbEYcTK+Azks96M9zleMaOACUDqUY6D4rDtqpyEIeqcun85Aq+7eV/rjVMahWgA== dependencies: "@math.gl/core" "3.5.6" +"@math.gl/polygon@^3.6.2": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@math.gl/polygon/-/polygon-3.6.3.tgz#0c19c0b059cedde1cd760cc3796e9180f75bcbde" + integrity sha512-FivQ1ZnYcAss1wVifOkHP/ZnlfQy1IL/769uzNtiHxwUbW0kZG3yyOZ9I7fwyzR5Hvqt3ErJKHjSYZr0uVlz5g== + dependencies: + "@math.gl/core" "3.6.3" + +"@math.gl/sun@^3.6.2": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@math.gl/sun/-/sun-3.6.3.tgz#30c15612313b56349c568f21f39c0e0f0e77b2df" + integrity sha512-mrx6CGYYeTNSQttvcw0KVUy+35YDmnjMqpO/o0t06Vcghrt0HNruB/ScRgUSbJrgkbOg1Vcqm23HBd++clzQzw== + dependencies: + "@babel/runtime" "^7.12.0" + +"@math.gl/types@3.6.3": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@math.gl/types/-/types-3.6.3.tgz#9fa9866feabcbb76de107d78ff3a89c0243ac374" + integrity sha512-3uWLVXHY3jQxsXCr/UCNPSc2BG0hNUljhmOBt9l+lNFDp7zHgm0cK2Tw4kj2XfkJy4TgwZTBGwRDQgWEbLbdTA== + "@math.gl/web-mercator@^3.1.3": version "3.1.3" resolved "https://registry.yarnpkg.com/@math.gl/web-mercator/-/web-mercator-3.1.3.tgz" @@ -2466,7 +2522,7 @@ "@babel/runtime" "^7.0.0" gl-matrix "^3.0.0" -"@math.gl/web-mercator@^3.5.1", "@math.gl/web-mercator@^3.5.4": +"@math.gl/web-mercator@^3.5.1": version "3.5.6" resolved "https://registry.yarnpkg.com/@math.gl/web-mercator/-/web-mercator-3.5.6.tgz#3bdc62f578bc0f360bb3c2866d015065b869cc20" integrity sha512-siWHLJGp9o8fDEM1t0Rby+JXftl6il0z3927liWGzkHqFftXPHY858ShPy45ThDU8q5lyCftg8aVgrv4nfD+Zw== @@ -2474,6 +2530,14 @@ "@babel/runtime" "^7.12.0" gl-matrix "~3.3.0" +"@math.gl/web-mercator@^3.6.2": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@math.gl/web-mercator/-/web-mercator-3.6.3.tgz#ef91168e030eecffc788618d686e8a6c1d7a0bf8" + integrity sha512-UVrkSOs02YLehKaehrxhAejYMurehIHPfFQvPFZmdJHglHOU4V2cCUApTVEwOksvCp161ypEqVp+9H6mGhTTcw== + dependencies: + "@babel/runtime" "^7.12.0" + gl-matrix "^3.4.0" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz" @@ -2482,11 +2546,32 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + "@octokit/auth-token@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.0.tgz" @@ -2589,13 +2674,35 @@ dependencies: "@types/node" ">= 8" -"@probe.gl/stats@3.4.1", "@probe.gl/stats@^3.3.0", "@probe.gl/stats@^3.4.0": +"@probe.gl/env@3.5.2", "@probe.gl/env@^3.5.0": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@probe.gl/env/-/env-3.5.2.tgz#f5639d5686235afb165f353675efea26766f8555" + integrity sha512-JlNvJ2p6+ObWX7es6n3TycGPTv5CfVrCS8vblI1eHhrFCcZ6RxIo727ffRVwldpp0YTzdgjx3/4fB/1dnVYElw== + dependencies: + "@babel/runtime" "^7.0.0" + +"@probe.gl/log@^3.5.0": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@probe.gl/log/-/log-3.5.2.tgz#e33103f6151c30431c4bfe63f1341bc0d9febe94" + integrity sha512-5yo8Dg8LrSltuPBdGlLh/WOvt4LdU7DDHu75GMeiS0fKM+J4IACRpGV8SOrktCj1MWZ6JVHcNQkJnoyZ6G7p/w== + dependencies: + "@babel/runtime" "^7.0.0" + "@probe.gl/env" "3.5.2" + +"@probe.gl/stats@3.4.1", "@probe.gl/stats@^3.3.0": version "3.4.1" resolved "https://registry.yarnpkg.com/@probe.gl/stats/-/stats-3.4.1.tgz#5bc0ec5f87ae3195c22a98363e9c15031fbfe8e8" integrity sha512-1Ol5cH8MQqIrGNgU4NCBj2cw1qiXYfHP1QCFX+u/xyrvgwLkPrOGkdSYMzw4VKTjJzNae4i7urOTf2m2hduZzQ== dependencies: "@babel/runtime" "^7.0.0" +"@probe.gl/stats@^3.5.0": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@probe.gl/stats/-/stats-3.5.2.tgz#8ee41f73199182fddb8e40221da967414eaea619" + integrity sha512-YKaYXiHF//fgy1OkX38JD70Lc8qxg2Viw8Q2CTNMwGPDJe12wda7kEmMKPJNw2oYLyFUfTzv00KJMA5h18z02w== + dependencies: + "@babel/runtime" "^7.0.0" + "@sinonjs/commons@^1", "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.1.tgz" @@ -3097,11 +3204,6 @@ resolved "https://registry.yarnpkg.com/@types/downloadjs/-/downloadjs-1.4.1.tgz" integrity sha512-Y7Ds+ne3AMvNY9TB055NCOoFewlmEpRpGGyNaPu1lw6a0reLHWESZ8KLVDBfdOvlwDUBWWQVcijkCJaoysDC4Q== -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz" @@ -3117,6 +3219,11 @@ resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz" integrity sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ== +"@types/geojson@^7946.0.8": + version "7946.0.10" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.10.tgz#6dfbf5ea17142f7f9a043809f1cd4c448cb68249" + integrity sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA== + "@types/gl-matrix@*": version "2.4.5" resolved "https://registry.yarnpkg.com/@types/gl-matrix/-/gl-matrix-2.4.5.tgz" @@ -3131,10 +3238,10 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/hammerjs@^2.0.36": - version "2.0.40" - resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.40.tgz#ded0240b6ea1ad7afc1e60374c49087aaea5dbd8" - integrity sha512-VbjwR1fhsn2h2KXAY4oy1fm7dCxaKy0D+deTb8Ilc3Eo3rc5+5eA4rfYmZaHgNJKxVyI0f6WIXzO2zLkVmQPHA== +"@types/hammerjs@^2.0.41": + version "2.0.41" + resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.41.tgz#f6ecf57d1b12d2befcce00e928a6a097c22980aa" + integrity sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA== "@types/hoist-non-react-statics@*": version "3.3.1" @@ -3172,10 +3279,10 @@ jest-diff "^25.2.1" pretty-format "^25.2.1" -"@types/json-schema@^7.0.3": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz" - integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== +"@types/json-schema@^7.0.7": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/mapbox-gl@*": version "1.8.3" @@ -3199,6 +3306,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.29.tgz#44a774fa2858efa4d039dd9051b51160e8295c70" integrity sha512-sd4CHI9eTJXTH2vF3RGtGkqvWRwhsSSUFsXD4oG38GZzSZ0tNPbWikd2AbOAcKxCXhOg57fL8FPxjpfSzb2pIQ== +"@types/offscreencanvas@^2019.7.0": + version "2019.7.0" + resolved "https://registry.yarnpkg.com/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz#e4a932069db47bb3eabeb0b305502d01586fa90d" + integrity sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg== + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz" @@ -3327,52 +3439,79 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@2.26.0": - version "2.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.26.0.tgz" - integrity sha512-4yUnLv40bzfzsXcTAtZyTjbiGUXMrcIJcIMioI22tSOyAxpdXiZ4r7YQUU8Jj6XXrLz9d5aMHPQf5JFR7h27Nw== +"@typescript-eslint/eslint-plugin@^4.1.1": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== dependencies: - "@typescript-eslint/experimental-utils" "2.26.0" + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@2.26.0": - version "2.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.26.0.tgz" - integrity sha512-RELVoH5EYd+JlGprEyojUv9HeKcZqF7nZUGSblyAw1FwOGNnmQIU8kxJ69fttQvEwCsX5D6ECJT8GTozxrDKVQ== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.26.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@2.26.0": - version "2.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.26.0.tgz" - integrity sha512-+Xj5fucDtdKEVGSh9353wcnseMRkPpEAOY96EEenN7kJVrLqy/EVwtIh3mxcUz8lsFXW1mT5nN5vvEam/a5HiQ== - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.26.0" - "@typescript-eslint/typescript-estree" "2.26.0" - eslint-visitor-keys "^1.1.0" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^4.1.1": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@2.26.0": - version "2.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.26.0.tgz" - integrity sha512-3x4SyZCLB4zsKsjuhxDLeVJN6W29VwBnYpCsZ7vIdPel9ZqLfIZJgJXO47MNUkurGpQuIBALdPQKtsSnWpE1Yg== +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^6.3.0" - tsutils "^3.17.1" + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== dependencies: "@webassemblyjs/helper-module-context" "1.9.0" @@ -3381,46 +3520,46 @@ "@webassemblyjs/floating-point-hex-parser@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== "@webassemblyjs/helper-api-error@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== "@webassemblyjs/helper-buffer@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== "@webassemblyjs/helper-code-frame@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== dependencies: "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/helper-fsm@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== "@webassemblyjs/helper-module-context@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== "@webassemblyjs/helper-wasm-section@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== dependencies: "@webassemblyjs/ast" "1.9.0" @@ -3430,26 +3569,26 @@ "@webassemblyjs/ieee754@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== "@webassemblyjs/wasm-edit@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== dependencies: "@webassemblyjs/ast" "1.9.0" @@ -3463,7 +3602,7 @@ "@webassemblyjs/wasm-gen@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== dependencies: "@webassemblyjs/ast" "1.9.0" @@ -3474,7 +3613,7 @@ "@webassemblyjs/wasm-opt@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== dependencies: "@webassemblyjs/ast" "1.9.0" @@ -3484,7 +3623,7 @@ "@webassemblyjs/wasm-parser@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== dependencies: "@webassemblyjs/ast" "1.9.0" @@ -3496,7 +3635,7 @@ "@webassemblyjs/wast-parser@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== dependencies: "@webassemblyjs/ast" "1.9.0" @@ -3508,7 +3647,7 @@ "@webassemblyjs/wast-printer@1.9.0": version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== dependencies: "@webassemblyjs/ast" "1.9.0" @@ -3607,11 +3746,16 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^6.0.1, acorn@^6.2.1: +acorn@^6.0.1: version "6.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== +acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + acorn@^7.1.0, acorn@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz" @@ -3764,6 +3908,14 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + apache-arrow@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/apache-arrow/-/apache-arrow-4.0.1.tgz#62e58caa46a6a41966478a19c492380c9efb1d66" @@ -3798,9 +3950,9 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" -argparse@^1.0.7: +argparse@^1.0.10, argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" @@ -3930,14 +4082,15 @@ asap@^2.0.0: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" asn1@~0.2.3: version "0.2.4" @@ -3953,7 +4106,7 @@ assert-plus@1.0.0, assert-plus@^1.0.0: assert@^1.1.1: version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== dependencies: object-assign "^4.1.1" @@ -4129,9 +4282,9 @@ balanced-match@^1.0.0: integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" @@ -4177,6 +4330,11 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz" @@ -4194,11 +4352,16 @@ bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.9: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + body-parser@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz" @@ -4267,9 +4430,9 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1: +braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" @@ -4277,7 +4440,7 @@ braces@^3.0.1: brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== browser-process-hrtime@^1.0.0: version "1.0.0" @@ -4293,7 +4456,7 @@ browser-resolve@^1.11.3: browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== dependencies: buffer-xor "^1.0.3" @@ -4305,7 +4468,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-cipher@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== dependencies: browserify-aes "^1.0.4" @@ -4314,7 +4477,7 @@ browserify-cipher@^1.0.0: browserify-des@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== dependencies: cipher-base "^1.0.1" @@ -4322,30 +4485,32 @@ browserify-des@^1.0.0: inherits "^2.0.1" safe-buffer "^5.1.2" -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" browserify-zlib@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== dependencies: pako "~1.0.5" @@ -4396,12 +4561,12 @@ buffer-indexof@^1.0.0: buffer-xor@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== buffer@^4.3.0: version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== dependencies: base64-js "^1.0.2" @@ -4410,8 +4575,8 @@ buffer@^4.3.0: builtin-status-codes@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== builtins@^1.0.3: version "1.0.3" @@ -4572,7 +4737,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -4597,6 +4762,14 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz" @@ -4621,6 +4794,21 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.4.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz" @@ -4640,7 +4828,7 @@ ci-info@^2.0.0: cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== dependencies: inherits "^2.0.1" @@ -4808,16 +4996,16 @@ command-line-usage@6.1.1: table-layout "^1.0.1" typical "^5.2.0" -commander@2, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz" @@ -4918,7 +5106,7 @@ connect-history-api-fallback@^1.6.0: console-browserify@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== console-control-strings@^1.0.0, console-control-strings@~1.1.0: @@ -4928,8 +5116,8 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: constants-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== contains-path@^0.1.0: version "0.1.0" @@ -5130,16 +5318,16 @@ coveralls@^3.0.3: request "^2.86.0" create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" - elliptic "^6.0.0" + elliptic "^6.5.3" -create-hash@^1.1.0, create-hash@^1.1.2: +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== dependencies: cipher-base "^1.0.1" @@ -5148,9 +5336,9 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== dependencies: cipher-base "^1.0.3" @@ -5190,7 +5378,7 @@ cross-spawn@^7.0.0: crypto-browserify@^3.11.0: version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== dependencies: browserify-cipher "^1.0.0" @@ -5281,15 +5469,6 @@ d3-array@1: version "1.2.1" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz" -d3-dsv@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.2.0.tgz#9d5f75c3a5f8abd611f74d3f5847b0d4338b885c" - integrity sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g== - dependencies: - commander "2" - iconv-lite "0.4" - rw "1" - d3-format@^1.2.0: version "1.2.2" resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.2.tgz" @@ -5364,6 +5543,13 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" +debug@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz" @@ -5501,7 +5687,7 @@ deprecation@^2.0.0, deprecation@^2.3.1: des.js@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== dependencies: inherits "^2.0.1" @@ -5581,7 +5767,7 @@ diff@^4.0.2: diffie-hellman@^5.0.0: version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== dependencies: bn.js "^4.1.0" @@ -5595,6 +5781,13 @@ dir-glob@^2.2.2: dependencies: path-type "^3.0.0" +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz" @@ -5654,7 +5847,7 @@ dom-walk@^0.1.0: domain-browser@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== domelementtype@1, domelementtype@^1.3.1: @@ -5765,7 +5958,7 @@ electron-to-chromium@^1.3.867: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.877.tgz#956870eea7c9d8cf43cc54ea40687fee4dc0c12a" integrity sha512-fT5mW5Giw5iyVukeHb2XvB4joBKvzHtl8Vs3QzE7APATpFMt/T7RWyUcIKSZzYkKQgpMbu+vDBTCHfQZvh8klA== -elliptic@^6.0.0: +elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -5825,10 +6018,10 @@ enhanced-resolve@4.1.0: memory-fs "^0.4.0" tapable "^1.0.0" -enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz" - integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== +enhanced-resolve@^4.0.0, enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" @@ -5859,13 +6052,20 @@ err-code@^1.0.0: resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz" integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= -errno@^0.1.3, errno@~0.1.7: +errno@^0.1.3: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz" integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== dependencies: prr "~1.0.1" +errno@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz" @@ -6084,7 +6284,7 @@ eslint-rule-composer@^0.3.0: eslint-scope@^4.0.3: version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== dependencies: esrecurse "^4.1.0" @@ -6098,6 +6298,14 @@ eslint-scope@^5.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + eslint-utils@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz" @@ -6105,12 +6313,12 @@ eslint-utils@^1.4.3: dependencies: eslint-visitor-keys "^1.1.0" -eslint-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz" - integrity sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA== +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== dependencies: - eslint-visitor-keys "^1.1.0" + eslint-visitor-keys "^2.0.0" eslint-visitor-keys@^1.0.0: version "1.0.0" @@ -6121,6 +6329,11 @@ eslint-visitor-keys@^1.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + eslint@6.8.0: version "6.8.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz" @@ -6201,6 +6414,13 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz" @@ -6235,9 +6455,9 @@ eventemitter3@^4.0.0: integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== eventsource@^1.0.7: version "1.1.1" @@ -6248,7 +6468,7 @@ eventsource@^1.0.7: evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== dependencies: md5.js "^1.3.4" @@ -6477,6 +6697,17 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" +fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@2.x: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" @@ -6492,6 +6723,13 @@ fast-levenshtein@~2.0.4, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastq@^1.6.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce" + integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== + dependencies: + reusify "^1.0.4" + faye-websocket@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz" @@ -6722,15 +6960,6 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" -fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz" @@ -6779,6 +7008,11 @@ fsevents@^2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + function-bind@^1.0.2, function-bind@^1.1.1, function-bind@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz" @@ -6956,6 +7190,11 @@ gl-matrix@^3.0.0: resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.0.0.tgz" integrity sha512-PD4mVH/C/Zs64kOozeFnKY8ybhgwxXXQYGWdB4h68krAHknWJgk9uKOn6z8YElh5//vs++90pb6csrTIDWnexA== +gl-matrix@^3.4.0: + version "3.4.3" + resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9" + integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== + gl-matrix@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.3.0.tgz#232eef60b1c8b30a28cbbe75b2caf6c48fd6358b" @@ -6976,6 +7215,13 @@ glob-parent@^5.0.0: dependencies: is-glob "^4.0.1" +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz" @@ -6992,7 +7238,7 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@~7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.3, glob@^7.1.4: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -7059,6 +7305,18 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" +globby@^11.0.3: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz" @@ -7108,11 +7366,16 @@ growly@^1.3.0: resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= -h3-js@^3.6.0, h3-js@^3.6.4: +h3-js@^3.6.4: version "3.6.4" resolved "https://registry.yarnpkg.com/h3-js/-/h3-js-3.6.4.tgz" integrity sha512-wMu0Y+vdh4xx2WT1jqy4QDBgJupjBfHsGaMtMsFocdZdIsfxLFufzjGcmReOSfKQ+twRO2XjXAmDY9h1nq99EA== +h3-js@^3.7.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/h3-js/-/h3-js-3.7.2.tgz#61d4feb7bb42868ca9cdb2d5cf9d9dda94f9e5a3" + integrity sha512-LPjlHSwB9zQZrMqKloCZmmmt3yZzIK7nqPcXqwU93zT3TtYG6jP4tZBzAPouxut7lLjdFbMQ75wRBiKfpsnY7w== + hammerjs@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz" @@ -7212,12 +7475,13 @@ has@^1.0.1, has@^1.0.3, has@~1.0.1: function-bind "^1.1.1" hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" @@ -7247,7 +7511,7 @@ history@^4.7.2: hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" @@ -7428,8 +7692,8 @@ http-signature@~1.2.0: https-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== https-proxy-agent@^2.2.3: version "2.2.4" @@ -7467,18 +7731,23 @@ husky@^4.2.5: slash "^3.0.0" which-pm-runs "^1.0.0" -iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" -ieee754@^1.1.12, ieee754@^1.1.4: +ieee754@^1.1.12: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz" integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz" @@ -7501,6 +7770,16 @@ ignore@^5.1.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz" integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== +ignore@^5.1.8, ignore@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.1.tgz#c2b1f76cb999ede1502f3a226a9310fdfe88d46c" + integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA== + +image-size@^0.7.4: + version "0.7.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.7.5.tgz#269f357cf5797cb44683dfa99790e54c705ead04" + integrity sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g== + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz" @@ -7538,14 +7817,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -indefinitely-typed@1.1.0, indefinitely-typed@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/indefinitely-typed/-/indefinitely-typed-1.1.0.tgz#d0acd3645445e89ae1c70129be21609a0aa5a114" - integrity sha512-giaI0hCj+wWZIZZLsmWHI+LrM4Hwc+rEZ/VrgCafKePcnE42fLnQTFt4xspqLin8fCjI5WnQr2fep/0EFqjaxw== - dependencies: - fs-extra "^7.0.0" - minimist "^1.2.5" - indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz" @@ -7578,8 +7849,8 @@ inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, i inherits@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== inherits@2.0.3: version "2.0.3" @@ -7721,6 +7992,13 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz" @@ -7849,6 +8127,13 @@ is-glob@^4.0.0, is-glob@^4.0.1: dependencies: is-extglob "^2.1.1" +is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz" @@ -8653,6 +8938,11 @@ kleur@^3.0.2: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.2.tgz" integrity sha512-3h7B2WRT5LNXOtQiAaWonilegHcPSf9nLVXlSTci8lu1dZUuui61+EsPEZqSVxY7rXYmB2DVKMQILxaO5WL61Q== +ktx-parse@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/ktx-parse/-/ktx-parse-0.0.4.tgz#6fd3eca82490de8a1e48cb8367a9980451fa1ac4" + integrity sha512-LY3nrmfXl+wZZdPxgJ3ZmLvG+wkOZZP3/dr4RbQj1Pk3Qwz44esOOSFFVQJcNWpXAtiNIC66WgXufX/SYgYz6A== + lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz" @@ -8756,7 +9046,7 @@ load-json-file@^5.3.0: loader-runner@^2.4.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== loader-utils@1.2.3, loader-utils@^1.0.2, loader-utils@^1.1.0: @@ -8778,7 +9068,16 @@ loader-utils@^0.2.16: json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.2.3: + version "1.4.1" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.1.tgz#278ad7006660bccc4d2c0c1578e17c5c78d5c0e0" + integrity sha512-1Qo97Y2oKaU+Ro2xnDMR26g1BwMT29jNbem1EvcujW2jqt+j5COXyscjM7bLQkM9HaxI7pkWeW7gnI072yMI9Q== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -8787,6 +9086,15 @@ loader-utils@^1.2.3, loader-utils@^1.4.0: emojis-list "^3.0.0" json5 "^1.0.1" +loader-utils@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.3.tgz#d4b15b8504c63d1fc3f2ade52d41bc8459d6ede1" + integrity sha512-THWqIsn8QRnvLl0shHYVBN9syumU8pYWEHPTmkiVGd+7K5eFNVSY6AJhRvgGF70gg1Dz+l/k8WicvFCxdEs60A== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz" @@ -8937,6 +9245,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + macos-release@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz" @@ -9073,16 +9388,16 @@ martinez-polygon-clipping@^0.4.3: splaytree "^0.1.4" tinyqueue "^1.2.0" -math.gl@^3.5.4: - version "3.5.6" - resolved "https://registry.yarnpkg.com/math.gl/-/math.gl-3.5.6.tgz#805ac7444f8e5b339e88989c0fbcb9870774e315" - integrity sha512-+IzdFaQk46iYU85XObRNqnb5NUQon+rWDPnCoEIOKOKdykr2gJ15BcVjEs0ZvH4EDv5K/JVmLkWzY/6DCEx2Fw== +math.gl@^3.6.2: + version "3.6.3" + resolved "https://registry.yarnpkg.com/math.gl/-/math.gl-3.6.3.tgz#f87e0d24cb33c1a215185ae3a4e16839f1ce6db2" + integrity sha512-Yq9CyECvSDox9+5ETi2+x1bGTY5WvGUGL3rJfC4KPoCZAM51MGfrCm6rIn4yOJUVfMPs2a5RwMD+yGS/n1g3gg== dependencies: - "@math.gl/core" "3.5.6" + "@math.gl/core" "3.6.3" md5.js@^1.3.4: version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== dependencies: hash-base "^3.0.0" @@ -9117,7 +9432,7 @@ memory-fs@^0.4.0, memory-fs@^0.4.1: memory-fs@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== dependencies: errno "^0.1.3" @@ -9190,6 +9505,11 @@ merge2@^1.2.3: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz" integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz" @@ -9221,9 +9541,17 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + miller-rabin@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== dependencies: bn.js "^4.0.0" @@ -9292,7 +9620,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== minimatch@^3.0.4: version "3.0.4" @@ -9376,12 +9704,12 @@ mjolnir.js@^2.4.0: "@babel/runtime" "^7.0.0" hammerjs "^2.0.8" -mjolnir.js@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/mjolnir.js/-/mjolnir.js-2.5.0.tgz#5918b74625d9682002da82e01d6ffb0b16b02b0e" - integrity sha512-YkVoyKs7qm9xvAgRgjx3Md/7eYqmq7VXOgTKQNnmuzcBJzMebjdIWa7FdTd0RZBrw3UL6V6TTktsxJwBMLXUNA== +mjolnir.js@^2.7.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/mjolnir.js/-/mjolnir.js-2.7.1.tgz#4e12590fe168b377c9c669b9c31aa5a62f8b8460" + integrity sha512-72BeUWgTv2cj5aZQKpwL8caNUFhXZ9bDm1hxpNj70XJQ62IBnTZmtv/WPxJvtaVNhzNo+D2U8O6ryNI0zImYcw== dependencies: - "@babel/runtime" "^7.0.0" + "@types/hammerjs" "^2.0.41" hammerjs "^2.0.8" mkdirp-promise@^5.0.1: @@ -9439,6 +9767,11 @@ ms@2.1.1, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz" @@ -9601,7 +9934,7 @@ node-int64@^0.4.0: node-libs-browser@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== dependencies: assert "^1.1.1" @@ -9674,7 +10007,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -9970,8 +10303,8 @@ original@^1.0.0: os-browserify@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== os-homedir@^1.0.0: version "1.0.2" @@ -10141,7 +10474,7 @@ pad-left@^2.1.0: pako@~1.0.5: version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== parallel-transform@^1.1.0: @@ -10167,14 +10500,13 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - asn1.js "^4.0.0" + asn1.js "^5.2.0" browserify-aes "^1.0.0" - create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" safe-buffer "^5.1.1" @@ -10258,7 +10590,7 @@ pascalcase@^0.1.1: path-browserify@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== path-dirname@^1.0.0: @@ -10362,9 +10694,9 @@ pbf@^3.2.1: resolve-protobuf-schema "^2.1.0" pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -10387,6 +10719,11 @@ picomatch@^2.0.4, picomatch@^2.0.5: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz" @@ -10572,8 +10909,8 @@ process-nextick-args@~2.0.0: process@^0.11.10: version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== process@~0.5.1: version "0.5.2" @@ -10672,7 +11009,7 @@ psl@^1.1.33: public-encrypt@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== dependencies: bn.js "^4.1.0" @@ -10714,8 +11051,8 @@ punycode@1.3.2: punycode@^1.2.4: version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" @@ -10739,8 +11076,8 @@ qs@~6.5.2: querystring-es3@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== querystring@0.2.0: version "0.2.0" @@ -10752,6 +11089,11 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz" @@ -10766,16 +11108,16 @@ quickselect@^2.0.0: resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz" integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== dependencies: randombytes "^2.0.5" @@ -11004,7 +11346,7 @@ read@1, read@~1.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.1.1: +"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -11066,6 +11408,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + realpath-native@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz" @@ -11158,10 +11507,10 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpp@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz" - integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== +regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== regexpu-core@^4.7.0: version "4.7.0" @@ -11411,6 +11760,11 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz" @@ -11434,7 +11788,7 @@ rimraf@^3.0.0: ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== dependencies: hash-base "^3.0.0" @@ -11463,6 +11817,13 @@ run-async@^2.4.0: dependencies: is-promise "^2.1.0" +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz" @@ -11470,7 +11831,7 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rw@1, rw@^1.3.3: +rw@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= @@ -11606,6 +11967,13 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== +semver@^7.3.4, semver@^7.3.5: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz" @@ -11625,10 +11993,12 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz" - integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" serve-index@^1.9.1: version "1.9.1" @@ -11669,8 +12039,8 @@ set-value@^2.0.0, set-value@^2.0.1: setimmediate@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.0.3: version "1.0.3" @@ -11683,7 +12053,7 @@ setprototypeof@1.1.1: sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== dependencies: inherits "^2.0.1" @@ -11873,7 +12243,7 @@ sort-keys@^2.0.0: source-list-map@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== source-map-loader@^0.2.4: @@ -12067,7 +12437,7 @@ stealthy-require@^1.1.1: stream-browserify@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== dependencies: inherits "~2.0.1" @@ -12083,7 +12453,7 @@ stream-each@^1.1.0: stream-http@^2.7.2: version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== dependencies: builtin-status-codes "^3.0.0" @@ -12196,7 +12566,7 @@ string.prototype.trimstart@^1.0.0: string_decoder@^1.0.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" @@ -12474,15 +12844,15 @@ terminal-link@^2.0.0: supports-hyperlinks "^2.0.0" terser-webpack-plugin@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz" - integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA== + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== dependencies: cacache "^12.0.2" find-cache-dir "^2.1.0" is-wsl "^1.1.0" schema-utils "^1.0.0" - serialize-javascript "^2.1.2" + serialize-javascript "^4.0.0" source-map "^0.6.1" terser "^4.1.2" webpack-sources "^1.4.0" @@ -12521,6 +12891,14 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +texture-compressor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/texture-compressor/-/texture-compressor-1.0.2.tgz#b5a54a9e5f9eb884d7c33b149f1f23a429465cd4" + integrity sha512-dStVgoaQ11mA5htJ+RzZ51ZxIZqNOgWKAIvtjLrW1AliQQLCmrDqNzQZ8Jh91YealQ95DXt4MEduLzJmbs6lig== + dependencies: + argparse "^1.0.10" + image-size "^0.7.4" + thenify-all@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz" @@ -12565,9 +12943,9 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.2.tgz" timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" @@ -12603,8 +12981,8 @@ tmpl@1.0.x: to-arraybuffer@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== to-fast-properties@^2.0.0: version "2.0.0" @@ -12736,16 +13114,16 @@ ts-jest@25.3.1: semver "6.x" yargs-parser "18.x" -ts-loader@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-7.0.0.tgz" - integrity sha512-qq9iPK235Xf/uPS1I72CIwB8qpbW0rys3entnXO+rIo2km50lMmeHKCNn1m047W6Sk4kceF6n5NWEnq/V8xdYQ== +ts-loader@^8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.4.0.tgz#e845ea0f38d140bdc3d7d60293ca18d12ff2720f" + integrity sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw== dependencies: - chalk "^2.3.0" + chalk "^4.1.0" enhanced-resolve "^4.0.0" - loader-utils "^1.0.2" + loader-utils "^2.0.0" micromatch "^4.0.0" - semver "^6.0.0" + semver "^7.3.4" tslib@^1.8.1: version "1.11.1" @@ -12762,17 +13140,17 @@ tslib@^2.2.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== -tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" tty-browserify@0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== tunnel-agent@^0.6.0: version "0.6.0" @@ -12836,10 +13214,10 @@ typedarray@^0.0.6, typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz" -typescript@3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" - integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== +typescript@4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== typical@^4.0.0: version "4.0.0" @@ -13015,14 +13393,14 @@ util.promisify@1.0.0: util@0.10.3: version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== dependencies: inherits "2.0.1" util@^0.11.0: version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== dependencies: inherits "2.0.3" @@ -13116,7 +13494,7 @@ vlq@^0.2.1: vm-browserify@^1.0.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== vt-pbf@^3.1.1: @@ -13165,14 +13543,23 @@ warning@^4.0.1: dependencies: loose-envify "^1.0.0" -watchpack@^1.6.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz" - integrity sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA== +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -13278,26 +13665,26 @@ webpack-log@^2.0.0: webpack-sources@^1.4.0, webpack-sources@^1.4.1: version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== dependencies: source-list-map "^2.0.0" source-map "~0.6.1" webpack@^4.3.0: - version "4.42.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.1.tgz" - integrity sha512-SGfYMigqEfdGchGhFFJ9KyRpQKnipvEvjc1TwrXEPCM6H5Wywu10ka8o3KGrMzSMxMQKt8aCHUFh5DaQ9UmyRg== + version "4.46.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/wasm-edit" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.2.1" + acorn "^6.4.1" ajv "^6.10.2" ajv-keywords "^3.4.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" + enhanced-resolve "^4.5.0" eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" loader-runner "^2.4.0" @@ -13310,7 +13697,7 @@ webpack@^4.3.0: schema-utils "^1.0.0" tapable "^1.1.3" terser-webpack-plugin "^1.4.3" - watchpack "^1.6.0" + watchpack "^1.7.4" webpack-sources "^1.4.1" websocket-driver@>=0.5.1: @@ -13432,7 +13819,7 @@ wordwrapjs@^4.0.0: worker-farm@^1.7.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== dependencies: errno "~0.1.7" @@ -13571,7 +13958,7 @@ xregexp@^4.3.0: xtend@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== xtend@~4.0.1: @@ -13593,6 +13980,11 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + yaml@^1.7.2: version "1.9.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.9.2.tgz"