diff --git a/ACCESSIBILITY.md b/ACCESSIBILITY.md
index 8fd90adc3..82eb48ba4 100644
--- a/ACCESSIBILITY.md
+++ b/ACCESSIBILITY.md
@@ -193,7 +193,6 @@ translated to one or more languages.
| ✅ | OSM community index | | |
| ✅ | iD validation issues | | |
| ✅ | KeepRight issues | | |
-| ✅ | ImproveOSM issues | | |
| ✅ | Osmose issues | Translated strings are [provided by Osmose](https://www.transifex.com/openstreetmap-france/osmose/) itself, not iD | |
### Language Coverage
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3537fa51d..2e1553c03 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -47,6 +47,7 @@ _Breaking developer changes, which may affect downstream projects or sites that
#### :camera: Street-Level
* Added base functionalities for new Panoramax Street level ([#9941])
#### :white_check_mark: Validation
+* Drop deprecated validation service _ImproveOSM_ ([#10302], thanks [@arch0345])
#### :bug: Bugfixes
* Fix bug which required a second button click when resolving/reopening of OSM notes ([#8994], thanks [@laigyu])
* Fix API URLs for ImproveOSM QA service ([#9993], thanks [@k-yle])
@@ -71,6 +72,7 @@ _Breaking developer changes, which may affect downstream projects or sites that
[#10255]: https://github.com/openstreetmap/iD/pull/10255
[#10257]: https://github.com/openstreetmap/iD/pull/10257
[#10260]: https://github.com/openstreetmap/iD/issues/10260
+[#10302]: https://github.com/openstreetmap/iD/issues/10302
[@zbycz]: https://github.com/zbycz
diff --git a/css/20_map.css b/css/20_map.css
index 8f2f6b138..7856a6e58 100644
--- a/css/20_map.css
+++ b/css/20_map.css
@@ -33,8 +33,7 @@
/* No interactivity except what we specifically allow */
.data-layer.osm *,
.data-layer.notes *,
-.data-layer.keepRight *,
-.data-layer.improveOSM * {
+.data-layer.keepRight * {
pointer-events: none;
}
diff --git a/css/65_data.css b/css/65_data.css
index d2c0db8bf..f3bf3c46f 100644
--- a/css/65_data.css
+++ b/css/65_data.css
@@ -3,7 +3,6 @@
.qa-header-icon .qaItem-fill,
.layer-keepRight .qaItem .qaItem-fill,
-.layer-improveOSM .qaItem .qaItem-fill,
.layer-osmose .qaItem .qaItem-fill {
stroke: #333;
stroke-width: 1.3px; /* NOTE: likely a better way to scale the icon stroke */
@@ -127,30 +126,6 @@
color: #c35;
}
-/* ImproveOSM Issues
-------------------------------------------------------- */
-
-.improveOSM.itemType-ow { /* missing one way */
- color: #1E90FF;
-}
-
-.improveOSM.itemType-mr-road { /* missing road */
- color: #B452CD;
-}
-.improveOSM.itemType-mr-path { /* missing path */
- color: #A0522D;
-}
-.improveOSM.itemType-mr-parking { /* missing parking */
- color: #EEEE00;
-}
-.improveOSM.itemType-mr-both { /* missing road+parking */
- color: #FFA500;
-}
-
-.improveOSM.itemType-tr { /* missing turn restriction */
- color: #EC1C24;
-}
-
/* Custom Map Data (geojson, gpx, kml, vector tile) */
.layer-mapdata {
pointer-events: none;
diff --git a/data/core.yaml b/data/core.yaml
index 2035f27aa..3c42674dd 100644
--- a/data/core.yaml
+++ b/data/core.yaml
@@ -839,9 +839,6 @@ en:
keepRight:
tooltip: Data issues detected by keepright.at
title: KeepRight Issues
- improveOSM:
- tooltip: Missing data detected by improveosm.org
- title: ImproveOSM Issues
osmose:
tooltip: Data issues detected by osmose.openstreetmap.fr
title: Osmose Issues
@@ -1100,33 +1097,6 @@ en:
elems_title: Features
fix_title: Fix Guidelines
trap_title: Common Mistakes
- improveOSM:
- title: ImproveOSM Detection
- geometry_types:
- path: paths
- parking: parking
- road: roads
- both: roads and parking
- directions:
- east: east
- north: north
- northeast: northeast
- northwest: northwest
- south: south
- southeast: southeast
- southwest: southwest
- west: west
- error_types:
- ow:
- title: Missing One-way
- description: 'Along this section of {highway}, {percentage}% of {num_trips} recorded trips travel from {from_node} to {to_node}. There may be missing a "oneway" tag.'
- mr:
- title: Missing Geometry
- description: '{num_trips} recorded trips in this area suggest there may be unmapped {geometry_type} here.'
- description_alt: 'Data from a 3rd party suggests there may be unmapped {geometry_type} here.'
- tr:
- title: Missing Turn Restriction
- description: '{num_passed} of {num_trips} recorded trips (travelling {travel_direction}) make a turn from {from_way} to {to_way} at {junction}. There may be a missing "{turn_restriction}" restriction.'
keepRight:
title: KeepRight
detail_description: Description
@@ -1694,7 +1664,7 @@ en:
title: Quality Assurance
intro: "*Quality Assurance* (Q/A) tools can find improper tags, disconnected roads, and other issues with OpenStreetMap, which mappers can then fix. To view existing Q/A issues, open the {data_icon} **{map_data}** panel and enable a specific Q/A layer."
tools_h: "Tools"
- tools: "The following tools are currently supported: [KeepRight](https://www.keepright.at/), [ImproveOSM](https://improveosm.org/en/) and [Osmose](https://osmose.openstreetmap.fr/)."
+ tools: "The following tools are currently supported: [KeepRight](https://www.keepright.at/) and [Osmose](https://osmose.openstreetmap.fr/)."
issues_h: "Handling Issues"
issues: "Handling Q/A issues is similar to handling notes. Select a marker to view the issue details in the sidebar. Each tool has its own capabilities, but generally you can comment and/or close an issue."
field:
diff --git a/data/qa_data.json b/data/qa_data.json
index 9091132c6..029d6a0de 100644
--- a/data/qa_data.json
+++ b/data/qa_data.json
@@ -1,14 +1,4 @@
{
- "improveOSM": {
- "icons": {
- "ow": "fas-long-arrow-alt-right",
- "mr-both": "maki-car",
- "mr-parking": "maki-parking",
- "mr-path": "maki-shoe",
- "mr-road": "maki-car",
- "tr": "temaki-junction"
- }
- },
"osmose": {
"icons": {
"0-1": "maki-home",
diff --git a/modules/modes/select_error.js b/modules/modes/select_error.js
index 372125907..bde94e2f3 100644
--- a/modules/modes/select_error.js
+++ b/modules/modes/select_error.js
@@ -12,7 +12,6 @@ import { services } from '../services';
import { modeBrowse } from './browse';
import { modeDragNode } from './drag_node';
import { modeDragNote } from './drag_note';
-import { uiImproveOsmEditor } from '../ui/improveOSM_editor';
import { uiKeepRightEditor } from '../ui/keepRight_editor';
import { uiOsmoseEditor } from '../ui/osmose_editor';
import { utilKeybinding } from '../util';
@@ -29,16 +28,6 @@ export function modeSelectError(context, selectedErrorID, selectedErrorService)
var errorService = services[selectedErrorService];
var errorEditor;
switch (selectedErrorService) {
- case 'improveOSM':
- errorEditor = uiImproveOsmEditor(context)
- .on('change', function() {
- context.map().pan([0,0]); // trigger a redraw
- var error = checkSelectedID();
- if (!error) return;
- context.ui().sidebar
- .show(errorEditor.error(error));
- });
- break;
case 'keepRight':
errorEditor = uiKeepRightEditor(context)
.on('change', function() {
diff --git a/modules/services/improveOSM.js b/modules/services/improveOSM.js
deleted file mode 100644
index 903912619..000000000
--- a/modules/services/improveOSM.js
+++ /dev/null
@@ -1,481 +0,0 @@
-import RBush from 'rbush';
-
-import { dispatch as d3_dispatch } from 'd3-dispatch';
-import { json as d3_json } from 'd3-fetch';
-
-import { fileFetcher } from '../core/file_fetcher';
-import { geoExtent, geoVecAdd, geoVecScale } from '../geo';
-import { QAItem } from '../osm';
-import { serviceOsm } from './index';
-import { t } from '../core/localizer';
-import { utilRebind, utilTiler, utilQsString } from '../util';
-
-
-const tiler = utilTiler();
-const dispatch = d3_dispatch('loaded');
-const _tileZoom = 14;
-const _impOsmUrls = {
- ow: 'https://community.improveosm.org/directionOfFlowService',
- mr: 'https://community.improveosm.org/missingGeoService',
- tr: 'https://community.improveosm.org/turnRestrictionService'
-};
-let _impOsmData = { icons: {} };
-
-
-// This gets reassigned if reset
-let _cache;
-
-function abortRequest(i) {
- Object.values(i).forEach(controller => {
- if (controller) {
- controller.abort();
- }
- });
-}
-
-function abortUnwantedRequests(cache, tiles) {
- Object.keys(cache.inflightTile).forEach(k => {
- const wanted = tiles.find(tile => k === tile.id);
- if (!wanted) {
- abortRequest(cache.inflightTile[k]);
- delete cache.inflightTile[k];
- }
- });
-}
-
-function encodeIssueRtree(d) {
- return { minX: d.loc[0], minY: d.loc[1], maxX: d.loc[0], maxY: d.loc[1], data: d };
-}
-
-// Replace or remove QAItem from rtree
-function updateRtree(item, replace) {
- _cache.rtree.remove(item, (a, b) => a.data.id === b.data.id);
-
- if (replace) {
- _cache.rtree.insert(item);
- }
-}
-
-function linkErrorObject(d) {
- return { html: `${d}` };
-}
-
-function linkEntity(d) {
- return { html: `${d}` };
-}
-
-function pointAverage(points) {
- if (points.length) {
- const sum = points.reduce(
- (acc, point) => geoVecAdd(acc, [point.lon, point.lat]),
- [0,0]
- );
- return geoVecScale(sum, 1 / points.length);
- } else {
- return [0,0];
- }
-}
-
-function relativeBearing(p1, p2) {
- let angle = Math.atan2(p2.lon - p1.lon, p2.lat - p1.lat);
- if (angle < 0) {
- angle += 2 * Math.PI;
- }
-
- // Return degrees
- return angle * 180 / Math.PI;
-}
-
-// Assuming range [0,360)
-function cardinalDirection(bearing) {
- const dir = 45 * Math.round(bearing / 45);
- const compass = {
- 0: 'north',
- 45: 'northeast',
- 90: 'east',
- 135: 'southeast',
- 180: 'south',
- 225: 'southwest',
- 270: 'west',
- 315: 'northwest',
- 360: 'north'
- };
-
- return t(`QA.improveOSM.directions.${compass[dir]}`);
-}
-
-// Errors shouldn't obscure each other
-function preventCoincident(loc, bumpUp) {
- let coincident = false;
- do {
- // first time, move marker up. after that, move marker right.
- let delta = coincident ? [0.00001, 0] :
- bumpUp ? [0, 0.00001] :
- [0, 0];
- loc = geoVecAdd(loc, delta);
- let bbox = geoExtent(loc).bbox();
- coincident = _cache.rtree.search(bbox).length;
- } while (coincident);
-
- return loc;
-}
-
-export default {
- title: 'improveOSM',
-
- init() {
- fileFetcher.get('qa_data')
- .then(d => _impOsmData = d.improveOSM);
-
- if (!_cache) {
- this.reset();
- }
-
- this.event = utilRebind(this, dispatch, 'on');
- },
-
- reset() {
- if (_cache) {
- Object.values(_cache.inflightTile).forEach(abortRequest);
- }
- _cache = {
- data: {},
- loadedTile: {},
- inflightTile: {},
- inflightPost: {},
- closed: {},
- rtree: new RBush()
- };
- },
-
- loadIssues(projection) {
- const options = {
- client: 'iD',
- status: 'OPEN',
- zoom: '19' // Use a high zoom so that clusters aren't returned
- };
-
- // determine the needed tiles to cover the view
- const tiles = tiler
- .zoomExtent([_tileZoom, _tileZoom])
- .getTiles(projection);
-
- // abort inflight requests that are no longer needed
- abortUnwantedRequests(_cache, tiles);
-
- // issue new requests..
- tiles.forEach(tile => {
- if (_cache.loadedTile[tile.id] || _cache.inflightTile[tile.id]) return;
-
- const [ east, north, west, south ] = tile.extent.rectangle();
- const params = Object.assign({}, options, { east, south, west, north });
-
- // 3 separate requests to store for each tile
- const requests = {};
-
- Object.keys(_impOsmUrls).forEach(k => {
- // We exclude WATER from missing geometry as it doesn't seem useful
- // We use most confident one-way and turn restrictions only, still have false positives
- const kParams = Object.assign({},
- params,
- (k === 'mr') ? { type: 'PARKING,ROAD,BOTH,PATH' } : { confidenceLevel: 'C1' }
- );
- const url = `${_impOsmUrls[k]}/search?` + utilQsString(kParams);
- const controller = new AbortController();
-
- requests[k] = controller;
-
- d3_json(url, { signal: controller.signal })
- .then(data => {
- delete _cache.inflightTile[tile.id][k];
- if (!Object.keys(_cache.inflightTile[tile.id]).length) {
- delete _cache.inflightTile[tile.id];
- _cache.loadedTile[tile.id] = true;
- }
-
- // Road segments at high zoom == oneways
- if (data.roadSegments) {
- data.roadSegments.forEach(feature => {
- // Position error at the approximate middle of the segment
- const { points, wayId, fromNodeId, toNodeId } = feature;
- const itemId = `${wayId}${fromNodeId}${toNodeId}`;
- let mid = points.length / 2;
- let loc;
-
- // Even number of points, find midpoint of the middle two
- // Odd number of points, use position of very middle point
- if (mid % 1 === 0) {
- loc = pointAverage([points[mid - 1], points[mid]]);
- } else {
- mid = points[Math.floor(mid)];
- loc = [mid.lon, mid.lat];
- }
-
- // One-ways can land on same segment in opposite direction
- loc = preventCoincident(loc, false);
-
- let d = new QAItem(loc, this, k, itemId, {
- issueKey: k, // used as a category
- identifier: { // used to post changes
- wayId,
- fromNodeId,
- toNodeId
- },
- objectId: wayId,
- objectType: 'way'
- });
-
- // Variables used in the description
- d.replacements = {
- percentage: feature.percentOfTrips,
- num_trips: feature.numberOfTrips,
- highway: linkErrorObject(t('QA.keepRight.error_parts.highway')),
- from_node: linkEntity('n' + feature.fromNodeId),
- to_node: linkEntity('n' + feature.toNodeId)
- };
-
- _cache.data[d.id] = d;
- _cache.rtree.insert(encodeIssueRtree(d));
- });
- }
-
- // Tiles at high zoom == missing roads
- if (data.tiles) {
- data.tiles.forEach(feature => {
- const { type, x, y, numberOfTrips } = feature;
- const geoType = type.toLowerCase();
- const itemId = `${geoType}${x}${y}${numberOfTrips}`;
-
- // Average of recorded points should land on the missing geometry
- // Missing geometry could happen to land on another error
- let loc = pointAverage(feature.points);
- loc = preventCoincident(loc, false);
-
- let d = new QAItem(loc, this, `${k}-${geoType}`, itemId, {
- issueKey: k,
- identifier: { x, y }
- });
-
- d.replacements = {
- num_trips: numberOfTrips,
- geometry_type: t(`QA.improveOSM.geometry_types.${geoType}`)
- };
-
- // -1 trips indicates data came from a 3rd party
- if (numberOfTrips === -1) {
- d.desc = t('QA.improveOSM.error_types.mr.description_alt', d.replacements);
- }
-
- _cache.data[d.id] = d;
- _cache.rtree.insert(encodeIssueRtree(d));
- });
- }
-
- // Entities at high zoom == turn restrictions
- if (data.entities) {
- data.entities.forEach(feature => {
- const { point, id, segments, numberOfPasses, turnType } = feature;
- const itemId = `${id.replace(/[,:+#]/g, '_')}`;
-
- // Turn restrictions could be missing at same junction
- // We also want to bump the error up so node is accessible
- const loc = preventCoincident([point.lon, point.lat], true);
-
- // Elements are presented in a strange way
- const ids = id.split(',');
- const from_way = ids[0];
- const via_node = ids[3];
- const to_way = ids[2].split(':')[1];
-
- let d = new QAItem(loc, this, k, itemId, {
- issueKey: k,
- identifier: id,
- objectId: via_node,
- objectType: 'node'
- });
-
- // Travel direction along from_way clarifies the turn restriction
- const [ p1, p2 ] = segments[0].points;
- const dir_of_travel = cardinalDirection(relativeBearing(p1, p2));
-
- // Variables used in the description
- d.replacements = {
- num_passed: numberOfPasses,
- num_trips: segments[0].numberOfTrips,
- turn_restriction: turnType.toLowerCase(),
- from_way: linkEntity('w' + from_way),
- to_way: linkEntity('w' + to_way),
- travel_direction: dir_of_travel,
- junction: linkErrorObject(t('QA.keepRight.error_parts.this_node'))
- };
-
- _cache.data[d.id] = d;
- _cache.rtree.insert(encodeIssueRtree(d));
- dispatch.call('loaded');
- });
- }
- })
- .catch(() => {
- delete _cache.inflightTile[tile.id][k];
- if (!Object.keys(_cache.inflightTile[tile.id]).length) {
- delete _cache.inflightTile[tile.id];
- _cache.loadedTile[tile.id] = true;
- }
- });
- });
-
- _cache.inflightTile[tile.id] = requests;
- });
- },
-
- getComments(item) {
- // If comments already retrieved no need to do so again
- if (item.comments) {
- return Promise.resolve(item);
- }
-
- const key = item.issueKey;
- let qParams = {};
-
- if (key === 'ow') {
- qParams = item.identifier;
- } else if (key === 'mr') {
- qParams.tileX = item.identifier.x;
- qParams.tileY = item.identifier.y;
- } else if (key === 'tr') {
- qParams.targetId = item.identifier;
- }
-
- const url = `${_impOsmUrls[key]}/retrieveComments?` + utilQsString(qParams);
- const cacheComments = data => {
- // Assign directly for immediate use afterwards
- // comments are served newest to oldest
- item.comments = data.comments ? data.comments.reverse() : [];
- this.replaceItem(item);
- };
-
- return d3_json(url).then(cacheComments).then(() => item);
- },
-
- postUpdate(d, callback) {
- if (!serviceOsm.authenticated()) { // Username required in payload
- return callback({ message: 'Not Authenticated', status: -3}, d);
- }
- if (_cache.inflightPost[d.id]) {
- return callback({ message: 'Error update already inflight', status: -2 }, d);
- }
-
- // Payload can only be sent once username is established
- serviceOsm.userDetails(sendPayload.bind(this));
-
- function sendPayload(err, user) {
- if (err) { return callback(err, d); }
-
- const key = d.issueKey;
- const url = `${_impOsmUrls[key]}/comment`;
- const payload = {
- username: user.display_name,
- targetIds: [ d.identifier ]
- };
-
- if (d.newStatus) {
- payload.status = d.newStatus;
- payload.text = 'status changed';
- }
-
- // Comment take place of default text
- if (d.newComment) {
- payload.text = d.newComment;
- }
-
- const controller = new AbortController();
- _cache.inflightPost[d.id] = controller;
-
- const options = {
- method: 'POST',
- signal: controller.signal,
- body: JSON.stringify(payload)
- };
-
- d3_json(url, options)
- .then(() => {
- delete _cache.inflightPost[d.id];
-
- // Just a comment, update error in cache
- if (!d.newStatus) {
- const now = new Date();
- let comments = d.comments ? d.comments : [];
-
- comments.push({
- username: payload.username,
- text: payload.text,
- timestamp: now.getTime() / 1000
- });
-
- this.replaceItem(d.update({
- comments: comments,
- newComment: undefined
- }));
- } else {
- this.removeItem(d);
- if (d.newStatus === 'SOLVED') {
- // Keep track of the number of issues closed per type to tag the changeset
- if (!(d.issueKey in _cache.closed)) {
- _cache.closed[d.issueKey] = 0;
- }
- _cache.closed[d.issueKey] += 1;
- }
- }
- if (callback) callback(null, d);
- })
- .catch(err => {
- delete _cache.inflightPost[d.id];
- if (callback) callback(err.message);
- });
- }
- },
-
-
- // Get all cached QAItems covering the viewport
- getItems(projection) {
- const viewport = projection.clipExtent();
- const min = [viewport[0][0], viewport[1][1]];
- const max = [viewport[1][0], viewport[0][1]];
- const bbox = geoExtent(projection.invert(min), projection.invert(max)).bbox();
-
- return _cache.rtree.search(bbox).map(d => d.data);
- },
-
- // Get a QAItem from cache
- // NOTE: Don't change method name until UI v3 is merged
- getError(id) {
- return _cache.data[id];
- },
-
- // get the name of the icon to display for this item
- getIcon(itemType) {
- return _impOsmData.icons[itemType];
- },
-
- // Replace a single QAItem in the cache
- replaceItem(issue) {
- if (!(issue instanceof QAItem) || !issue.id) return;
-
- _cache.data[issue.id] = issue;
- updateRtree(encodeIssueRtree(issue), true); // true = replace
- return issue;
- },
-
- // Remove a single QAItem from the cache
- removeItem(issue) {
- if (!(issue instanceof QAItem) || !issue.id) return;
-
- delete _cache.data[issue.id];
- updateRtree(encodeIssueRtree(issue), false); // false = remove
- },
-
- // Used to populate `closed:improveosm:*` changeset tags
- getClosedCounts() {
- return _cache.closed;
- }
-};
diff --git a/modules/services/index.js b/modules/services/index.js
index 81fc9036e..af98a7c3c 100644
--- a/modules/services/index.js
+++ b/modules/services/index.js
@@ -1,5 +1,4 @@
import serviceKeepRight from './keepRight';
-import serviceImproveOSM from './improveOSM';
import serviceOsmose from './osmose';
import serviceMapillary from './mapillary';
import serviceMapRules from './maprules';
@@ -21,7 +20,6 @@ import servicePanoramax from './panoramax';
export let services = {
geocoder: serviceNominatim,
keepRight: serviceKeepRight,
- improveOSM: serviceImproveOSM,
osmose: serviceOsmose,
mapillary: serviceMapillary,
nsi: serviceNsi,
@@ -41,7 +39,6 @@ export let services = {
export {
serviceKeepRight,
- serviceImproveOSM,
serviceOsmose,
serviceMapillary,
serviceMapRules,
diff --git a/modules/svg/improveOSM.js b/modules/svg/improveOSM.js
deleted file mode 100644
index b8cd77dbd..000000000
--- a/modules/svg/improveOSM.js
+++ /dev/null
@@ -1,227 +0,0 @@
-import _throttle from 'lodash-es/throttle';
-import { select as d3_select } from 'd3-selection';
-
-import { modeBrowse } from '../modes/browse';
-import { svgPointTransform } from './helpers';
-import { services } from '../services';
-
-let _layerEnabled = false;
-let _qaService;
-
-export function svgImproveOSM(projection, context, dispatch) {
- const throttledRedraw = _throttle(() => dispatch.call('change'), 1000);
- const minZoom = 12;
-
- let touchLayer = d3_select(null);
- let drawLayer = d3_select(null);
- let layerVisible = false;
-
- function markerPath(selection, klass) {
- selection
- .attr('class', klass)
- .attr('transform', 'translate(-10, -28)')
- .attr('points', '16,3 4,3 1,6 1,17 4,20 7,20 10,27 13,20 16,20 19,17.033 19,6');
- }
-
- // Loosely-coupled improveOSM service for fetching issues
- function getService() {
- if (services.improveOSM && !_qaService) {
- _qaService = services.improveOSM;
- _qaService.on('loaded', throttledRedraw);
- } else if (!services.improveOSM && _qaService) {
- _qaService = null;
- }
-
- return _qaService;
- }
-
- // Show the markers
- function editOn() {
- if (!layerVisible) {
- layerVisible = true;
- drawLayer
- .style('display', 'block');
- }
- }
-
- // Immediately remove the markers and their touch targets
- function editOff() {
- if (layerVisible) {
- layerVisible = false;
- drawLayer
- .style('display', 'none');
- drawLayer.selectAll('.qaItem.improveOSM')
- .remove();
- touchLayer.selectAll('.qaItem.improveOSM')
- .remove();
- }
- }
-
- // Enable the layer. This shows the markers and transitions them to visible.
- function layerOn() {
- editOn();
-
- drawLayer
- .style('opacity', 0)
- .transition()
- .duration(250)
- .style('opacity', 1)
- .on('end interrupt', () => dispatch.call('change'));
- }
-
- // Disable the layer. This transitions the layer invisible and then hides the markers.
- function layerOff() {
- throttledRedraw.cancel();
- drawLayer.interrupt();
- touchLayer.selectAll('.qaItem.improveOSM')
- .remove();
-
- drawLayer
- .transition()
- .duration(250)
- .style('opacity', 0)
- .on('end interrupt', () => {
- editOff();
- dispatch.call('change');
- });
- }
-
- // Update the issue markers
- function updateMarkers() {
- if (!layerVisible || !_layerEnabled) return;
-
- const service = getService();
- const selectedID = context.selectedErrorID();
- const data = (service ? service.getItems(projection) : []);
- const getTransform = svgPointTransform(projection);
-
- // Draw markers..
- const markers = drawLayer.selectAll('.qaItem.improveOSM')
- .data(data, d => d.id);
-
- // exit
- markers.exit()
- .remove();
-
- // enter
- const markersEnter = markers.enter()
- .append('g')
- .attr('class', d => `qaItem ${d.service} itemId-${d.id} itemType-${d.itemType}`);
-
- markersEnter
- .append('polygon')
- .call(markerPath, 'shadow');
-
- markersEnter
- .append('ellipse')
- .attr('cx', 0)
- .attr('cy', 0)
- .attr('rx', 4.5)
- .attr('ry', 2)
- .attr('class', 'stroke');
-
- markersEnter
- .append('polygon')
- .attr('fill', 'currentColor')
- .call(markerPath, 'qaItem-fill');
-
- markersEnter
- .append('use')
- .attr('class', 'icon-annotation')
- .attr('transform', 'translate(-6, -22)')
- .attr('width', '12px')
- .attr('height', '12px')
- .attr('xlink:href', d => d.icon ? '#' + d.icon : '');
-
- // update
- markers
- .merge(markersEnter)
- .sort(sortY)
- .classed('selected', d => d.id === selectedID)
- .attr('transform', getTransform);
-
-
- // Draw targets..
- if (touchLayer.empty()) return;
- const fillClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
-
- const targets = touchLayer.selectAll('.qaItem.improveOSM')
- .data(data, d => d.id);
-
- // exit
- targets.exit()
- .remove();
-
- // enter/update
- targets.enter()
- .append('rect')
- .attr('width', '20px')
- .attr('height', '30px')
- .attr('x', '-10px')
- .attr('y', '-28px')
- .merge(targets)
- .sort(sortY)
- .attr('class', d => `qaItem ${d.service} target ${fillClass} itemId-${d.id}`)
- .attr('transform', getTransform);
-
- function sortY(a, b) {
- return (a.id === selectedID) ? 1
- : (b.id === selectedID) ? -1
- : b.loc[1] - a.loc[1];
- }
- }
-
- // Draw the ImproveOSM layer and schedule loading issues and updating markers.
- function drawImproveOSM(selection) {
- const service = getService();
-
- const surface = context.surface();
- if (surface && !surface.empty()) {
- touchLayer = surface.selectAll('.data-layer.touch .layer-touch.markers');
- }
-
- drawLayer = selection.selectAll('.layer-improveOSM')
- .data(service ? [0] : []);
-
- drawLayer.exit()
- .remove();
-
- drawLayer = drawLayer.enter()
- .append('g')
- .attr('class', 'layer-improveOSM')
- .style('display', _layerEnabled ? 'block' : 'none')
- .merge(drawLayer);
-
- if (_layerEnabled) {
- if (service && ~~context.map().zoom() >= minZoom) {
- editOn();
- service.loadIssues(projection);
- updateMarkers();
- } else {
- editOff();
- }
- }
- }
-
- // Toggles the layer on and off
- drawImproveOSM.enabled = function(val) {
- if (!arguments.length) return _layerEnabled;
-
- _layerEnabled = val;
- if (_layerEnabled) {
- layerOn();
- } else {
- layerOff();
- if (context.selectedErrorID()) {
- context.enter(modeBrowse(context));
- }
- }
-
- dispatch.call('change');
- return this;
- };
-
- drawImproveOSM.supported = () => !!getService();
-
- return drawImproveOSM;
-}
diff --git a/modules/svg/layers.js b/modules/svg/layers.js
index 59a014cc1..518bc5ce8 100644
--- a/modules/svg/layers.js
+++ b/modules/svg/layers.js
@@ -6,7 +6,6 @@ import { svgLocalPhotos} from './local_photos';
import { svgDebug } from './debug';
import { svgGeolocate } from './geolocate';
import { svgKeepRight } from './keepRight';
-import { svgImproveOSM } from './improveOSM';
import { svgOsmose } from './osmose';
import { svgStreetside } from './streetside';
import { svgVegbilder} from './vegbilder';
@@ -32,7 +31,6 @@ export function svgLayers(projection, context) {
{ id: 'notes', layer: svgNotes(projection, context, dispatch) },
{ id: 'data', layer: svgData(projection, context, dispatch) },
{ id: 'keepRight', layer: svgKeepRight(projection, context, dispatch) },
- { id: 'improveOSM', layer: svgImproveOSM(projection, context, dispatch) },
{ id: 'osmose', layer: svgOsmose(projection, context, dispatch) },
{ id: 'streetside', layer: svgStreetside(projection, context, dispatch)},
{ id: 'mapillary', layer: svgMapillaryImages(projection, context, dispatch) },
diff --git a/modules/ui/commit.js b/modules/ui/commit.js
index 326b8202a..59cbdaf81 100644
--- a/modules/ui/commit.js
+++ b/modules/ui/commit.js
@@ -27,7 +27,6 @@ var readOnlyTags = [
/^resolved:/,
/^closed:note$/,
/^closed:keepright$/,
- /^closed:improveosm:/,
/^closed:osmose:/
];
@@ -155,12 +154,6 @@ export function uiCommit(context) {
tags['closed:keepright'] = context.cleanTagValue(krClosed.join(';'));
}
}
- if (services.improveOSM) {
- var iOsmClosed = services.improveOSM.getClosedCounts();
- for (itemType in iOsmClosed) {
- tags['closed:improveosm:' + itemType] = context.cleanTagValue(iOsmClosed[itemType].toString());
- }
- }
if (services.osmose) {
var osmoseClosed = services.osmose.getClosedCounts();
for (itemType in osmoseClosed) {
diff --git a/modules/ui/improveOSM_comments.js b/modules/ui/improveOSM_comments.js
deleted file mode 100644
index 92bdefc91..000000000
--- a/modules/ui/improveOSM_comments.js
+++ /dev/null
@@ -1,92 +0,0 @@
-import { select as d3_select } from 'd3-selection';
-
-import { t, localizer } from '../core/localizer';
-import { svgIcon } from '../svg/icon';
-import { services } from '../services';
-
-export function uiImproveOsmComments() {
- let _qaItem;
-
- function issueComments(selection) {
- // make the div immediately so it appears above the buttons
- let comments = selection.selectAll('.comments-container')
- .data([0]);
-
- comments = comments.enter()
- .append('div')
- .attr('class', 'comments-container')
- .merge(comments);
-
- // must retrieve comments from API before they can be displayed
- services.improveOSM.getComments(_qaItem)
- .then(d => {
- if (!d.comments) return; // nothing to do here
-
- const commentEnter = comments.selectAll('.comment')
- .data(d.comments)
- .enter()
- .append('div')
- .attr('class', 'comment');
-
- commentEnter
- .append('div')
- .attr('class', 'comment-avatar')
- .call(svgIcon('#iD-icon-avatar', 'comment-avatar-icon'));
-
- const mainEnter = commentEnter
- .append('div')
- .attr('class', 'comment-main');
-
- const metadataEnter = mainEnter
- .append('div')
- .attr('class', 'comment-metadata');
-
- metadataEnter
- .append('div')
- .attr('class', 'comment-author')
- .each(function(d) {
- const osm = services.osm;
- let selection = d3_select(this);
- if (osm && d.username) {
- selection = selection
- .append('a')
- .attr('class', 'comment-author-link')
- .attr('href', osm.userURL(d.username))
- .attr('target', '_blank');
- }
- selection
- .text(d => d.username);
- });
-
- metadataEnter
- .append('div')
- .attr('class', 'comment-date')
- .html(d => t.html('note.status.commented', { when: localeDateString(d.timestamp) }));
-
- mainEnter
- .append('div')
- .attr('class', 'comment-text')
- .append('p')
- .text(d => d.text);
- })
- .catch(err => {
- console.log(err); // eslint-disable-line no-console
- });
- }
-
- function localeDateString(s) {
- if (!s) return null;
- const options = { day: 'numeric', month: 'short', year: 'numeric' };
- const d = new Date(s * 1000); // timestamp is served in seconds, date takes ms
- if (isNaN(d.getTime())) return null;
- return d.toLocaleDateString(localizer.localeCode(), options);
- }
-
- issueComments.issue = function(val) {
- if (!arguments.length) return _qaItem;
- _qaItem = val;
- return issueComments;
- };
-
- return issueComments;
-}
diff --git a/modules/ui/improveOSM_details.js b/modules/ui/improveOSM_details.js
deleted file mode 100644
index 9f8c3e543..000000000
--- a/modules/ui/improveOSM_details.js
+++ /dev/null
@@ -1,125 +0,0 @@
-import {
- select as d3_select
-} from 'd3-selection';
-
-import { presetManager } from '../presets';
-import { modeSelect } from '../modes/select';
-import { t } from '../core/localizer';
-import { utilDisplayName, utilHighlightEntities, utilEntityRoot } from '../util';
-
-export function uiImproveOsmDetails(context) {
- let _qaItem;
-
-
- function issueDetail(d) {
- if (d.desc) return d.desc;
- const issueKey = d.issueKey;
- d.replacements = d.replacements || {};
- d.replacements.default = { html: t.html('inspector.unknown') }; // special key `default` works as a fallback string
- return t.html(`QA.improveOSM.error_types.${issueKey}.description`, d.replacements);
- }
-
-
- function improveOsmDetails(selection) {
- const details = selection.selectAll('.error-details')
- .data(
- (_qaItem ? [_qaItem] : []),
- d => `${d.id}-${d.status || 0}`
- );
-
- details.exit()
- .remove();
-
- const detailsEnter = details.enter()
- .append('div')
- .attr('class', 'error-details qa-details-container');
-
-
- // description
- const descriptionEnter = detailsEnter
- .append('div')
- .attr('class', 'qa-details-subsection');
-
- descriptionEnter
- .append('h4')
- .call(t.append('QA.keepRight.detail_description'));
-
- descriptionEnter
- .append('div')
- .attr('class', 'qa-details-description-text')
- .html(issueDetail);
-
- // If there are entity links in the error message..
- let relatedEntities = [];
- descriptionEnter.selectAll('.error_entity_link, .error_object_link')
- .attr('href', '#')
- .each(function() {
- const link = d3_select(this);
- const isObjectLink = link.classed('error_object_link');
- const entityID = isObjectLink ?
- (utilEntityRoot(_qaItem.objectType) + _qaItem.objectId)
- : this.textContent;
- const entity = context.hasEntity(entityID);
-
- relatedEntities.push(entityID);
-
- // Add click handler
- link
- .on('mouseenter', () => {
- utilHighlightEntities([entityID], true, context);
- })
- .on('mouseleave', () => {
- utilHighlightEntities([entityID], false, context);
- })
- .on('click', (d3_event) => {
- d3_event.preventDefault();
-
- utilHighlightEntities([entityID], false, context);
-
- const osmlayer = context.layers().layer('osm');
- if (!osmlayer.enabled()) {
- osmlayer.enabled(true);
- }
-
- context.map().centerZoom(_qaItem.loc, 20);
-
- if (entity) {
- context.enter(modeSelect(context, [entityID]));
- } else {
- context.loadEntity(entityID, (err, result) => {
- if (err) return;
- const entity = result.data.find(e => e.id === entityID);
- if (entity) context.enter(modeSelect(context, [entityID]));
- });
- }
- });
-
- // Replace with friendly name if possible
- // (The entity may not yet be loaded into the graph)
- if (entity) {
- let name = utilDisplayName(entity); // try to use common name
-
- if (!name && !isObjectLink) {
- const preset = presetManager.match(entity, context.graph());
- name = preset && !preset.isFallback() && preset.name(); // fallback to preset name
- }
-
- if (name) {
- this.innerText = name;
- }
- }
- });
-
- // Don't hide entities related to this error - #5880
- context.features().forceVisible(relatedEntities);
- context.map().pan([0,0]); // trigger a redraw
- }
-
- improveOsmDetails.issue = function(val) {
- if (!arguments.length) return _qaItem;
- _qaItem = val;
- return improveOsmDetails;
- };
-
- return improveOsmDetails;
-}
diff --git a/modules/ui/improveOSM_editor.js b/modules/ui/improveOSM_editor.js
deleted file mode 100644
index 98473b3f4..000000000
--- a/modules/ui/improveOSM_editor.js
+++ /dev/null
@@ -1,200 +0,0 @@
-import { dispatch as d3_dispatch } from 'd3-dispatch';
-import { select as d3_select } from 'd3-selection';
-
-import { t } from '../core/localizer';
-import { services } from '../services';
-import { modeBrowse } from '../modes/browse';
-import { svgIcon } from '../svg/icon';
-
-import { uiImproveOsmComments } from './improveOSM_comments';
-import { uiImproveOsmDetails } from './improveOSM_details';
-import { uiImproveOsmHeader } from './improveOSM_header';
-
-import { utilNoAuto, utilRebind } from '../util';
-
-export function uiImproveOsmEditor(context) {
- const dispatch = d3_dispatch('change');
- const qaDetails = uiImproveOsmDetails(context);
- const qaComments = uiImproveOsmComments(context);
- const qaHeader = uiImproveOsmHeader(context);
-
- let _qaItem;
-
- function improveOsmEditor(selection) {
-
- const headerEnter = selection.selectAll('.header')
- .data([0])
- .enter()
- .append('div')
- .attr('class', 'header fillL');
-
- headerEnter
- .append('button')
- .attr('class', 'close')
- .attr('title', t('icons.close'))
- .on('click', () => context.enter(modeBrowse(context)))
- .call(svgIcon('#iD-icon-close'));
-
- headerEnter
- .append('h2')
- .call(t.append('QA.improveOSM.title'));
-
- let body = selection.selectAll('.body')
- .data([0]);
-
- body = body.enter()
- .append('div')
- .attr('class', 'body')
- .merge(body);
-
- const editor = body.selectAll('.qa-editor')
- .data([0]);
-
- editor.enter()
- .append('div')
- .attr('class', 'modal-section qa-editor')
- .merge(editor)
- .call(qaHeader.issue(_qaItem))
- .call(qaDetails.issue(_qaItem))
- .call(qaComments.issue(_qaItem))
- .call(improveOsmSaveSection);
- }
-
- function improveOsmSaveSection(selection) {
- const isSelected = (_qaItem && _qaItem.id === context.selectedErrorID());
- const isShown = (_qaItem && (isSelected || _qaItem.newComment || _qaItem.comment));
- let saveSection = selection.selectAll('.qa-save')
- .data(
- (isShown ? [_qaItem] : []),
- d => `${d.id}-${d.status || 0}`
- );
-
- // exit
- saveSection.exit()
- .remove();
-
- // enter
- const saveSectionEnter = saveSection.enter()
- .append('div')
- .attr('class', 'qa-save save-section cf');
-
- saveSectionEnter
- .append('h4')
- .attr('class', '.qa-save-header')
- .call(t.append('note.newComment'));
-
- saveSectionEnter
- .append('textarea')
- .attr('class', 'new-comment-input')
- .attr('placeholder', t('QA.keepRight.comment_placeholder'))
- .attr('maxlength', 1000)
- .property('value', d => d.newComment)
- .call(utilNoAuto)
- .on('input', changeInput)
- .on('blur', changeInput);
-
- // update
- saveSection = saveSectionEnter
- .merge(saveSection)
- .call(qaSaveButtons);
-
- function changeInput() {
- const input = d3_select(this);
- let val = input.property('value').trim();
-
- if (val === '') {
- val = undefined;
- }
-
- // store the unsaved comment with the issue itself
- _qaItem = _qaItem.update({ newComment: val });
-
- const qaService = services.improveOSM;
- if (qaService) {
- qaService.replaceItem(_qaItem);
- }
-
- saveSection
- .call(qaSaveButtons);
- }
- }
-
- function qaSaveButtons(selection) {
- const isSelected = (_qaItem && _qaItem.id === context.selectedErrorID());
- let buttonSection = selection.selectAll('.buttons')
- .data((isSelected ? [_qaItem] : []), d => d.status + d.id);
-
- // exit
- buttonSection.exit()
- .remove();
-
- // enter
- const buttonEnter = buttonSection.enter()
- .append('div')
- .attr('class', 'buttons');
-
- buttonEnter
- .append('button')
- .attr('class', 'button comment-button action')
- .call(t.append('QA.keepRight.save_comment'));
-
- buttonEnter
- .append('button')
- .attr('class', 'button close-button action');
-
- buttonEnter
- .append('button')
- .attr('class', 'button ignore-button action');
-
- // update
- buttonSection = buttonSection
- .merge(buttonEnter);
-
- buttonSection.select('.comment-button')
- .attr('disabled', d => d.newComment ? null : true)
- .on('click.comment', function(d3_event, d) {
- this.blur(); // avoid keeping focus on the button - #4641
- const qaService = services.improveOSM;
- if (qaService) {
- qaService.postUpdate(d, (err, item) => dispatch.call('change', item));
- }
- });
-
- buttonSection.select('.close-button')
- .html(d => {
- const andComment = (d.newComment ? '_comment' : '');
- return t.html(`QA.keepRight.close${andComment}`);
- })
- .on('click.close', function(d3_event, d) {
- this.blur(); // avoid keeping focus on the button - #4641
- const qaService = services.improveOSM;
- if (qaService) {
- d.newStatus = 'SOLVED';
- qaService.postUpdate(d, (err, item) => dispatch.call('change', item));
- }
- });
-
- buttonSection.select('.ignore-button')
- .html(d => {
- const andComment = (d.newComment ? '_comment' : '');
- return t.html(`QA.keepRight.ignore${andComment}`);
- })
- .on('click.ignore', function(d3_event, d) {
- this.blur(); // avoid keeping focus on the button - #4641
- const qaService = services.improveOSM;
- if (qaService) {
- d.newStatus = 'INVALID';
- qaService.postUpdate(d, (err, item) => dispatch.call('change', item));
- }
- });
- }
-
- // NOTE: Don't change method name until UI v3 is merged
- improveOsmEditor.error = function(val) {
- if (!arguments.length) return _qaItem;
- _qaItem = val;
- return improveOsmEditor;
- };
-
- return utilRebind(improveOsmEditor, dispatch, 'on');
-}
diff --git a/modules/ui/improveOSM_header.js b/modules/ui/improveOSM_header.js
deleted file mode 100644
index 164eba794..000000000
--- a/modules/ui/improveOSM_header.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import { t } from '../core/localizer';
-
-
-export function uiImproveOsmHeader() {
- let _qaItem;
-
-
- function issueTitle(d) {
- const issueKey = d.issueKey;
- d.replacements = d.replacements || {};
- d.replacements.default = { html: t.html('inspector.unknown') }; // special key `default` works as a fallback string
- return t.html(`QA.improveOSM.error_types.${issueKey}.title`, d.replacements);
- }
-
-
- function improveOsmHeader(selection) {
- const header = selection.selectAll('.qa-header')
- .data(
- (_qaItem ? [_qaItem] : []),
- d => `${d.id}-${d.status || 0}`
- );
-
- header.exit()
- .remove();
-
- const headerEnter = header.enter()
- .append('div')
- .attr('class', 'qa-header');
-
- const svgEnter = headerEnter
- .append('div')
- .attr('class', 'qa-header-icon')
- .classed('new', d => d.id < 0)
- .append('svg')
- .attr('width', '20px')
- .attr('height', '30px')
- .attr('viewbox', '0 0 20 30')
- .attr('class', d => `preset-icon-28 qaItem ${d.service} itemId-${d.id} itemType-${d.itemType}`);
-
- svgEnter
- .append('polygon')
- .attr('fill', 'currentColor')
- .attr('class', 'qaItem-fill')
- .attr('points', '16,3 4,3 1,6 1,17 4,20 7,20 10,27 13,20 16,20 19,17.033 19,6');
-
- svgEnter
- .append('use')
- .attr('class', 'icon-annotation')
- .attr('width', '12px')
- .attr('height', '12px')
- .attr('transform', 'translate(4, 5.5)')
- .attr('xlink:href', d => d.icon ? '#' + d.icon : '');
-
- headerEnter
- .append('div')
- .attr('class', 'qa-header-label')
- .html(issueTitle);
- }
-
- improveOsmHeader.issue = function(val) {
- if (!arguments.length) return _qaItem;
- _qaItem = val;
- return improveOsmHeader;
- };
-
- return improveOsmHeader;
-}
diff --git a/modules/ui/index.js b/modules/ui/index.js
index 2ffbdd11b..2097203e6 100644
--- a/modules/ui/index.js
+++ b/modules/ui/index.js
@@ -23,10 +23,6 @@ export { uiFlash } from './flash';
export { uiFormFields } from './form_fields';
export { uiFullScreen } from './full_screen';
export { uiGeolocate } from './geolocate';
-export { uiImproveOsmComments } from './improveOSM_comments';
-export { uiImproveOsmDetails } from './improveOSM_details';
-export { uiImproveOsmEditor } from './improveOSM_editor';
-export { uiImproveOsmHeader } from './improveOSM_header';
export { uiInfo } from './info';
export { uiInspector } from './inspector';
export { uiIssuesInfo } from './issues_info';
diff --git a/modules/ui/sections/data_layers.js b/modules/ui/sections/data_layers.js
index 41afb19f9..4053c3bf1 100644
--- a/modules/ui/sections/data_layers.js
+++ b/modules/ui/sections/data_layers.js
@@ -128,7 +128,7 @@ export function uiSectionDataLayers(context) {
}
function drawQAItems(selection) {
- var qaKeys = ['keepRight', 'improveOSM', 'osmose'];
+ var qaKeys = ['keepRight', 'osmose'];
var qaLayers = layers.all().filter(function(obj) { return qaKeys.indexOf(obj.id) !== -1; });
var ul = selection
diff --git a/modules/ui/sidebar.js b/modules/ui/sidebar.js
index 418910e8c..0c7aec564 100644
--- a/modules/ui/sidebar.js
+++ b/modules/ui/sidebar.js
@@ -12,7 +12,6 @@ import { services } from '../services';
import { uiDataEditor } from './data_editor';
import { uiFeatureList } from './feature_list';
import { uiInspector } from './inspector';
-import { uiImproveOsmEditor } from './improveOSM_editor';
import { uiKeepRightEditor } from './keepRight_editor';
import { uiOsmoseEditor } from './osmose_editor';
import { uiNoteEditor } from './note_editor';
@@ -23,7 +22,6 @@ export function uiSidebar(context) {
var inspector = uiInspector(context);
var dataEditor = uiDataEditor(context);
var noteEditor = uiNoteEditor(context);
- var improveOsmEditor = uiImproveOsmEditor(context);
var keepRightEditor = uiKeepRightEditor(context);
var osmoseEditor = uiOsmoseEditor(context);
var _current;
@@ -211,10 +209,8 @@ export function uiSidebar(context) {
var errEditor;
if (datum.service === 'keepRight') {
errEditor = keepRightEditor;
- } else if (datum.service === 'osmose') {
- errEditor = osmoseEditor;
} else {
- errEditor = improveOsmEditor;
+ errEditor = osmoseEditor;
}
context.container().selectAll('.qaItem.' + datum.service)
diff --git a/package-lock.json b/package-lock.json
index 37e6bdc4d..ba8d02f93 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,8 +15,8 @@
"@rapideditor/country-coder": "~5.2.2",
"@rapideditor/location-conflation": "~1.3.0",
"@tmcw/togeojson": "^5.8.1",
- "@turf/bbox": "^6.0.0",
- "@turf/bbox-clip": "^6.0.0",
+ "@turf/bbox": "^7.0.0",
+ "@turf/bbox-clip": "^7.0.0",
"abortcontroller-polyfill": "^1.7.5",
"aes-js": "^3.1.2",
"alif-toolkit": "^1.2.9",
@@ -44,10 +44,10 @@
"@mapbox/maki": "^8.0.1",
"@openstreetmap/id-tagging-schema": "^6.7.3",
"@rapideditor/mapillary_sprite_source": "^1.8.0",
- "@rapideditor/temaki": "^5.8.0",
- "@transifex/api": "^7.1.0",
+ "@rapideditor/temaki": "^5.9.0",
+ "@transifex/api": "^7.1.2",
"autoprefixer": "^10.4.19",
- "browserslist": "^4.23.0",
+ "browserslist": "^4.23.2",
"browserslist-to-esbuild": "^2.1.1",
"chai": "^4.4.1",
"chalk": "^4.1.2",
@@ -57,7 +57,7 @@
"d3": "~7.9.0",
"dotenv": "^16.4.5",
"editor-layer-index": "github:osmlab/editor-layer-index#gh-pages",
- "esbuild": "^0.21.4",
+ "esbuild": "^0.23.0",
"esbuild-visualizer": "^0.6.0",
"eslint": "^9.4.0",
"fetch-mock": "^9.11.0",
@@ -593,9 +593,9 @@
}
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz",
- "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz",
+ "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==",
"cpu": [
"ppc64"
],
@@ -605,13 +605,13 @@
"aix"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz",
- "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz",
+ "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==",
"cpu": [
"arm"
],
@@ -621,13 +621,13 @@
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz",
- "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz",
+ "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==",
"cpu": [
"arm64"
],
@@ -637,13 +637,13 @@
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz",
- "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz",
+ "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==",
"cpu": [
"x64"
],
@@ -653,13 +653,13 @@
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz",
- "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz",
+ "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==",
"cpu": [
"arm64"
],
@@ -669,13 +669,13 @@
"darwin"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz",
- "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz",
+ "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==",
"cpu": [
"x64"
],
@@ -685,13 +685,13 @@
"darwin"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz",
- "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz",
+ "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==",
"cpu": [
"arm64"
],
@@ -701,13 +701,13 @@
"freebsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz",
- "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz",
+ "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==",
"cpu": [
"x64"
],
@@ -717,13 +717,13 @@
"freebsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz",
- "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz",
+ "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==",
"cpu": [
"arm"
],
@@ -733,13 +733,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz",
- "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz",
+ "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==",
"cpu": [
"arm64"
],
@@ -749,13 +749,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz",
- "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz",
+ "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==",
"cpu": [
"ia32"
],
@@ -765,13 +765,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz",
- "integrity": "sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz",
+ "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==",
"cpu": [
"loong64"
],
@@ -781,13 +781,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.4.tgz",
- "integrity": "sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz",
+ "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==",
"cpu": [
"mips64el"
],
@@ -797,13 +797,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.4.tgz",
- "integrity": "sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz",
+ "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==",
"cpu": [
"ppc64"
],
@@ -813,13 +813,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.4.tgz",
- "integrity": "sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz",
+ "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==",
"cpu": [
"riscv64"
],
@@ -829,13 +829,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.4.tgz",
- "integrity": "sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz",
+ "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==",
"cpu": [
"s390x"
],
@@ -845,13 +845,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.4.tgz",
- "integrity": "sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz",
+ "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==",
"cpu": [
"x64"
],
@@ -861,13 +861,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.4.tgz",
- "integrity": "sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz",
+ "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==",
"cpu": [
"x64"
],
@@ -877,13 +877,29 @@
"netbsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz",
+ "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.4.tgz",
- "integrity": "sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz",
+ "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==",
"cpu": [
"x64"
],
@@ -893,13 +909,13 @@
"openbsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.4.tgz",
- "integrity": "sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz",
+ "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==",
"cpu": [
"x64"
],
@@ -909,13 +925,13 @@
"sunos"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.4.tgz",
- "integrity": "sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz",
+ "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==",
"cpu": [
"arm64"
],
@@ -925,13 +941,13 @@
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.4.tgz",
- "integrity": "sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz",
+ "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==",
"cpu": [
"ia32"
],
@@ -941,13 +957,13 @@
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.4.tgz",
- "integrity": "sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz",
+ "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==",
"cpu": [
"x64"
],
@@ -957,7 +973,7 @@
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@eslint-community/eslint-utils": {
@@ -1422,9 +1438,9 @@
"dev": true
},
"node_modules/@rapideditor/temaki": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@rapideditor/temaki/-/temaki-5.8.0.tgz",
- "integrity": "sha512-7bBC8wujia9ygZz3KdjVjr1tZbcNysolEB1tbWVi5rM0MI9VvHPSNC7rUzVUge5vu98qEBWIe5h/25DkXM8h8w==",
+ "version": "5.9.0",
+ "resolved": "https://registry.npmjs.org/@rapideditor/temaki/-/temaki-5.9.0.tgz",
+ "integrity": "sha512-l/ccuN25j4oOjAlrmd20VNQ0Uvwi5sKQ6CikG7e+12qqZRrwywWdFKKopFQMQtGe1Ub8fs8ykaFeUDQn8ic3fQ==",
"dev": true,
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
@@ -1694,9 +1710,9 @@
}
},
"node_modules/@transifex/api": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@transifex/api/-/api-7.1.0.tgz",
- "integrity": "sha512-qXH1H8+7nDj4KcNlcxzpU9DGj6WSfap4EgSEQnF2ALRsyHAdfg49ne1+I7aBFaqdnR3tsFK6KTr/lVUCybUmLQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@transifex/api/-/api-7.1.2.tgz",
+ "integrity": "sha512-OJc2jn/mb5qoSBiMyaPHiUZhIdqeMAW5tFNER+EBK7P0oRvM3twT+C0foMLrEQLKe4mKdvKDAJ0p3PiQgNFqTg==",
"dev": true,
"dependencies": {
"core-js": "^3.35.0"
@@ -1714,49 +1730,61 @@
}
},
"node_modules/@turf/bbox": {
- "version": "6.5.0",
- "license": "MIT",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.0.0.tgz",
+ "integrity": "sha512-IyXG5HAsn6IZLdAtQo7aWYccjU5WsV+uzIzhGaXrh/qTVylSYmRiWgLdiekHZVED9nv9r7D/EJUMOT4zyA6POA==",
"dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
+ "@turf/helpers": "^7.0.0",
+ "@turf/meta": "^7.0.0",
+ "tslib": "^2.6.2"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
"node_modules/@turf/bbox-clip": {
- "version": "6.5.0",
- "license": "MIT",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/bbox-clip/-/bbox-clip-7.0.0.tgz",
+ "integrity": "sha512-ZSReB14sSQpP5TE6g5SijVFijxMp8pyrM0PgEN1LR9Bm+nj7BmmGzHafV3lyteml2bmlFdQxkbTqcbvlVXS98g==",
"dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
+ "@turf/helpers": "^7.0.0",
+ "@turf/invariant": "^7.0.0",
+ "tslib": "^2.6.2"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
"node_modules/@turf/helpers": {
- "version": "6.5.0",
- "license": "MIT",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.0.0.tgz",
+ "integrity": "sha512-vwZvxRuyjGpGXvhXSbT9mX6FK92dBMLWbMbDJ/MXQUPx17ReVPFc+6N6IcxAzZfkiCnqy7vpuq0c+/TTrQxIiA==",
+ "dependencies": {
+ "deep-equal": "^2.2.3",
+ "tslib": "^2.6.2"
+ },
"funding": {
"url": "https://opencollective.com/turf"
}
},
"node_modules/@turf/invariant": {
- "version": "6.5.0",
- "license": "MIT",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-7.0.0.tgz",
+ "integrity": "sha512-Kayszfz3W8yJ1/cIA3/aNSzAuw7QgSp+IwsSmhLAfp4DbjV0o6sjxRZXRY2gRstZHqkNHSSEeir8V/icdO8sjA==",
"dependencies": {
- "@turf/helpers": "^6.5.0"
+ "@turf/helpers": "^7.0.0",
+ "tslib": "^2.6.2"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
"node_modules/@turf/meta": {
- "version": "6.5.0",
- "license": "MIT",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.0.0.tgz",
+ "integrity": "sha512-cEXr13uFwhXq5mFBy0IK1U/QepE5qgk3zXpBYsla3lYV7cB83Vh+NNUR+r0/w/QoJqest1TG4H20F9tGYWPi/g==",
"dependencies": {
- "@turf/helpers": "^6.5.0"
+ "@turf/helpers": "^7.0.0"
},
"funding": {
"url": "https://opencollective.com/turf"
@@ -1979,6 +2007,21 @@
"dev": true,
"license": "Python-2.0"
},
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/array-differ": {
"version": "1.0.0",
"dev": true,
@@ -2052,6 +2095,20 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/balanced-match": {
"version": "1.0.2",
"dev": true,
@@ -2152,11 +2209,12 @@
}
},
"node_modules/braces": {
- "version": "3.0.2",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "fill-range": "^7.0.1"
+ "fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
@@ -2173,9 +2231,9 @@
"license": "ISC"
},
"node_modules/browserslist": {
- "version": "4.23.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
- "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz",
+ "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==",
"dev": true,
"funding": [
{
@@ -2192,10 +2250,10 @@
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001587",
- "electron-to-chromium": "^1.4.668",
+ "caniuse-lite": "^1.0.30001640",
+ "electron-to-chromium": "^1.4.820",
"node-releases": "^2.0.14",
- "update-browserslist-db": "^1.0.13"
+ "update-browserslist-db": "^1.1.0"
},
"bin": {
"browserslist": "cli.js"
@@ -2243,12 +2301,18 @@
}
},
"node_modules/call-bind": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -2289,9 +2353,9 @@
"license": "MIT"
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001600",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz",
- "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==",
+ "version": "1.0.30001641",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz",
+ "integrity": "sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==",
"dev": true,
"funding": [
{
@@ -3158,11 +3222,63 @@
"node": ">=6"
}
},
+ "node_modules/deep-equal": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
+ "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.5",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.2",
+ "is-arguments": "^1.1.1",
+ "is-array-buffer": "^3.0.2",
+ "is-date-object": "^1.0.5",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "isarray": "^2.0.5",
+ "object-is": "^1.1.5",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.5.1",
+ "side-channel": "^1.0.4",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/deep-equal/node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
+ },
"node_modules/deep-is": {
"version": "0.1.4",
"dev": true,
"license": "MIT"
},
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/define-lazy-prop": {
"version": "2.0.0",
"dev": true,
@@ -3172,10 +3288,11 @@
}
},
"node_modules/define-properties": {
- "version": "1.1.4",
- "dev": true,
- "license": "MIT",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dependencies": {
+ "define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
},
@@ -3329,9 +3446,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.4.673",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.673.tgz",
- "integrity": "sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==",
+ "version": "1.4.823",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.823.tgz",
+ "integrity": "sha512-4h+oPeAiGQOHFyUJOqpoEcPj/xxlicxBzOErVeYVMMmAiXUXsGpsFd0QXBMaUUbnD8hhSfLf9uw+MlsoIA7j5w==",
"dev": true
},
"node_modules/emoji-regex": {
@@ -3354,9 +3471,9 @@
}
},
"node_modules/engine.io": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz",
- "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==",
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz",
+ "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==",
"dev": true,
"dependencies": {
"@types/cookie": "^0.4.1",
@@ -3368,7 +3485,7 @@
"cors": "~2.8.5",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
- "ws": "~8.11.0"
+ "ws": "~8.17.1"
},
"engines": {
"node": ">=10.2.0"
@@ -3450,6 +3567,49 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-get-iterator": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
+ "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "has-symbols": "^1.0.3",
+ "is-arguments": "^1.1.1",
+ "is-map": "^2.0.2",
+ "is-set": "^2.0.2",
+ "is-string": "^1.0.7",
+ "isarray": "^2.0.5",
+ "stop-iteration-iterator": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-get-iterator/node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
+ },
"node_modules/es-to-primitive": {
"version": "1.2.1",
"dev": true,
@@ -3467,41 +3627,42 @@
}
},
"node_modules/esbuild": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.4.tgz",
- "integrity": "sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz",
+ "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==",
"dev": true,
"hasInstallScript": true,
"bin": {
"esbuild": "bin/esbuild"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.21.4",
- "@esbuild/android-arm": "0.21.4",
- "@esbuild/android-arm64": "0.21.4",
- "@esbuild/android-x64": "0.21.4",
- "@esbuild/darwin-arm64": "0.21.4",
- "@esbuild/darwin-x64": "0.21.4",
- "@esbuild/freebsd-arm64": "0.21.4",
- "@esbuild/freebsd-x64": "0.21.4",
- "@esbuild/linux-arm": "0.21.4",
- "@esbuild/linux-arm64": "0.21.4",
- "@esbuild/linux-ia32": "0.21.4",
- "@esbuild/linux-loong64": "0.21.4",
- "@esbuild/linux-mips64el": "0.21.4",
- "@esbuild/linux-ppc64": "0.21.4",
- "@esbuild/linux-riscv64": "0.21.4",
- "@esbuild/linux-s390x": "0.21.4",
- "@esbuild/linux-x64": "0.21.4",
- "@esbuild/netbsd-x64": "0.21.4",
- "@esbuild/openbsd-x64": "0.21.4",
- "@esbuild/sunos-x64": "0.21.4",
- "@esbuild/win32-arm64": "0.21.4",
- "@esbuild/win32-ia32": "0.21.4",
- "@esbuild/win32-x64": "0.21.4"
+ "@esbuild/aix-ppc64": "0.23.0",
+ "@esbuild/android-arm": "0.23.0",
+ "@esbuild/android-arm64": "0.23.0",
+ "@esbuild/android-x64": "0.23.0",
+ "@esbuild/darwin-arm64": "0.23.0",
+ "@esbuild/darwin-x64": "0.23.0",
+ "@esbuild/freebsd-arm64": "0.23.0",
+ "@esbuild/freebsd-x64": "0.23.0",
+ "@esbuild/linux-arm": "0.23.0",
+ "@esbuild/linux-arm64": "0.23.0",
+ "@esbuild/linux-ia32": "0.23.0",
+ "@esbuild/linux-loong64": "0.23.0",
+ "@esbuild/linux-mips64el": "0.23.0",
+ "@esbuild/linux-ppc64": "0.23.0",
+ "@esbuild/linux-riscv64": "0.23.0",
+ "@esbuild/linux-s390x": "0.23.0",
+ "@esbuild/linux-x64": "0.23.0",
+ "@esbuild/netbsd-x64": "0.23.0",
+ "@esbuild/openbsd-arm64": "0.23.0",
+ "@esbuild/openbsd-x64": "0.23.0",
+ "@esbuild/sunos-x64": "0.23.0",
+ "@esbuild/win32-arm64": "0.23.0",
+ "@esbuild/win32-ia32": "0.23.0",
+ "@esbuild/win32-x64": "0.23.0"
}
},
"node_modules/esbuild-visualizer": {
@@ -3560,9 +3721,10 @@
}
},
"node_modules/escalade": {
- "version": "3.1.1",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -3955,9 +4117,10 @@
"license": "MIT"
},
"node_modules/fill-range": {
- "version": "7.0.1",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
- "license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -4074,6 +4237,14 @@
}
}
},
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
+ },
"node_modules/foreground-child": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
@@ -4133,10 +4304,27 @@
"dev": true,
"license": "ISC"
},
- "node_modules/function-bind": {
- "version": "1.1.1",
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
- "license": "MIT"
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/function.prototype.name": {
"version": "1.1.5",
@@ -4157,7 +4345,6 @@
},
"node_modules/functions-have-names": {
"version": "1.2.3",
- "dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4217,13 +4404,18 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.1.3",
- "dev": true,
- "license": "MIT",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4389,6 +4581,17 @@
"node": ">= 0.10"
}
},
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/graceful-fs": {
"version": "4.2.10",
"dev": true,
@@ -4548,7 +4751,6 @@
},
"node_modules/has-bigints": {
"version": "1.0.2",
- "dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4574,11 +4776,22 @@
}
},
"node_modules/has-property-descriptors": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dependencies": {
- "get-intrinsic": "^1.1.1"
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4586,7 +4799,6 @@
},
"node_modules/has-symbols": {
"version": "1.0.3",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -4596,11 +4808,11 @@
}
},
"node_modules/has-tostringtag": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dependencies": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -4609,6 +4821,17 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/he": {
"version": "1.2.0",
"dev": true,
@@ -4755,12 +4978,12 @@
"license": "ISC"
},
"node_modules/internal-slot": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"dependencies": {
- "get-intrinsic": "^1.1.0",
- "has": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
"side-channel": "^1.0.4"
},
"engines": {
@@ -4783,6 +5006,36 @@
"node": ">= 0.10"
}
},
+ "node_modules/is-arguments": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
+ "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-arrayish": {
"version": "0.2.1",
"dev": true,
@@ -4790,7 +5043,6 @@
},
"node_modules/is-bigint": {
"version": "1.0.4",
- "dev": true,
"license": "MIT",
"dependencies": {
"has-bigints": "^1.0.1"
@@ -4812,7 +5064,6 @@
},
"node_modules/is-boolean-object": {
"version": "1.1.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
@@ -4827,7 +5078,6 @@
},
"node_modules/is-callable": {
"version": "1.2.7",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -4849,7 +5099,6 @@
},
"node_modules/is-date-object": {
"version": "1.0.5",
- "dev": true,
"license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
@@ -4913,6 +5162,17 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-negative-zero": {
"version": "2.0.2",
"dev": true,
@@ -4926,15 +5186,15 @@
},
"node_modules/is-number": {
"version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/is-number-object": {
"version": "1.0.7",
- "dev": true,
"license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
@@ -4973,7 +5233,6 @@
},
"node_modules/is-regex": {
"version": "1.1.4",
- "dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
@@ -4986,9 +5245,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-set": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-shared-array-buffer": {
"version": "1.0.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.2"
@@ -5011,7 +5280,6 @@
},
"node_modules/is-string": {
"version": "1.0.7",
- "dev": true,
"license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
@@ -5030,7 +5298,6 @@
},
"node_modules/is-symbol": {
"version": "1.0.4",
- "dev": true,
"license": "MIT",
"dependencies": {
"has-symbols": "^1.0.2"
@@ -5058,6 +5325,17 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/is-weakmap": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-weakref": {
"version": "1.0.2",
"dev": true,
@@ -5069,6 +5347,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-weakset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-wsl": {
"version": "2.2.0",
"dev": true,
@@ -6486,15 +6779,28 @@
},
"node_modules/object-inspect": {
"version": "1.12.2",
- "dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/object-is": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/object-keys": {
"version": "1.1.1",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -6502,7 +6808,6 @@
},
"node_modules/object.assign": {
"version": "4.1.4",
- "dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
@@ -6775,9 +7080,10 @@
}
},
"node_modules/picocolors": {
- "version": "1.0.0",
- "dev": true,
- "license": "ISC"
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
+ "dev": true
},
"node_modules/picomatch": {
"version": "2.3.1",
@@ -6863,6 +7169,14 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/postcss": {
"version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
@@ -7339,13 +7653,14 @@
"license": "MIT"
},
"node_modules/regexp.prototype.flags": {
- "version": "1.4.3",
- "dev": true,
- "license": "MIT",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -7599,6 +7914,36 @@
"randombytes": "^2.1.0"
}
},
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/setprototypeof": {
"version": "1.2.0",
"dev": true,
@@ -7680,7 +8025,6 @@
},
"node_modules/side-channel": {
"version": "1.0.4",
- "dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.0",
@@ -7770,13 +8114,13 @@
}
},
"node_modules/socket.io-adapter": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz",
- "integrity": "sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==",
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz",
+ "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==",
"dev": true,
"dependencies": {
"debug": "~4.3.4",
- "ws": "~8.11.0"
+ "ws": "~8.17.1"
}
},
"node_modules/socket.io-parser": {
@@ -7994,6 +8338,17 @@
"node": ">= 0.6"
}
},
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
+ "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
+ "dependencies": {
+ "internal-slot": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/streamroller": {
"version": "3.1.2",
"dev": true,
@@ -8383,8 +8738,9 @@
},
"node_modules/to-regex-range": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
@@ -8426,9 +8782,9 @@
}
},
"node_modules/tslib": {
- "version": "2.4.0",
- "dev": true,
- "license": "0BSD"
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
},
"node_modules/type-check": {
"version": "0.4.0",
@@ -8524,9 +8880,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
- "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
+ "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
"dev": true,
"funding": [
{
@@ -8543,8 +8899,8 @@
}
],
"dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.1"
},
"bin": {
"update-browserslist-db": "cli.js"
@@ -8678,7 +9034,6 @@
},
"node_modules/which-boxed-primitive": {
"version": "1.0.2",
- "dev": true,
"license": "MIT",
"dependencies": {
"is-bigint": "^1.0.1",
@@ -8691,6 +9046,23 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/which-collection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
+ "dependencies": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/which-polygon": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/which-polygon/-/which-polygon-2.2.1.tgz",
@@ -8711,6 +9083,24 @@
"quickselect": "^1.0.1"
}
},
+ "node_modules/which-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/winston": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/winston/-/winston-3.12.0.tgz",
@@ -8907,16 +9297,16 @@
"license": "ISC"
},
"node_modules/ws": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
- "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true,
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
+ "utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
@@ -9408,163 +9798,170 @@
}
},
"@esbuild/aix-ppc64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz",
- "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz",
+ "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==",
"dev": true,
"optional": true
},
"@esbuild/android-arm": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz",
- "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz",
+ "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==",
"dev": true,
"optional": true
},
"@esbuild/android-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz",
- "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz",
+ "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==",
"dev": true,
"optional": true
},
"@esbuild/android-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz",
- "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz",
+ "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==",
"dev": true,
"optional": true
},
"@esbuild/darwin-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz",
- "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz",
+ "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==",
"dev": true,
"optional": true
},
"@esbuild/darwin-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz",
- "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz",
+ "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz",
- "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz",
+ "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz",
- "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz",
+ "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz",
- "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz",
+ "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz",
- "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz",
+ "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==",
"dev": true,
"optional": true
},
"@esbuild/linux-ia32": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz",
- "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz",
+ "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==",
"dev": true,
"optional": true
},
"@esbuild/linux-loong64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz",
- "integrity": "sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz",
+ "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==",
"dev": true,
"optional": true
},
"@esbuild/linux-mips64el": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.4.tgz",
- "integrity": "sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz",
+ "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==",
"dev": true,
"optional": true
},
"@esbuild/linux-ppc64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.4.tgz",
- "integrity": "sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz",
+ "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==",
"dev": true,
"optional": true
},
"@esbuild/linux-riscv64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.4.tgz",
- "integrity": "sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz",
+ "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==",
"dev": true,
"optional": true
},
"@esbuild/linux-s390x": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.4.tgz",
- "integrity": "sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz",
+ "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==",
"dev": true,
"optional": true
},
"@esbuild/linux-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.4.tgz",
- "integrity": "sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz",
+ "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==",
"dev": true,
"optional": true
},
"@esbuild/netbsd-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.4.tgz",
- "integrity": "sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz",
+ "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/openbsd-arm64": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz",
+ "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==",
"dev": true,
"optional": true
},
"@esbuild/openbsd-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.4.tgz",
- "integrity": "sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz",
+ "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==",
"dev": true,
"optional": true
},
"@esbuild/sunos-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.4.tgz",
- "integrity": "sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz",
+ "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==",
"dev": true,
"optional": true
},
"@esbuild/win32-arm64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.4.tgz",
- "integrity": "sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz",
+ "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==",
"dev": true,
"optional": true
},
"@esbuild/win32-ia32": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.4.tgz",
- "integrity": "sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz",
+ "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==",
"dev": true,
"optional": true
},
"@esbuild/win32-x64": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.4.tgz",
- "integrity": "sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz",
+ "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==",
"dev": true,
"optional": true
},
@@ -9891,9 +10288,9 @@
"dev": true
},
"@rapideditor/temaki": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/@rapideditor/temaki/-/temaki-5.8.0.tgz",
- "integrity": "sha512-7bBC8wujia9ygZz3KdjVjr1tZbcNysolEB1tbWVi5rM0MI9VvHPSNC7rUzVUge5vu98qEBWIe5h/25DkXM8h8w==",
+ "version": "5.9.0",
+ "resolved": "https://registry.npmjs.org/@rapideditor/temaki/-/temaki-5.9.0.tgz",
+ "integrity": "sha512-l/ccuN25j4oOjAlrmd20VNQ0Uvwi5sKQ6CikG7e+12qqZRrwywWdFKKopFQMQtGe1Ub8fs8ykaFeUDQn8ic3fQ==",
"dev": true
},
"@resvg/resvg-js": {
@@ -10040,9 +10437,9 @@
"requires": {}
},
"@transifex/api": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@transifex/api/-/api-7.1.0.tgz",
- "integrity": "sha512-qXH1H8+7nDj4KcNlcxzpU9DGj6WSfap4EgSEQnF2ALRsyHAdfg49ne1+I7aBFaqdnR3tsFK6KTr/lVUCybUmLQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@transifex/api/-/api-7.1.2.tgz",
+ "integrity": "sha512-OJc2jn/mb5qoSBiMyaPHiUZhIdqeMAW5tFNER+EBK7P0oRvM3twT+C0foMLrEQLKe4mKdvKDAJ0p3PiQgNFqTg==",
"dev": true,
"requires": {
"core-js": "^3.35.0"
@@ -10053,32 +10450,49 @@
"dev": true
},
"@turf/bbox": {
- "version": "6.5.0",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.0.0.tgz",
+ "integrity": "sha512-IyXG5HAsn6IZLdAtQo7aWYccjU5WsV+uzIzhGaXrh/qTVylSYmRiWgLdiekHZVED9nv9r7D/EJUMOT4zyA6POA==",
"requires": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
+ "@turf/helpers": "^7.0.0",
+ "@turf/meta": "^7.0.0",
+ "tslib": "^2.6.2"
}
},
"@turf/bbox-clip": {
- "version": "6.5.0",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/bbox-clip/-/bbox-clip-7.0.0.tgz",
+ "integrity": "sha512-ZSReB14sSQpP5TE6g5SijVFijxMp8pyrM0PgEN1LR9Bm+nj7BmmGzHafV3lyteml2bmlFdQxkbTqcbvlVXS98g==",
"requires": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
+ "@turf/helpers": "^7.0.0",
+ "@turf/invariant": "^7.0.0",
+ "tslib": "^2.6.2"
}
},
"@turf/helpers": {
- "version": "6.5.0"
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.0.0.tgz",
+ "integrity": "sha512-vwZvxRuyjGpGXvhXSbT9mX6FK92dBMLWbMbDJ/MXQUPx17ReVPFc+6N6IcxAzZfkiCnqy7vpuq0c+/TTrQxIiA==",
+ "requires": {
+ "deep-equal": "^2.2.3",
+ "tslib": "^2.6.2"
+ }
},
"@turf/invariant": {
- "version": "6.5.0",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-7.0.0.tgz",
+ "integrity": "sha512-Kayszfz3W8yJ1/cIA3/aNSzAuw7QgSp+IwsSmhLAfp4DbjV0o6sjxRZXRY2gRstZHqkNHSSEeir8V/icdO8sjA==",
"requires": {
- "@turf/helpers": "^6.5.0"
+ "@turf/helpers": "^7.0.0",
+ "tslib": "^2.6.2"
}
},
"@turf/meta": {
- "version": "6.5.0",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.0.0.tgz",
+ "integrity": "sha512-cEXr13uFwhXq5mFBy0IK1U/QepE5qgk3zXpBYsla3lYV7cB83Vh+NNUR+r0/w/QoJqest1TG4H20F9tGYWPi/g==",
"requires": {
- "@turf/helpers": "^6.5.0"
+ "@turf/helpers": "^7.0.0"
}
},
"@types/cookie": {
@@ -10236,6 +10650,15 @@
"version": "2.0.1",
"dev": true
},
+ "array-buffer-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+ "requires": {
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ }
+ },
"array-differ": {
"version": "1.0.0",
"dev": true
@@ -10270,6 +10693,14 @@
"postcss-value-parser": "^4.2.0"
}
},
+ "available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "requires": {
+ "possible-typed-array-names": "^1.0.0"
+ }
+ },
"balanced-match": {
"version": "1.0.2",
"dev": true
@@ -10344,10 +10775,12 @@
}
},
"braces": {
- "version": "3.0.2",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"requires": {
- "fill-range": "^7.0.1"
+ "fill-range": "^7.1.1"
}
},
"browser-split": {
@@ -10359,15 +10792,15 @@
"dev": true
},
"browserslist": {
- "version": "4.23.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
- "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz",
+ "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001587",
- "electron-to-chromium": "^1.4.668",
+ "caniuse-lite": "^1.0.30001640",
+ "electron-to-chromium": "^1.4.820",
"node-releases": "^2.0.14",
- "update-browserslist-db": "^1.0.13"
+ "update-browserslist-db": "^1.1.0"
}
},
"browserslist-to-esbuild": {
@@ -10392,11 +10825,15 @@
"dev": true
},
"call-bind": {
- "version": "1.0.2",
- "dev": true,
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
}
},
"callsites": {
@@ -10422,9 +10859,9 @@
"dev": true
},
"caniuse-lite": {
- "version": "1.0.30001600",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz",
- "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==",
+ "version": "1.0.30001641",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz",
+ "integrity": "sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==",
"dev": true
},
"chai": {
@@ -11002,18 +11439,62 @@
"type-detect": "^4.0.0"
}
},
+ "deep-equal": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
+ "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
+ "requires": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.5",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.2",
+ "is-arguments": "^1.1.1",
+ "is-array-buffer": "^3.0.2",
+ "is-date-object": "^1.0.5",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "isarray": "^2.0.5",
+ "object-is": "^1.1.5",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.5.1",
+ "side-channel": "^1.0.4",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.13"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
+ }
+ }
+ },
"deep-is": {
"version": "0.1.4",
"dev": true
},
+ "define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ }
+ },
"define-lazy-prop": {
"version": "2.0.0",
"dev": true
},
"define-properties": {
- "version": "1.1.4",
- "dev": true,
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"requires": {
+ "define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
}
@@ -11113,9 +11594,9 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.4.673",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.673.tgz",
- "integrity": "sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==",
+ "version": "1.4.823",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.823.tgz",
+ "integrity": "sha512-4h+oPeAiGQOHFyUJOqpoEcPj/xxlicxBzOErVeYVMMmAiXUXsGpsFd0QXBMaUUbnD8hhSfLf9uw+MlsoIA7j5w==",
"dev": true
},
"emoji-regex": {
@@ -11133,9 +11614,9 @@
"dev": true
},
"engine.io": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz",
- "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==",
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz",
+ "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==",
"dev": true,
"requires": {
"@types/cookie": "^0.4.1",
@@ -11147,7 +11628,7 @@
"cors": "~2.8.5",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
- "ws": "~8.11.0"
+ "ws": "~8.17.1"
}
},
"engine.io-parser": {
@@ -11210,6 +11691,42 @@
"unbox-primitive": "^1.0.2"
}
},
+ "es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "requires": {
+ "get-intrinsic": "^1.2.4"
+ }
+ },
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+ },
+ "es-get-iterator": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
+ "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "has-symbols": "^1.0.3",
+ "is-arguments": "^1.1.1",
+ "is-map": "^2.0.2",
+ "is-set": "^2.0.2",
+ "is-string": "^1.0.7",
+ "isarray": "^2.0.5",
+ "stop-iteration-iterator": "^1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
+ }
+ }
+ },
"es-to-primitive": {
"version": "1.2.1",
"dev": true,
@@ -11220,34 +11737,35 @@
}
},
"esbuild": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.4.tgz",
- "integrity": "sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==",
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz",
+ "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==",
"dev": true,
"requires": {
- "@esbuild/aix-ppc64": "0.21.4",
- "@esbuild/android-arm": "0.21.4",
- "@esbuild/android-arm64": "0.21.4",
- "@esbuild/android-x64": "0.21.4",
- "@esbuild/darwin-arm64": "0.21.4",
- "@esbuild/darwin-x64": "0.21.4",
- "@esbuild/freebsd-arm64": "0.21.4",
- "@esbuild/freebsd-x64": "0.21.4",
- "@esbuild/linux-arm": "0.21.4",
- "@esbuild/linux-arm64": "0.21.4",
- "@esbuild/linux-ia32": "0.21.4",
- "@esbuild/linux-loong64": "0.21.4",
- "@esbuild/linux-mips64el": "0.21.4",
- "@esbuild/linux-ppc64": "0.21.4",
- "@esbuild/linux-riscv64": "0.21.4",
- "@esbuild/linux-s390x": "0.21.4",
- "@esbuild/linux-x64": "0.21.4",
- "@esbuild/netbsd-x64": "0.21.4",
- "@esbuild/openbsd-x64": "0.21.4",
- "@esbuild/sunos-x64": "0.21.4",
- "@esbuild/win32-arm64": "0.21.4",
- "@esbuild/win32-ia32": "0.21.4",
- "@esbuild/win32-x64": "0.21.4"
+ "@esbuild/aix-ppc64": "0.23.0",
+ "@esbuild/android-arm": "0.23.0",
+ "@esbuild/android-arm64": "0.23.0",
+ "@esbuild/android-x64": "0.23.0",
+ "@esbuild/darwin-arm64": "0.23.0",
+ "@esbuild/darwin-x64": "0.23.0",
+ "@esbuild/freebsd-arm64": "0.23.0",
+ "@esbuild/freebsd-x64": "0.23.0",
+ "@esbuild/linux-arm": "0.23.0",
+ "@esbuild/linux-arm64": "0.23.0",
+ "@esbuild/linux-ia32": "0.23.0",
+ "@esbuild/linux-loong64": "0.23.0",
+ "@esbuild/linux-mips64el": "0.23.0",
+ "@esbuild/linux-ppc64": "0.23.0",
+ "@esbuild/linux-riscv64": "0.23.0",
+ "@esbuild/linux-s390x": "0.23.0",
+ "@esbuild/linux-x64": "0.23.0",
+ "@esbuild/netbsd-x64": "0.23.0",
+ "@esbuild/openbsd-arm64": "0.23.0",
+ "@esbuild/openbsd-x64": "0.23.0",
+ "@esbuild/sunos-x64": "0.23.0",
+ "@esbuild/win32-arm64": "0.23.0",
+ "@esbuild/win32-ia32": "0.23.0",
+ "@esbuild/win32-x64": "0.23.0"
}
},
"esbuild-visualizer": {
@@ -11290,7 +11808,9 @@
}
},
"escalade": {
- "version": "3.1.1",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
"dev": true
},
"escape-html": {
@@ -11559,7 +12079,9 @@
"dev": true
},
"fill-range": {
- "version": "7.0.1",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
@@ -11638,6 +12160,14 @@
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"dev": true
},
+ "for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "requires": {
+ "is-callable": "^1.1.3"
+ }
+ },
"foreground-child": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
@@ -11675,9 +12205,17 @@
"version": "1.0.0",
"dev": true
},
+ "fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "optional": true
+ },
"function-bind": {
- "version": "1.1.1",
- "dev": true
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
},
"function.prototype.name": {
"version": "1.1.5",
@@ -11690,8 +12228,7 @@
}
},
"functions-have-names": {
- "version": "1.2.3",
- "dev": true
+ "version": "1.2.3"
},
"gaze": {
"version": "1.1.3",
@@ -11726,12 +12263,15 @@
"dev": true
},
"get-intrinsic": {
- "version": "1.1.3",
- "dev": true,
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
}
},
"get-stdin": {
@@ -11841,6 +12381,14 @@
"sparkles": "^1.0.0"
}
},
+ "gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "requires": {
+ "get-intrinsic": "^1.1.3"
+ }
+ },
"graceful-fs": {
"version": "4.2.10",
"dev": true
@@ -11948,8 +12496,7 @@
}
},
"has-bigints": {
- "version": "1.0.2",
- "dev": true
+ "version": "1.0.2"
},
"has-flag": {
"version": "4.0.0",
@@ -11963,21 +12510,35 @@
}
},
"has-property-descriptors": {
- "version": "1.0.0",
- "dev": true,
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"requires": {
- "get-intrinsic": "^1.1.1"
+ "es-define-property": "^1.0.0"
}
},
- "has-symbols": {
+ "has-proto": {
"version": "1.0.3",
- "dev": true
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
+ },
+ "has-symbols": {
+ "version": "1.0.3"
},
"has-tostringtag": {
- "version": "1.0.0",
- "dev": true,
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"requires": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "requires": {
+ "function-bind": "^1.1.2"
}
},
"he": {
@@ -12072,11 +12633,12 @@
"dev": true
},
"internal-slot": {
- "version": "1.0.3",
- "dev": true,
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"requires": {
- "get-intrinsic": "^1.1.0",
- "has": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
"side-channel": "^1.0.4"
}
},
@@ -12088,13 +12650,30 @@
"version": "1.4.0",
"dev": true
},
+ "is-arguments": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
+ "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-array-buffer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1"
+ }
+ },
"is-arrayish": {
"version": "0.2.1",
"dev": true
},
"is-bigint": {
"version": "1.0.4",
- "dev": true,
"requires": {
"has-bigints": "^1.0.1"
}
@@ -12108,15 +12687,13 @@
},
"is-boolean-object": {
"version": "1.1.2",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
}
},
"is-callable": {
- "version": "1.2.7",
- "dev": true
+ "version": "1.2.7"
},
"is-core-module": {
"version": "2.10.0",
@@ -12127,7 +12704,6 @@
},
"is-date-object": {
"version": "1.0.5",
- "dev": true,
"requires": {
"has-tostringtag": "^1.0.0"
}
@@ -12155,17 +12731,23 @@
"is-extglob": "^2.1.1"
}
},
+ "is-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw=="
+ },
"is-negative-zero": {
"version": "2.0.2",
"dev": true
},
"is-number": {
"version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
"is-number-object": {
"version": "1.0.7",
- "dev": true,
"requires": {
"has-tostringtag": "^1.0.0"
}
@@ -12186,15 +12768,18 @@
},
"is-regex": {
"version": "1.1.4",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
}
},
+ "is-set": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg=="
+ },
"is-shared-array-buffer": {
"version": "1.0.2",
- "dev": true,
"requires": {
"call-bind": "^1.0.2"
}
@@ -12207,7 +12792,6 @@
},
"is-string": {
"version": "1.0.7",
- "dev": true,
"requires": {
"has-tostringtag": "^1.0.0"
}
@@ -12218,7 +12802,6 @@
},
"is-symbol": {
"version": "1.0.4",
- "dev": true,
"requires": {
"has-symbols": "^1.0.2"
}
@@ -12231,6 +12814,11 @@
"version": "0.2.1",
"dev": true
},
+ "is-weakmap": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w=="
+ },
"is-weakref": {
"version": "1.0.2",
"dev": true,
@@ -12238,6 +12826,15 @@
"call-bind": "^1.0.2"
}
},
+ "is-weakset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ }
+ },
"is-wsl": {
"version": "2.2.0",
"dev": true,
@@ -13264,16 +13861,22 @@
"dev": true
},
"object-inspect": {
- "version": "1.12.2",
- "dev": true
+ "version": "1.12.2"
+ },
+ "object-is": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
+ }
},
"object-keys": {
- "version": "1.1.1",
- "dev": true
+ "version": "1.1.1"
},
"object.assign": {
"version": "4.1.4",
- "dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
@@ -13451,7 +14054,9 @@
}
},
"picocolors": {
- "version": "1.0.0",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
"dev": true
},
"picomatch": {
@@ -13513,6 +14118,11 @@
}
}
},
+ "possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q=="
+ },
"postcss": {
"version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
@@ -13828,12 +14438,14 @@
"dev": true
},
"regexp.prototype.flags": {
- "version": "1.4.3",
- "dev": true,
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "functions-have-names": "^1.2.2"
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
}
},
"remap-istanbul": {
@@ -14010,6 +14622,30 @@
"randombytes": "^2.1.0"
}
},
+ "set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ }
+ },
+ "set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ }
+ },
"setprototypeof": {
"version": "1.2.0",
"dev": true
@@ -14062,7 +14698,6 @@
},
"side-channel": {
"version": "1.0.4",
- "dev": true,
"requires": {
"call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2",
@@ -14131,13 +14766,13 @@
}
},
"socket.io-adapter": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz",
- "integrity": "sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==",
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz",
+ "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==",
"dev": true,
"requires": {
"debug": "~4.3.4",
- "ws": "~8.11.0"
+ "ws": "~8.17.1"
}
},
"socket.io-parser": {
@@ -14277,6 +14912,14 @@
"version": "1.5.0",
"dev": true
},
+ "stop-iteration-iterator": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
+ "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
+ "requires": {
+ "internal-slot": "^1.0.4"
+ }
+ },
"streamroller": {
"version": "3.1.2",
"dev": true,
@@ -14544,6 +15187,8 @@
},
"to-regex-range": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
"is-number": "^7.0.0"
@@ -14571,8 +15216,9 @@
"dev": true
},
"tslib": {
- "version": "2.4.0",
- "dev": true
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
},
"type-check": {
"version": "0.4.0",
@@ -14625,13 +15271,13 @@
"dev": true
},
"update-browserslist-db": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
- "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
+ "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
"dev": true,
"requires": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.1"
}
},
"uri-js": {
@@ -14726,7 +15372,6 @@
},
"which-boxed-primitive": {
"version": "1.0.2",
- "dev": true,
"requires": {
"is-bigint": "^1.0.1",
"is-boolean-object": "^1.1.0",
@@ -14735,6 +15380,17 @@
"is-symbol": "^1.0.3"
}
},
+ "which-collection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
+ "requires": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ }
+ },
"which-polygon": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/which-polygon/-/which-polygon-2.2.1.tgz",
@@ -14755,6 +15411,18 @@
}
}
},
+ "which-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
+ "requires": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.2"
+ }
+ },
"winston": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/winston/-/winston-3.12.0.tgz",
@@ -14892,9 +15560,9 @@
"dev": true
},
"ws": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
- "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true,
"requires": {}
},
diff --git a/package.json b/package.json
index 63fc40710..1af0e6c32 100644
--- a/package.json
+++ b/package.json
@@ -50,8 +50,8 @@
"@rapideditor/country-coder": "~5.2.2",
"@rapideditor/location-conflation": "~1.3.0",
"@tmcw/togeojson": "^5.8.1",
- "@turf/bbox": "^6.0.0",
- "@turf/bbox-clip": "^6.0.0",
+ "@turf/bbox": "^7.0.0",
+ "@turf/bbox-clip": "^7.0.0",
"abortcontroller-polyfill": "^1.7.5",
"aes-js": "^3.1.2",
"alif-toolkit": "^1.2.9",
@@ -79,10 +79,10 @@
"@mapbox/maki": "^8.0.1",
"@openstreetmap/id-tagging-schema": "^6.7.3",
"@rapideditor/mapillary_sprite_source": "^1.8.0",
- "@rapideditor/temaki": "^5.8.0",
- "@transifex/api": "^7.1.0",
+ "@rapideditor/temaki": "^5.9.0",
+ "@transifex/api": "^7.1.2",
"autoprefixer": "^10.4.19",
- "browserslist": "^4.23.0",
+ "browserslist": "^4.23.2",
"browserslist-to-esbuild": "^2.1.1",
"chai": "^4.4.1",
"chalk": "^4.1.2",
@@ -92,7 +92,7 @@
"d3": "~7.9.0",
"dotenv": "^16.4.5",
"editor-layer-index": "github:osmlab/editor-layer-index#gh-pages",
- "esbuild": "^0.21.4",
+ "esbuild": "^0.23.0",
"esbuild-visualizer": "^0.6.0",
"eslint": "^9.4.0",
"fetch-mock": "^9.11.0",
diff --git a/svg/fontawesome/fas-long-arrow-alt-right.svg b/svg/fontawesome/fas-long-arrow-alt-right.svg
deleted file mode 100644
index c0a9f9b09..000000000
--- a/svg/fontawesome/fas-long-arrow-alt-right.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/test/spec/svg/layers.js b/test/spec/svg/layers.js
index 4d600eb9c..390b59099 100644
--- a/test/spec/svg/layers.js
+++ b/test/spec/svg/layers.js
@@ -26,26 +26,25 @@ describe('iD.svgLayers', function () {
it('creates default data layers', function () {
container.call(iD.svgLayers(projection, context));
var nodes = container.selectAll('svg .data-layer').nodes();
- expect(nodes.length).to.eql(19);
+ expect(nodes.length).to.eql(18);
expect(d3.select(nodes[0]).classed('osm')).to.be.true;
expect(d3.select(nodes[1]).classed('notes')).to.be.true;
expect(d3.select(nodes[2]).classed('data')).to.be.true;
expect(d3.select(nodes[3]).classed('keepRight')).to.be.true;
- expect(d3.select(nodes[4]).classed('improveOSM')).to.be.true;
- expect(d3.select(nodes[5]).classed('osmose')).to.be.true;
- expect(d3.select(nodes[6]).classed('streetside')).to.be.true;
- expect(d3.select(nodes[7]).classed('mapillary')).to.be.true;
- expect(d3.select(nodes[8]).classed('mapillary-position')).to.be.true;
- expect(d3.select(nodes[9]).classed('mapillary-map-features')).to.be.true;
- expect(d3.select(nodes[10]).classed('mapillary-signs')).to.be.true;
- expect(d3.select(nodes[11]).classed('kartaview')).to.be.true;
- expect(d3.select(nodes[12]).classed('mapilio')).to.be.true;
- expect(d3.select(nodes[13]).classed('vegbilder')).to.be.true;
- expect(d3.select(nodes[14]).classed('panoramax')).to.be.true;
- expect(d3.select(nodes[15]).classed('local-photos')).to.be.true;
- expect(d3.select(nodes[16]).classed('debug')).to.be.true;
- expect(d3.select(nodes[17]).classed('geolocate')).to.be.true;
- expect(d3.select(nodes[18]).classed('touch')).to.be.true;
+ expect(d3.select(nodes[4]).classed('osmose')).to.be.true;
+ expect(d3.select(nodes[5]).classed('streetside')).to.be.true;
+ expect(d3.select(nodes[6]).classed('mapillary')).to.be.true;
+ expect(d3.select(nodes[7]).classed('mapillary-position')).to.be.true;
+ expect(d3.select(nodes[8]).classed('mapillary-map-features')).to.be.true;
+ expect(d3.select(nodes[9]).classed('mapillary-signs')).to.be.true;
+ expect(d3.select(nodes[10]).classed('kartaview')).to.be.true;
+ expect(d3.select(nodes[11]).classed('mapilio')).to.be.true;
+ expect(d3.select(nodes[12]).classed('vegbilder')).to.be.true;
+ expect(d3.select(nodes[13]).classed('panoramax')).to.be.true;
+ expect(d3.select(nodes[14]).classed('local-photos')).to.be.true;
+ expect(d3.select(nodes[15]).classed('debug')).to.be.true;
+ expect(d3.select(nodes[16]).classed('geolocate')).to.be.true;
+ expect(d3.select(nodes[17]).classed('touch')).to.be.true;
});
});