diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index f54c78a5..3e500259 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -31,6 +31,11 @@ jobs:
e2e-tests:
runs-on: ubuntu-latest
+ # One job per browser, each running both builds, so the browsers run in parallel.
+ strategy:
+ fail-fast: false
+ matrix:
+ browser: [chromium, firefox, webkit]
steps:
- uses: actions/checkout@v4
@@ -53,7 +58,7 @@ jobs:
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
- key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}
+ key: playwright-${{ runner.os }}-${{ matrix.browser }}-${{ steps.playwright-version.outputs.version }}
# playwright's dep install runs apt-get update, which fails outright when any
# configured repo is mid-republish (hash mismatch). The runner image ships
@@ -63,23 +68,23 @@ jobs:
- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
- run: npx playwright install --with-deps
+ run: npx playwright install --with-deps ${{ matrix.browser }}
- name: Install Playwright system dependencies (cache hit)
if: steps.playwright-cache.outputs.cache-hit == 'true'
- run: npx playwright install-deps
+ run: npx playwright install-deps ${{ matrix.browser }}
- name: Build project
run: npm run build
- - name: Run E2E tests (all browsers, both builds)
- run: npm run test:e2e
+ - name: Run E2E tests (${{ matrix.browser }}, both builds)
+ run: npm run test:e2e -- --project=${{ matrix.browser }} --project=${{ matrix.browser }}-minified
- name: Upload Playwright report
uses: actions/upload-artifact@v4
if: failure()
with:
- name: playwright-report
+ name: playwright-report-${{ matrix.browser }}
path: playwright-report/
retention-days: 30
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b86ba2ed..31adfc53 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,16 @@
All notable changes to this project will be documented here.
+## [Unreleased]
+#### Changed
+- Import individual `turf` modules rather than broadly to reduce bundle size
+- Playwright e2e test optimizations
+ - Only record video on the first retry
+ - Local runs use default `workers` (half of available CPU cores)
+ - Break each browser into a job and run jobs in parallel
+ - Skip returning `window.ulabel` from `wait_for_ulabel_init`;
+ serializing the whole ULabel instance is slow
+
## [0.31.1] - Oct 22nd, 2026
#### Changed
- Simplified ternary syntax into nullish coalescing in several locations
diff --git a/package-lock.json b/package-lock.json
index cbc50981..ea63b0c9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,16 @@
"@eslint/js": "^9.11.1",
"@playwright/test": "^1.56.0",
"@stylistic/eslint-plugin": "^2.8.0",
- "@turf/turf": "^6.5.0",
+ "@turf/boolean-overlap": "^6.5.0",
+ "@turf/boolean-point-in-polygon": "^6.5.0",
+ "@turf/boolean-within": "^6.5.0",
+ "@turf/difference": "^6.5.0",
+ "@turf/helpers": "^6.5.0",
+ "@turf/intersect": "^6.5.0",
+ "@turf/length": "^6.5.0",
+ "@turf/line-split": "^6.5.0",
+ "@turf/simplify": "^6.5.0",
+ "@turf/union": "^6.5.0",
"@types/eslint__js": "^8.42.3",
"@types/jquery": "^3.5.31",
"@typescript-eslint/eslint-plugin": "^8.46.1",
@@ -1977,55 +1986,12 @@
"node": ">= 10"
}
},
- "node_modules/@turf/along": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/along/-/along-6.5.0.tgz",
- "integrity": "sha512-LLyWQ0AARqJCmMcIEAXF4GEu8usmd4Kbz3qk1Oy5HoRNpZX47+i5exQtmIWKdqJ1MMhW26fCTXgpsEs5zgJ5gw==",
- "dev": true,
- "dependencies": {
- "@turf/bearing": "^6.5.0",
- "@turf/destination": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/angle": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/angle/-/angle-6.5.0.tgz",
- "integrity": "sha512-4pXMbWhFofJJAOvTMCns6N4C8CMd5Ih4O2jSAG9b3dDHakj3O4yN1+Zbm+NUei+eVEZ9gFeVp9svE3aMDenIkw==",
- "dev": true,
- "dependencies": {
- "@turf/bearing": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/rhumb-bearing": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/area": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.5.0.tgz",
- "integrity": "sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
"node_modules/@turf/bbox": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.5.0.tgz",
"integrity": "sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@turf/helpers": "^6.5.0",
"@turf/meta": "^6.5.0"
@@ -2034,36 +2000,12 @@
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/bbox-clip": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/bbox-clip/-/bbox-clip-6.5.0.tgz",
- "integrity": "sha512-F6PaIRF8WMp8EmgU/Ke5B1Y6/pia14UAYB5TiBC668w5rVVjy5L8rTm/m2lEkkDMHlzoP9vNY4pxpNthE7rLcQ==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/bbox-polygon": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/bbox-polygon/-/bbox-polygon-6.5.0.tgz",
- "integrity": "sha512-+/r0NyL1lOG3zKZmmf6L8ommU07HliP4dgYToMoTxqzsWzyLjaj/OzgQ8rBmv703WJX+aS6yCmLuIhYqyufyuw==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
"node_modules/@turf/bearing": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/@turf/bearing/-/bearing-6.5.0.tgz",
"integrity": "sha512-dxINYhIEMzgDOztyMZc20I7ssYVNEpSv04VbMo5YPQsqa80KO3TFvbuCahMsCAW5z8Tncc8dwBlEFrmRjJG33A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0"
@@ -2072,114 +2014,12 @@
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/bezier-spline": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/bezier-spline/-/bezier-spline-6.5.0.tgz",
- "integrity": "sha512-vokPaurTd4PF96rRgGVm6zYYC5r1u98ZsG+wZEv9y3kJTuJRX/O3xIY2QnTGTdbVmAJN1ouOsD0RoZYaVoXORQ==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/boolean-clockwise": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz",
- "integrity": "sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/boolean-contains": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/boolean-contains/-/boolean-contains-6.5.0.tgz",
- "integrity": "sha512-4m8cJpbw+YQcKVGi8y0cHhBUnYT+QRfx6wzM4GI1IdtYH3p4oh/DOBJKrepQyiDzFDaNIjxuWXBh0ai1zVwOQQ==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/boolean-point-on-line": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/boolean-crosses": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/boolean-crosses/-/boolean-crosses-6.5.0.tgz",
- "integrity": "sha512-gvshbTPhAHporTlQwBJqyfW+2yV8q/mOTxG6PzRVl6ARsqNoqYQWkd4MLug7OmAqVyBzLK3201uAeBjxbGw0Ng==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/line-intersect": "^6.5.0",
- "@turf/polygon-to-line": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/boolean-disjoint": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/boolean-disjoint/-/boolean-disjoint-6.5.0.tgz",
- "integrity": "sha512-rZ2ozlrRLIAGo2bjQ/ZUu4oZ/+ZjGvLkN5CKXSKBcu6xFO6k2bgqeM8a1836tAW+Pqp/ZFsTA5fZHsJZvP2D5g==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/line-intersect": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/polygon-to-line": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/boolean-equal": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/boolean-equal/-/boolean-equal-6.5.0.tgz",
- "integrity": "sha512-cY0M3yoLC26mhAnjv1gyYNQjn7wxIXmL2hBmI/qs8g5uKuC2hRWi13ydufE3k4x0aNRjFGlg41fjoYLwaVF+9Q==",
- "dev": true,
- "dependencies": {
- "@turf/clean-coords": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "geojson-equality": "0.1.6"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/boolean-intersects": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/boolean-intersects/-/boolean-intersects-6.5.0.tgz",
- "integrity": "sha512-nIxkizjRdjKCYFQMnml6cjPsDOBCThrt+nkqtSEcxkKMhAQj5OO7o2CecioNTaX8EayqwMGVKcsz27oP4mKPTw==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-disjoint": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
"node_modules/@turf/boolean-overlap": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/@turf/boolean-overlap/-/boolean-overlap-6.5.0.tgz",
"integrity": "sha512-8btMIdnbXVWUa1M7D4shyaSGxLRw6NjMcqKBcsTXcZdnaixl22k7ar7BvIzkaRYN3SFECk9VGXfLncNS3ckQUw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0",
@@ -2192,26 +2032,12 @@
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/boolean-parallel": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/boolean-parallel/-/boolean-parallel-6.5.0.tgz",
- "integrity": "sha512-aSHJsr1nq9e5TthZGZ9CZYeXklJyRgR5kCLm5X4urz7+MotMOp/LsGOsvKvK9NeUl9+8OUmfMn8EFTT8LkcvIQ==",
- "dev": true,
- "dependencies": {
- "@turf/clean-coords": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/line-segment": "^6.5.0",
- "@turf/rhumb-bearing": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
"node_modules/@turf/boolean-point-in-polygon": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-6.5.0.tgz",
"integrity": "sha512-DtSuVFB26SI+hj0SjrvXowGTUCHlgevPAIsukssW6BG5MlNSBQAo70wpICBNJL6RjukXg8d2eXaAWuD/CqL00A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0"
@@ -2225,6 +2051,7 @@
"resolved": "https://registry.npmjs.org/@turf/boolean-point-on-line/-/boolean-point-on-line-6.5.0.tgz",
"integrity": "sha512-A1BbuQ0LceLHvq7F/P7w3QvfpmZqbmViIUPHdNLvZimFNLo4e6IQunmzbe+8aSStH9QRZm3VOflyvNeXvvpZEQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0"
@@ -2238,6 +2065,7 @@
"resolved": "https://registry.npmjs.org/@turf/boolean-within/-/boolean-within-6.5.0.tgz",
"integrity": "sha512-YQB3oU18Inx35C/LU930D36RAVe7LDXk1kWsQ8mLmuqYn9YdPsDQTMTkLJMhoQ8EbN7QTdy333xRQ4MYgToteQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@turf/bbox": "^6.5.0",
"@turf/boolean-point-in-polygon": "^6.5.0",
@@ -2249,114 +2077,68 @@
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/buffer": {
+ "node_modules/@turf/clean-coords": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/buffer/-/buffer-6.5.0.tgz",
- "integrity": "sha512-qeX4N6+PPWbKqp1AVkBVWFerGjMYMUyencwfnkCesoznU6qvfugFHNAngNqIBVnJjZ5n8IFyOf+akcxnrt9sNg==",
+ "resolved": "https://registry.npmjs.org/@turf/clean-coords/-/clean-coords-6.5.0.tgz",
+ "integrity": "sha512-EMX7gyZz0WTH/ET7xV8MyrExywfm9qUi0/MY89yNffzGIEHuFfqwhcCqZ8O00rZIPZHUTxpmsxQSTfzJJA1CPw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/center": "^6.5.0",
"@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/projection": "^6.5.0",
- "d3-geo": "1.7.1",
- "turf-jsts": "*"
+ "@turf/invariant": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/center": {
+ "node_modules/@turf/clone": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/center/-/center-6.5.0.tgz",
- "integrity": "sha512-T8KtMTfSATWcAX088rEDKjyvQCBkUsLnK/Txb6/8WUXIeOZyHu42G7MkdkHRoHtwieLdduDdmPLFyTdG5/e7ZQ==",
+ "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-6.5.0.tgz",
+ "integrity": "sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/bbox": "^6.5.0",
"@turf/helpers": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/center-mean": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/center-mean/-/center-mean-6.5.0.tgz",
- "integrity": "sha512-AAX6f4bVn12pTVrMUiB9KrnV94BgeBKpyg3YpfnEbBpkN/znfVhL8dG8IxMAxAoSZ61Zt9WLY34HfENveuOZ7Q==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/center-median": {
+ "node_modules/@turf/destination": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/center-median/-/center-median-6.5.0.tgz",
- "integrity": "sha512-dT8Ndu5CiZkPrj15PBvslpuf01ky41DEYEPxS01LOxp5HOUHXp1oJxsPxvc+i/wK4BwccPNzU1vzJ0S4emd1KQ==",
+ "resolved": "https://registry.npmjs.org/@turf/destination/-/destination-6.5.0.tgz",
+ "integrity": "sha512-4cnWQlNC8d1tItOz9B4pmJdWpXqS0vEvv65bI/Pj/genJnsL7evI0/Xw42RvEGROS481MPiU80xzvwxEvhQiMQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/center-mean": "^6.5.0",
- "@turf/centroid": "^6.5.0",
- "@turf/distance": "^6.5.0",
"@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
+ "@turf/invariant": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/center-of-mass": {
+ "node_modules/@turf/difference": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/center-of-mass/-/center-of-mass-6.5.0.tgz",
- "integrity": "sha512-EWrriU6LraOfPN7m1jZi+1NLTKNkuIsGLZc2+Y8zbGruvUW+QV7K0nhf7iZWutlxHXTBqEXHbKue/o79IumAsQ==",
+ "resolved": "https://registry.npmjs.org/@turf/difference/-/difference-6.5.0.tgz",
+ "integrity": "sha512-l8iR5uJqvI+5Fs6leNbhPY5t/a3vipUF/3AeVLpwPQcgmedNXyheYuy07PcMGH5Jdpi5gItOiTqwiU/bUH4b3A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/centroid": "^6.5.0",
- "@turf/convex": "^6.5.0",
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/centroid": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-6.5.0.tgz",
- "integrity": "sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/circle": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/circle/-/circle-6.5.0.tgz",
- "integrity": "sha512-oU1+Kq9DgRnoSbWFHKnnUdTmtcRUMmHoV9DjTXu9vOLNV5OWtAAh1VZ+mzsioGGzoDNT/V5igbFOkMfBQc0B6A==",
- "dev": true,
- "dependencies": {
- "@turf/destination": "^6.5.0",
- "@turf/helpers": "^6.5.0"
+ "polygon-clipping": "^0.15.3"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/clean-coords": {
+ "node_modules/@turf/distance": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/clean-coords/-/clean-coords-6.5.0.tgz",
- "integrity": "sha512-EMX7gyZz0WTH/ET7xV8MyrExywfm9qUi0/MY89yNffzGIEHuFfqwhcCqZ8O00rZIPZHUTxpmsxQSTfzJJA1CPw==",
+ "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-6.5.0.tgz",
+ "integrity": "sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0"
@@ -2365,1314 +2147,219 @@
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/clone": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-6.5.0.tgz",
- "integrity": "sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/clusters": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/clusters/-/clusters-6.5.0.tgz",
- "integrity": "sha512-Y6gfnTJzQ1hdLfCsyd5zApNbfLIxYEpmDibHUqR5z03Lpe02pa78JtgrgUNt1seeO/aJ4TG1NLN8V5gOrHk04g==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/clusters-dbscan": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/clusters-dbscan/-/clusters-dbscan-6.5.0.tgz",
- "integrity": "sha512-SxZEE4kADU9DqLRiT53QZBBhu8EP9skviSyl+FGj08Y01xfICM/RR9ACUdM0aEQimhpu+ZpRVcUK+2jtiCGrYQ==",
- "dev": true,
- "dependencies": {
- "@turf/clone": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "density-clustering": "1.3.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/clusters-kmeans": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/clusters-kmeans/-/clusters-kmeans-6.5.0.tgz",
- "integrity": "sha512-DwacD5+YO8kwDPKaXwT9DV46tMBVNsbi1IzdajZu1JDSWoN7yc7N9Qt88oi+p30583O0UPVkAK+A10WAQv4mUw==",
- "dev": true,
- "dependencies": {
- "@turf/clone": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "skmeans": "0.9.7"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/collect": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/collect/-/collect-6.5.0.tgz",
- "integrity": "sha512-4dN/T6LNnRg099m97BJeOcTA5fSI8cu87Ydgfibewd2KQwBexO69AnjEFqfPX3Wj+Zvisj1uAVIZbPmSSrZkjg==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "rbush": "2.x"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/collect/node_modules/quickselect": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz",
- "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==",
- "dev": true
- },
- "node_modules/@turf/collect/node_modules/rbush": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/rbush/-/rbush-2.0.2.tgz",
- "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==",
- "dev": true,
- "dependencies": {
- "quickselect": "^1.0.1"
- }
- },
- "node_modules/@turf/combine": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/combine/-/combine-6.5.0.tgz",
- "integrity": "sha512-Q8EIC4OtAcHiJB3C4R+FpB4LANiT90t17uOd851qkM2/o6m39bfN5Mv0PWqMZIHWrrosZqRqoY9dJnzz/rJxYQ==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/concave": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/concave/-/concave-6.5.0.tgz",
- "integrity": "sha512-I/sUmUC8TC5h/E2vPwxVht+nRt+TnXIPRoztDFvS8/Y0+cBDple9inLSo9nnPXMXidrBlGXZ9vQx/BjZUJgsRQ==",
- "dev": true,
- "dependencies": {
- "@turf/clone": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/tin": "^6.5.0",
- "topojson-client": "3.x",
- "topojson-server": "3.x"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/convex": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/convex/-/convex-6.5.0.tgz",
- "integrity": "sha512-x7ZwC5z7PJB0SBwNh7JCeCNx7Iu+QSrH7fYgK0RhhNop13TqUlvHMirMLRgf2db1DqUetrAO2qHJeIuasquUWg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "concaveman": "*"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/destination": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/destination/-/destination-6.5.0.tgz",
- "integrity": "sha512-4cnWQlNC8d1tItOz9B4pmJdWpXqS0vEvv65bI/Pj/genJnsL7evI0/Xw42RvEGROS481MPiU80xzvwxEvhQiMQ==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/difference": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/difference/-/difference-6.5.0.tgz",
- "integrity": "sha512-l8iR5uJqvI+5Fs6leNbhPY5t/a3vipUF/3AeVLpwPQcgmedNXyheYuy07PcMGH5Jdpi5gItOiTqwiU/bUH4b3A==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "polygon-clipping": "^0.15.3"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/dissolve": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/dissolve/-/dissolve-6.5.0.tgz",
- "integrity": "sha512-WBVbpm9zLTp0Bl9CE35NomTaOL1c4TQCtEoO43YaAhNEWJOOIhZMFJyr8mbvYruKl817KinT3x7aYjjCMjTAsQ==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "polygon-clipping": "^0.15.3"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/distance": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-6.5.0.tgz",
- "integrity": "sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/distance-weight": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/distance-weight/-/distance-weight-6.5.0.tgz",
- "integrity": "sha512-a8qBKkgVNvPKBfZfEJZnC3DV7dfIsC3UIdpRci/iap/wZLH41EmS90nM+BokAJflUHYy8PqE44wySGWHN1FXrQ==",
- "dev": true,
- "dependencies": {
- "@turf/centroid": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/ellipse": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/ellipse/-/ellipse-6.5.0.tgz",
- "integrity": "sha512-kuXtwFviw/JqnyJXF1mrR/cb496zDTSbGKtSiolWMNImYzGGkbsAsFTjwJYgD7+4FixHjp0uQPzo70KDf3AIBw==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/rhumb-destination": "^6.5.0",
- "@turf/transform-rotate": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/envelope": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/envelope/-/envelope-6.5.0.tgz",
- "integrity": "sha512-9Z+FnBWvOGOU4X+fMZxYFs1HjFlkKqsddLuMknRaqcJd6t+NIv5DWvPtDL8ATD2GEExYDiFLwMdckfr1yqJgHA==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/bbox-polygon": "^6.5.0",
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/explode": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/explode/-/explode-6.5.0.tgz",
- "integrity": "sha512-6cSvMrnHm2qAsace6pw9cDmK2buAlw8+tjeJVXMfMyY+w7ZUi1rprWMsY92J7s2Dar63Bv09n56/1V7+tcj52Q==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/flatten": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/flatten/-/flatten-6.5.0.tgz",
- "integrity": "sha512-IBZVwoNLVNT6U/bcUUllubgElzpMsNoCw8tLqBw6dfYg9ObGmpEjf9BIYLr7a2Yn5ZR4l7YIj2T7kD5uJjZADQ==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/flip": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/flip/-/flip-6.5.0.tgz",
- "integrity": "sha512-oyikJFNjt2LmIXQqgOGLvt70RgE2lyzPMloYWM7OR5oIFGRiBvqVD2hA6MNw6JewIm30fWZ8DQJw1NHXJTJPbg==",
- "dev": true,
- "dependencies": {
- "@turf/clone": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/great-circle": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/great-circle/-/great-circle-6.5.0.tgz",
- "integrity": "sha512-7ovyi3HaKOXdFyN7yy1yOMa8IyOvV46RC1QOQTT+RYUN8ke10eyqExwBpL9RFUPvlpoTzoYbM/+lWPogQlFncg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/helpers": {
+ "node_modules/@turf/helpers": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz",
"integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==",
- "dev": true,
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/hex-grid": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/hex-grid/-/hex-grid-6.5.0.tgz",
- "integrity": "sha512-Ln3tc2tgZT8etDOldgc6e741Smg1CsMKAz1/Mlel+MEL5Ynv2mhx3m0q4J9IB1F3a4MNjDeVvm8drAaf9SF33g==",
- "dev": true,
- "dependencies": {
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/intersect": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/interpolate": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/interpolate/-/interpolate-6.5.0.tgz",
- "integrity": "sha512-LSH5fMeiGyuDZ4WrDJNgh81d2DnNDUVJtuFryJFup8PV8jbs46lQGfI3r1DJ2p1IlEJIz3pmAZYeTfMMoeeohw==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/centroid": "^6.5.0",
- "@turf/clone": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/hex-grid": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/point-grid": "^6.5.0",
- "@turf/square-grid": "^6.5.0",
- "@turf/triangle-grid": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/intersect": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/intersect/-/intersect-6.5.0.tgz",
- "integrity": "sha512-2legGJeKrfFkzntcd4GouPugoqPUjexPZnOvfez+3SfIMrHvulw8qV8u7pfVyn2Yqs53yoVCEjS5sEpvQ5YRQg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "polygon-clipping": "^0.15.3"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/invariant": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.5.0.tgz",
- "integrity": "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/isobands": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/isobands/-/isobands-6.5.0.tgz",
- "integrity": "sha512-4h6sjBPhRwMVuFaVBv70YB7eGz+iw0bhPRnp+8JBdX1UPJSXhoi/ZF2rACemRUr0HkdVB/a1r9gC32vn5IAEkw==",
- "dev": true,
- "dependencies": {
- "@turf/area": "^6.5.0",
- "@turf/bbox": "^6.5.0",
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/explode": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "object-assign": "*"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/isolines": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/isolines/-/isolines-6.5.0.tgz",
- "integrity": "sha512-6ElhiLCopxWlv4tPoxiCzASWt/jMRvmp6mRYrpzOm3EUl75OhHKa/Pu6Y9nWtCMmVC/RcWtiiweUocbPLZLm0A==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "object-assign": "*"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/kinks": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/kinks/-/kinks-6.5.0.tgz",
- "integrity": "sha512-ViCngdPt1eEL7hYUHR2eHR662GvCgTc35ZJFaNR6kRtr6D8plLaDju0FILeFFWSc+o8e3fwxZEJKmFj9IzPiIQ==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/length": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/length/-/length-6.5.0.tgz",
- "integrity": "sha512-5pL5/pnw52fck3oRsHDcSGrj9HibvtlrZ0QNy2OcW8qBFDNgZ4jtl6U7eATVoyWPKBHszW3dWETW+iLV7UARig==",
- "dev": true,
- "dependencies": {
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-arc": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-arc/-/line-arc-6.5.0.tgz",
- "integrity": "sha512-I6c+V6mIyEwbtg9P9zSFF89T7QPe1DPTG3MJJ6Cm1MrAY0MdejwQKOpsvNl8LDU2ekHOlz2kHpPVR7VJsoMllA==",
- "dev": true,
- "dependencies": {
- "@turf/circle": "^6.5.0",
- "@turf/destination": "^6.5.0",
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-chunk": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-chunk/-/line-chunk-6.5.0.tgz",
- "integrity": "sha512-i1FGE6YJaaYa+IJesTfyRRQZP31QouS+wh/pa6O3CC0q4T7LtHigyBSYjrbjSLfn2EVPYGlPCMFEqNWCOkC6zg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/length": "^6.5.0",
- "@turf/line-slice-along": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-intersect": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-intersect/-/line-intersect-6.5.0.tgz",
- "integrity": "sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/line-segment": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "geojson-rbush": "3.x"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-offset": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-offset/-/line-offset-6.5.0.tgz",
- "integrity": "sha512-CEXZbKgyz8r72qRvPchK0dxqsq8IQBdH275FE6o4MrBkzMcoZsfSjghtXzKaz9vvro+HfIXal0sTk2mqV1lQTw==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-overlap": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-overlap/-/line-overlap-6.5.0.tgz",
- "integrity": "sha512-xHOaWLd0hkaC/1OLcStCpfq55lPHpPNadZySDXYiYjEz5HXr1oKmtMYpn0wGizsLwrOixRdEp+j7bL8dPt4ojQ==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-point-on-line": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/line-segment": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/nearest-point-on-line": "^6.5.0",
- "deep-equal": "1.x",
- "geojson-rbush": "3.x"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-segment": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-segment/-/line-segment-6.5.0.tgz",
- "integrity": "sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-slice": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-slice/-/line-slice-6.5.0.tgz",
- "integrity": "sha512-vDqJxve9tBHhOaVVFXqVjF5qDzGtKWviyjbyi2QnSnxyFAmLlLnBfMX8TLQCAf2GxHibB95RO5FBE6I2KVPRuw==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/nearest-point-on-line": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-slice-along": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-slice-along/-/line-slice-along-6.5.0.tgz",
- "integrity": "sha512-KHJRU6KpHrAj+BTgTNqby6VCTnDzG6a1sJx/I3hNvqMBLvWVA2IrkR9L9DtsQsVY63IBwVdQDqiwCuZLDQh4Ng==",
- "dev": true,
- "dependencies": {
- "@turf/bearing": "^6.5.0",
- "@turf/destination": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-split": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-split/-/line-split-6.5.0.tgz",
- "integrity": "sha512-/rwUMVr9OI2ccJjw7/6eTN53URtGThNSD5I0GgxyFXMtxWiloRJ9MTff8jBbtPWrRka/Sh2GkwucVRAEakx9Sw==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/line-intersect": "^6.5.0",
- "@turf/line-segment": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/nearest-point-on-line": "^6.5.0",
- "@turf/square": "^6.5.0",
- "@turf/truncate": "^6.5.0",
- "geojson-rbush": "3.x"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/line-to-polygon": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/line-to-polygon/-/line-to-polygon-6.5.0.tgz",
- "integrity": "sha512-qYBuRCJJL8Gx27OwCD1TMijM/9XjRgXH/m/TyuND4OXedBpIWlK5VbTIO2gJ8OCfznBBddpjiObLBrkuxTpN4Q==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/clone": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/mask": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/mask/-/mask-6.5.0.tgz",
- "integrity": "sha512-RQha4aU8LpBrmrkH8CPaaoAfk0Egj5OuXtv6HuCQnHeGNOQt3TQVibTA3Sh4iduq4EPxnZfDjgsOeKtrCA19lg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "polygon-clipping": "^0.15.3"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/meta": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz",
- "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/midpoint": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/midpoint/-/midpoint-6.5.0.tgz",
- "integrity": "sha512-MyTzV44IwmVI6ec9fB2OgZ53JGNlgOpaYl9ArKoF49rXpL84F9rNATndbe0+MQIhdkw8IlzA6xVP4lZzfMNVCw==",
- "dev": true,
- "dependencies": {
- "@turf/bearing": "^6.5.0",
- "@turf/destination": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/moran-index": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/moran-index/-/moran-index-6.5.0.tgz",
- "integrity": "sha512-ItsnhrU2XYtTtTudrM8so4afBCYWNaB0Mfy28NZwLjB5jWuAsvyV+YW+J88+neK/ougKMTawkmjQqodNJaBeLQ==",
- "dev": true,
- "dependencies": {
- "@turf/distance-weight": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/nearest-point": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/nearest-point/-/nearest-point-6.5.0.tgz",
- "integrity": "sha512-fguV09QxilZv/p94s8SMsXILIAMiaXI5PATq9d7YWijLxWUj6Q/r43kxyoi78Zmwwh1Zfqz9w+bCYUAxZ5+euA==",
- "dev": true,
- "dependencies": {
- "@turf/clone": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/nearest-point-on-line": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/nearest-point-on-line/-/nearest-point-on-line-6.5.0.tgz",
- "integrity": "sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==",
- "dev": true,
- "dependencies": {
- "@turf/bearing": "^6.5.0",
- "@turf/destination": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/line-intersect": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/nearest-point-to-line": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/nearest-point-to-line/-/nearest-point-to-line-6.5.0.tgz",
- "integrity": "sha512-PXV7cN0BVzUZdjj6oeb/ESnzXSfWmEMrsfZSDRgqyZ9ytdiIj/eRsnOXLR13LkTdXVOJYDBuf7xt1mLhM4p6+Q==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/point-to-line-distance": "^6.5.0",
- "object-assign": "*"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/planepoint": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/planepoint/-/planepoint-6.5.0.tgz",
- "integrity": "sha512-R3AahA6DUvtFbka1kcJHqZ7DMHmPXDEQpbU5WaglNn7NaCQg9HB0XM0ZfqWcd5u92YXV+Gg8QhC8x5XojfcM4Q==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/point-grid": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/point-grid/-/point-grid-6.5.0.tgz",
- "integrity": "sha512-Iq38lFokNNtQJnOj/RBKmyt6dlof0yhaHEDELaWHuECm1lIZLY3ZbVMwbs+nXkwTAHjKfS/OtMheUBkw+ee49w==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-within": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/point-on-feature": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/point-on-feature/-/point-on-feature-6.5.0.tgz",
- "integrity": "sha512-bDpuIlvugJhfcF/0awAQ+QI6Om1Y1FFYE8Y/YdxGRongivix850dTeXCo0mDylFdWFPGDo7Mmh9Vo4VxNwW/TA==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/center": "^6.5.0",
- "@turf/explode": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/nearest-point": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/point-to-line-distance": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/point-to-line-distance/-/point-to-line-distance-6.5.0.tgz",
- "integrity": "sha512-opHVQ4vjUhNBly1bob6RWy+F+hsZDH9SA0UW36pIRzfpu27qipU18xup0XXEePfY6+wvhF6yL/WgCO2IbrLqEA==",
- "dev": true,
- "dependencies": {
- "@turf/bearing": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/projection": "^6.5.0",
- "@turf/rhumb-bearing": "^6.5.0",
- "@turf/rhumb-distance": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/points-within-polygon": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/points-within-polygon/-/points-within-polygon-6.5.0.tgz",
- "integrity": "sha512-YyuheKqjliDsBDt3Ho73QVZk1VXX1+zIA2gwWvuz8bR1HXOkcuwk/1J76HuFMOQI3WK78wyAi+xbkx268PkQzQ==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/polygon-smooth": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/polygon-smooth/-/polygon-smooth-6.5.0.tgz",
- "integrity": "sha512-LO/X/5hfh/Rk4EfkDBpLlVwt3i6IXdtQccDT9rMjXEP32tRgy0VMFmdkNaXoGlSSKf/1mGqLl4y4wHd86DqKbg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/polygon-tangents": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/polygon-tangents/-/polygon-tangents-6.5.0.tgz",
- "integrity": "sha512-sB4/IUqJMYRQH9jVBwqS/XDitkEfbyqRy+EH/cMRJURTg78eHunvJ708x5r6umXsbiUyQU4eqgPzEylWEQiunw==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/boolean-within": "^6.5.0",
- "@turf/explode": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/nearest-point": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/polygon-to-line": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/polygon-to-line/-/polygon-to-line-6.5.0.tgz",
- "integrity": "sha512-5p4n/ij97EIttAq+ewSnKt0ruvuM+LIDzuczSzuHTpq4oS7Oq8yqg5TQ4nzMVuK41r/tALCk7nAoBuw3Su4Gcw==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/polygonize": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/polygonize/-/polygonize-6.5.0.tgz",
- "integrity": "sha512-a/3GzHRaCyzg7tVYHo43QUChCspa99oK4yPqooVIwTC61npFzdrmnywMv0S+WZjHZwK37BrFJGFrZGf6ocmY5w==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/envelope": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/projection": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/projection/-/projection-6.5.0.tgz",
- "integrity": "sha512-/Pgh9mDvQWWu8HRxqpM+tKz8OzgauV+DiOcr3FCjD6ubDnrrmMJlsf6fFJmggw93mtVPrZRL6yyi9aYCQBOIvg==",
- "dev": true,
- "dependencies": {
- "@turf/clone": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/random": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/random/-/random-6.5.0.tgz",
- "integrity": "sha512-8Q25gQ/XbA7HJAe+eXp4UhcXM9aOOJFaxZ02+XSNwMvY8gtWSCBLVqRcW4OhqilgZ8PeuQDWgBxeo+BIqqFWFQ==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/rectangle-grid": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/rectangle-grid/-/rectangle-grid-6.5.0.tgz",
- "integrity": "sha512-yQZ/1vbW68O2KsSB3OZYK+72aWz/Adnf7m2CMKcC+aq6TwjxZjAvlbCOsNUnMAuldRUVN1ph6RXMG4e9KEvKvg==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-intersects": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/rewind": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/rewind/-/rewind-6.5.0.tgz",
- "integrity": "sha512-IoUAMcHWotBWYwSYuYypw/LlqZmO+wcBpn8ysrBNbazkFNkLf3btSDZMkKJO/bvOzl55imr/Xj4fi3DdsLsbzQ==",
- "dev": true,
- "dependencies": {
- "@turf/boolean-clockwise": "^6.5.0",
- "@turf/clone": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/rhumb-bearing": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/rhumb-bearing/-/rhumb-bearing-6.5.0.tgz",
- "integrity": "sha512-jMyqiMRK4hzREjQmnLXmkJ+VTNTx1ii8vuqRwJPcTlKbNWfjDz/5JqJlb5NaFDcdMpftWovkW5GevfnuzHnOYA==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/rhumb-destination": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/rhumb-destination/-/rhumb-destination-6.5.0.tgz",
- "integrity": "sha512-RHNP1Oy+7xTTdRrTt375jOZeHceFbjwohPHlr9Hf68VdHHPMAWgAKqiX2YgSWDcvECVmiGaBKWus1Df+N7eE4Q==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/rhumb-distance": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/rhumb-distance/-/rhumb-distance-6.5.0.tgz",
- "integrity": "sha512-oKp8KFE8E4huC2Z1a1KNcFwjVOqa99isxNOwfo4g3SUABQ6NezjKDDrnvC4yI5YZ3/huDjULLBvhed45xdCrzg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/sample": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/sample/-/sample-6.5.0.tgz",
- "integrity": "sha512-kSdCwY7el15xQjnXYW520heKUrHwRvnzx8ka4eYxX9NFeOxaFITLW2G7UtXb6LJK8mmPXI8Aexv23F2ERqzGFg==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/sector": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/sector/-/sector-6.5.0.tgz",
- "integrity": "sha512-cYUOkgCTWqa23SOJBqxoFAc/yGCUsPRdn/ovbRTn1zNTm/Spmk6hVB84LCKOgHqvSF25i0d2kWqpZDzLDdAPbw==",
- "dev": true,
- "dependencies": {
- "@turf/circle": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/line-arc": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/shortest-path": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/shortest-path/-/shortest-path-6.5.0.tgz",
- "integrity": "sha512-4de5+G7+P4hgSoPwn+SO9QSi9HY5NEV/xRJ+cmoFVRwv2CDsuOPDheHKeuIAhKyeKDvPvPt04XYWbac4insJMg==",
- "dev": true,
- "dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/bbox-polygon": "^6.5.0",
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/clean-coords": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/transform-scale": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/simplify": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/simplify/-/simplify-6.5.0.tgz",
- "integrity": "sha512-USas3QqffPHUY184dwQdP8qsvcVH/PWBYdXY5am7YTBACaQOMAlf6AKJs9FT8jiO6fQpxfgxuEtwmox+pBtlOg==",
- "dev": true,
- "dependencies": {
- "@turf/clean-coords": "^6.5.0",
- "@turf/clone": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/square": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/square/-/square-6.5.0.tgz",
- "integrity": "sha512-BM2UyWDmiuHCadVhHXKIx5CQQbNCpOxB6S/aCNOCLbhCeypKX5Q0Aosc5YcmCJgkwO5BERCC6Ee7NMbNB2vHmQ==",
- "dev": true,
- "dependencies": {
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0"
- },
- "funding": {
- "url": "https://opencollective.com/turf"
- }
- },
- "node_modules/@turf/square-grid": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/square-grid/-/square-grid-6.5.0.tgz",
- "integrity": "sha512-mlR0ayUdA+L4c9h7p4k3pX6gPWHNGuZkt2c5II1TJRmhLkW2557d6b/Vjfd1z9OVaajb1HinIs1FMSAPXuuUrA==",
- "dev": true,
- "dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/rectangle-grid": "^6.5.0"
- },
+ "dev": true,
+ "license": "MIT",
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/standard-deviational-ellipse": {
+ "node_modules/@turf/intersect": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/standard-deviational-ellipse/-/standard-deviational-ellipse-6.5.0.tgz",
- "integrity": "sha512-02CAlz8POvGPFK2BKK8uHGUk/LXb0MK459JVjKxLC2yJYieOBTqEbjP0qaWhiBhGzIxSMaqe8WxZ0KvqdnstHA==",
+ "resolved": "https://registry.npmjs.org/@turf/intersect/-/intersect-6.5.0.tgz",
+ "integrity": "sha512-2legGJeKrfFkzntcd4GouPugoqPUjexPZnOvfez+3SfIMrHvulw8qV8u7pfVyn2Yqs53yoVCEjS5sEpvQ5YRQg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/center-mean": "^6.5.0",
- "@turf/ellipse": "^6.5.0",
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/points-within-polygon": "^6.5.0"
+ "polygon-clipping": "^0.15.3"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/tag": {
+ "node_modules/@turf/invariant": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/tag/-/tag-6.5.0.tgz",
- "integrity": "sha512-XwlBvrOV38CQsrNfrxvBaAPBQgXMljeU0DV8ExOyGM7/hvuGHJw3y8kKnQ4lmEQcmcrycjDQhP7JqoRv8vFssg==",
+ "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.5.0.tgz",
+ "integrity": "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/clone": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0"
+ "@turf/helpers": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/tesselate": {
+ "node_modules/@turf/length": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/tesselate/-/tesselate-6.5.0.tgz",
- "integrity": "sha512-M1HXuyZFCfEIIKkglh/r5L9H3c5QTEsnMBoZOFQiRnGPGmJWcaBissGb7mTFX2+DKE7FNWXh4TDnZlaLABB0dQ==",
+ "resolved": "https://registry.npmjs.org/@turf/length/-/length-6.5.0.tgz",
+ "integrity": "sha512-5pL5/pnw52fck3oRsHDcSGrj9HibvtlrZ0QNy2OcW8qBFDNgZ4jtl6U7eATVoyWPKBHszW3dWETW+iLV7UARig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
+ "@turf/distance": "^6.5.0",
"@turf/helpers": "^6.5.0",
- "earcut": "^2.0.0"
+ "@turf/meta": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/tin": {
+ "node_modules/@turf/line-intersect": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/tin/-/tin-6.5.0.tgz",
- "integrity": "sha512-YLYikRzKisfwj7+F+Tmyy/LE3d2H7D4kajajIfc9mlik2+esG7IolsX/+oUz1biguDYsG0DUA8kVYXDkobukfg==",
+ "resolved": "https://registry.npmjs.org/@turf/line-intersect/-/line-intersect-6.5.0.tgz",
+ "integrity": "sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/helpers": "^6.5.0"
+ "@turf/helpers": "^6.5.0",
+ "@turf/invariant": "^6.5.0",
+ "@turf/line-segment": "^6.5.0",
+ "@turf/meta": "^6.5.0",
+ "geojson-rbush": "3.x"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/transform-rotate": {
+ "node_modules/@turf/line-overlap": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/transform-rotate/-/transform-rotate-6.5.0.tgz",
- "integrity": "sha512-A2Ip1v4246ZmpssxpcL0hhiVBEf4L8lGnSPWTgSv5bWBEoya2fa/0SnFX9xJgP40rMP+ZzRaCN37vLHbv1Guag==",
+ "resolved": "https://registry.npmjs.org/@turf/line-overlap/-/line-overlap-6.5.0.tgz",
+ "integrity": "sha512-xHOaWLd0hkaC/1OLcStCpfq55lPHpPNadZySDXYiYjEz5HXr1oKmtMYpn0wGizsLwrOixRdEp+j7bL8dPt4ojQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/centroid": "^6.5.0",
- "@turf/clone": "^6.5.0",
+ "@turf/boolean-point-on-line": "^6.5.0",
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0",
+ "@turf/line-segment": "^6.5.0",
"@turf/meta": "^6.5.0",
- "@turf/rhumb-bearing": "^6.5.0",
- "@turf/rhumb-destination": "^6.5.0",
- "@turf/rhumb-distance": "^6.5.0"
+ "@turf/nearest-point-on-line": "^6.5.0",
+ "deep-equal": "1.x",
+ "geojson-rbush": "3.x"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/transform-scale": {
+ "node_modules/@turf/line-segment": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/transform-scale/-/transform-scale-6.5.0.tgz",
- "integrity": "sha512-VsATGXC9rYM8qTjbQJ/P7BswKWXHdnSJ35JlV4OsZyHBMxJQHftvmZJsFbOqVtQnIQIzf2OAly6rfzVV9QLr7g==",
+ "resolved": "https://registry.npmjs.org/@turf/line-segment/-/line-segment-6.5.0.tgz",
+ "integrity": "sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/bbox": "^6.5.0",
- "@turf/center": "^6.5.0",
- "@turf/centroid": "^6.5.0",
- "@turf/clone": "^6.5.0",
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/rhumb-bearing": "^6.5.0",
- "@turf/rhumb-destination": "^6.5.0",
- "@turf/rhumb-distance": "^6.5.0"
+ "@turf/meta": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/transform-translate": {
+ "node_modules/@turf/line-split": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/transform-translate/-/transform-translate-6.5.0.tgz",
- "integrity": "sha512-NABLw5VdtJt/9vSstChp93pc6oel4qXEos56RBMsPlYB8hzNTEKYtC146XJvyF4twJeeYS8RVe1u7KhoFwEM5w==",
+ "resolved": "https://registry.npmjs.org/@turf/line-split/-/line-split-6.5.0.tgz",
+ "integrity": "sha512-/rwUMVr9OI2ccJjw7/6eTN53URtGThNSD5I0GgxyFXMtxWiloRJ9MTff8jBbtPWrRka/Sh2GkwucVRAEakx9Sw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/clone": "^6.5.0",
+ "@turf/bbox": "^6.5.0",
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0",
+ "@turf/line-intersect": "^6.5.0",
+ "@turf/line-segment": "^6.5.0",
"@turf/meta": "^6.5.0",
- "@turf/rhumb-destination": "^6.5.0"
+ "@turf/nearest-point-on-line": "^6.5.0",
+ "@turf/square": "^6.5.0",
+ "@turf/truncate": "^6.5.0",
+ "geojson-rbush": "3.x"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/triangle-grid": {
+ "node_modules/@turf/meta": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/triangle-grid/-/triangle-grid-6.5.0.tgz",
- "integrity": "sha512-2jToUSAS1R1htq4TyLQYPTIsoy6wg3e3BQXjm2rANzw4wPQCXGOxrur1Fy9RtzwqwljlC7DF4tg0OnWr8RjmfA==",
+ "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz",
+ "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/distance": "^6.5.0",
- "@turf/helpers": "^6.5.0",
- "@turf/intersect": "^6.5.0"
+ "@turf/helpers": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/truncate": {
+ "node_modules/@turf/nearest-point-on-line": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/truncate/-/truncate-6.5.0.tgz",
- "integrity": "sha512-pFxg71pLk+eJj134Z9yUoRhIi8vqnnKvCYwdT4x/DQl/19RVdq1tV3yqOT3gcTQNfniteylL5qV1uTBDV5sgrg==",
+ "resolved": "https://registry.npmjs.org/@turf/nearest-point-on-line/-/nearest-point-on-line-6.5.0.tgz",
+ "integrity": "sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
+ "@turf/bearing": "^6.5.0",
+ "@turf/destination": "^6.5.0",
+ "@turf/distance": "^6.5.0",
"@turf/helpers": "^6.5.0",
+ "@turf/invariant": "^6.5.0",
+ "@turf/line-intersect": "^6.5.0",
"@turf/meta": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/turf": {
+ "node_modules/@turf/simplify": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/turf/-/turf-6.5.0.tgz",
- "integrity": "sha512-ipMCPnhu59bh92MNt8+pr1VZQhHVuTMHklciQURo54heoxRzt1neNYZOBR6jdL+hNsbDGAECMuIpAutX+a3Y+w==",
+ "resolved": "https://registry.npmjs.org/@turf/simplify/-/simplify-6.5.0.tgz",
+ "integrity": "sha512-USas3QqffPHUY184dwQdP8qsvcVH/PWBYdXY5am7YTBACaQOMAlf6AKJs9FT8jiO6fQpxfgxuEtwmox+pBtlOg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/along": "^6.5.0",
- "@turf/angle": "^6.5.0",
- "@turf/area": "^6.5.0",
- "@turf/bbox": "^6.5.0",
- "@turf/bbox-clip": "^6.5.0",
- "@turf/bbox-polygon": "^6.5.0",
- "@turf/bearing": "^6.5.0",
- "@turf/bezier-spline": "^6.5.0",
- "@turf/boolean-clockwise": "^6.5.0",
- "@turf/boolean-contains": "^6.5.0",
- "@turf/boolean-crosses": "^6.5.0",
- "@turf/boolean-disjoint": "^6.5.0",
- "@turf/boolean-equal": "^6.5.0",
- "@turf/boolean-intersects": "^6.5.0",
- "@turf/boolean-overlap": "^6.5.0",
- "@turf/boolean-parallel": "^6.5.0",
- "@turf/boolean-point-in-polygon": "^6.5.0",
- "@turf/boolean-point-on-line": "^6.5.0",
- "@turf/boolean-within": "^6.5.0",
- "@turf/buffer": "^6.5.0",
- "@turf/center": "^6.5.0",
- "@turf/center-mean": "^6.5.0",
- "@turf/center-median": "^6.5.0",
- "@turf/center-of-mass": "^6.5.0",
- "@turf/centroid": "^6.5.0",
- "@turf/circle": "^6.5.0",
"@turf/clean-coords": "^6.5.0",
"@turf/clone": "^6.5.0",
- "@turf/clusters": "^6.5.0",
- "@turf/clusters-dbscan": "^6.5.0",
- "@turf/clusters-kmeans": "^6.5.0",
- "@turf/collect": "^6.5.0",
- "@turf/combine": "^6.5.0",
- "@turf/concave": "^6.5.0",
- "@turf/convex": "^6.5.0",
- "@turf/destination": "^6.5.0",
- "@turf/difference": "^6.5.0",
- "@turf/dissolve": "^6.5.0",
- "@turf/distance": "^6.5.0",
- "@turf/distance-weight": "^6.5.0",
- "@turf/ellipse": "^6.5.0",
- "@turf/envelope": "^6.5.0",
- "@turf/explode": "^6.5.0",
- "@turf/flatten": "^6.5.0",
- "@turf/flip": "^6.5.0",
- "@turf/great-circle": "^6.5.0",
"@turf/helpers": "^6.5.0",
- "@turf/hex-grid": "^6.5.0",
- "@turf/interpolate": "^6.5.0",
- "@turf/intersect": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "@turf/isobands": "^6.5.0",
- "@turf/isolines": "^6.5.0",
- "@turf/kinks": "^6.5.0",
- "@turf/length": "^6.5.0",
- "@turf/line-arc": "^6.5.0",
- "@turf/line-chunk": "^6.5.0",
- "@turf/line-intersect": "^6.5.0",
- "@turf/line-offset": "^6.5.0",
- "@turf/line-overlap": "^6.5.0",
- "@turf/line-segment": "^6.5.0",
- "@turf/line-slice": "^6.5.0",
- "@turf/line-slice-along": "^6.5.0",
- "@turf/line-split": "^6.5.0",
- "@turf/line-to-polygon": "^6.5.0",
- "@turf/mask": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "@turf/midpoint": "^6.5.0",
- "@turf/moran-index": "^6.5.0",
- "@turf/nearest-point": "^6.5.0",
- "@turf/nearest-point-on-line": "^6.5.0",
- "@turf/nearest-point-to-line": "^6.5.0",
- "@turf/planepoint": "^6.5.0",
- "@turf/point-grid": "^6.5.0",
- "@turf/point-on-feature": "^6.5.0",
- "@turf/point-to-line-distance": "^6.5.0",
- "@turf/points-within-polygon": "^6.5.0",
- "@turf/polygon-smooth": "^6.5.0",
- "@turf/polygon-tangents": "^6.5.0",
- "@turf/polygon-to-line": "^6.5.0",
- "@turf/polygonize": "^6.5.0",
- "@turf/projection": "^6.5.0",
- "@turf/random": "^6.5.0",
- "@turf/rewind": "^6.5.0",
- "@turf/rhumb-bearing": "^6.5.0",
- "@turf/rhumb-destination": "^6.5.0",
- "@turf/rhumb-distance": "^6.5.0",
- "@turf/sample": "^6.5.0",
- "@turf/sector": "^6.5.0",
- "@turf/shortest-path": "^6.5.0",
- "@turf/simplify": "^6.5.0",
- "@turf/square": "^6.5.0",
- "@turf/square-grid": "^6.5.0",
- "@turf/standard-deviational-ellipse": "^6.5.0",
- "@turf/tag": "^6.5.0",
- "@turf/tesselate": "^6.5.0",
- "@turf/tin": "^6.5.0",
- "@turf/transform-rotate": "^6.5.0",
- "@turf/transform-scale": "^6.5.0",
- "@turf/transform-translate": "^6.5.0",
- "@turf/triangle-grid": "^6.5.0",
- "@turf/truncate": "^6.5.0",
- "@turf/union": "^6.5.0",
- "@turf/unkink-polygon": "^6.5.0",
- "@turf/voronoi": "^6.5.0"
+ "@turf/meta": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/union": {
+ "node_modules/@turf/square": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/union/-/union-6.5.0.tgz",
- "integrity": "sha512-igYWCwP/f0RFHIlC2c0SKDuM/ObBaqSljI3IdV/x71805QbIvY/BYGcJdyNcgEA6cylIGl/0VSlIbpJHZ9ldhw==",
+ "resolved": "https://registry.npmjs.org/@turf/square/-/square-6.5.0.tgz",
+ "integrity": "sha512-BM2UyWDmiuHCadVhHXKIx5CQQbNCpOxB6S/aCNOCLbhCeypKX5Q0Aosc5YcmCJgkwO5BERCC6Ee7NMbNB2vHmQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/helpers": "^6.5.0",
- "@turf/invariant": "^6.5.0",
- "polygon-clipping": "^0.15.3"
+ "@turf/distance": "^6.5.0",
+ "@turf/helpers": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/unkink-polygon": {
+ "node_modules/@turf/truncate": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/unkink-polygon/-/unkink-polygon-6.5.0.tgz",
- "integrity": "sha512-8QswkzC0UqKmN1DT6HpA9upfa1HdAA5n6bbuzHy8NJOX8oVizVAqfEPY0wqqTgboDjmBR4yyImsdPGUl3gZ8JQ==",
+ "resolved": "https://registry.npmjs.org/@turf/truncate/-/truncate-6.5.0.tgz",
+ "integrity": "sha512-pFxg71pLk+eJj134Z9yUoRhIi8vqnnKvCYwdT4x/DQl/19RVdq1tV3yqOT3gcTQNfniteylL5qV1uTBDV5sgrg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@turf/area": "^6.5.0",
- "@turf/boolean-point-in-polygon": "^6.5.0",
"@turf/helpers": "^6.5.0",
- "@turf/meta": "^6.5.0",
- "rbush": "^2.0.1"
+ "@turf/meta": "^6.5.0"
},
"funding": {
"url": "https://opencollective.com/turf"
}
},
- "node_modules/@turf/unkink-polygon/node_modules/quickselect": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz",
- "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==",
- "dev": true
- },
- "node_modules/@turf/unkink-polygon/node_modules/rbush": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/rbush/-/rbush-2.0.2.tgz",
- "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==",
- "dev": true,
- "dependencies": {
- "quickselect": "^1.0.1"
- }
- },
- "node_modules/@turf/voronoi": {
+ "node_modules/@turf/union": {
"version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@turf/voronoi/-/voronoi-6.5.0.tgz",
- "integrity": "sha512-C/xUsywYX+7h1UyNqnydHXiun4UPjK88VDghtoRypR9cLlb7qozkiLRphQxxsCM0KxyxpVPHBVQXdAL3+Yurow==",
+ "resolved": "https://registry.npmjs.org/@turf/union/-/union-6.5.0.tgz",
+ "integrity": "sha512-igYWCwP/f0RFHIlC2c0SKDuM/ObBaqSljI3IdV/x71805QbIvY/BYGcJdyNcgEA6cylIGl/0VSlIbpJHZ9ldhw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@turf/helpers": "^6.5.0",
"@turf/invariant": "^6.5.0",
- "d3-voronoi": "1.1.2"
+ "polygon-clipping": "^0.15.3"
},
"funding": {
"url": "https://opencollective.com/turf"
@@ -3763,7 +2450,8 @@
"version": "7946.0.8",
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz",
"integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/graceful-fs": {
"version": "4.1.9",
@@ -4937,14 +3625,19 @@
}
},
"node_modules/call-bind": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
- "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz",
+ "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.1",
- "set-function-length": "^1.1.1"
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "get-intrinsic": "^1.3.0",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5330,18 +4023,6 @@
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true
},
- "node_modules/concaveman": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/concaveman/-/concaveman-1.2.1.tgz",
- "integrity": "sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw==",
- "dev": true,
- "dependencies": {
- "point-in-polygon": "^1.1.0",
- "rbush": "^3.0.1",
- "robust-predicates": "^2.0.4",
- "tinyqueue": "^2.0.3"
- }
- },
"node_modules/confbox": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz",
@@ -5501,27 +4182,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/d3-array": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
- "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
- "dev": true
- },
- "node_modules/d3-geo": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.7.1.tgz",
- "integrity": "sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==",
- "dev": true,
- "dependencies": {
- "d3-array": "1"
- }
- },
- "node_modules/d3-voronoi": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.2.tgz",
- "integrity": "sha512-RhGS1u2vavcO7ay7ZNAPo4xeDh/VYeGof3x5ZLJBQgYhLegxr3s5IykvWmJ94FTU6mcbtp4sloqZ54mP6R4Utw==",
- "dev": true
- },
"node_modules/data-urls": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
@@ -5581,6 +4241,7 @@
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz",
"integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-arguments": "^1.1.1",
"is-date-object": "^1.0.5",
@@ -5643,17 +4304,21 @@
}
},
"node_modules/define-data-property": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
- "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+ "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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "get-intrinsic": "^1.2.1",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
+ "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": {
@@ -5674,6 +4339,7 @@
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
@@ -5703,12 +4369,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/density-clustering": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/density-clustering/-/density-clustering-1.3.0.tgz",
- "integrity": "sha512-icpmBubVTwLnsaor9qH/4tG5+7+f61VcqMN3V3pm9sxxSCt2Jcs0zWOgwZW9ARJYaKD3FumIgHiMOcIMRRAzFQ==",
- "dev": true
- },
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -5786,12 +4446,6 @@
"node": ">= 0.4"
}
},
- "node_modules/earcut": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz",
- "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==",
- "dev": true
- },
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -6799,6 +5453,7 @@
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -6818,6 +5473,7 @@
"resolved": "https://registry.npmjs.org/geojson-equality/-/geojson-equality-0.1.6.tgz",
"integrity": "sha512-TqG8YbqizP3EfwP5Uw4aLu6pKkg6JQK9uq/XZ1lXQntvTHD1BBKJWhNpJ2M0ax6TuWMP3oyx6Oq7FCIfznrgpQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"deep-equal": "^1.0.0"
}
@@ -6827,6 +5483,7 @@
"resolved": "https://registry.npmjs.org/geojson-rbush/-/geojson-rbush-3.2.0.tgz",
"integrity": "sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@turf/bbox": "*",
"@turf/helpers": "6.x",
@@ -7033,12 +5690,13 @@
}
},
"node_modules/has-property-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
- "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "get-intrinsic": "^1.2.2"
+ "es-define-property": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -7290,13 +5948,14 @@
}
},
"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==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz",
+ "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -7325,12 +5984,14 @@
}
},
"node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
+ "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -7444,13 +6105,16 @@
"license": "MIT"
},
"node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -9129,15 +7793,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/object-inspect": {
"version": "1.13.4",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
@@ -9152,13 +7807,14 @@
}
},
"node_modules/object-is": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@@ -9172,6 +7828,7 @@
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
@@ -9501,12 +8158,6 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "node_modules/point-in-polygon": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.1.0.tgz",
- "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==",
- "dev": true
- },
"node_modules/polygon-clipping": {
"version": "0.15.7",
"resolved": "https://registry.npmjs.org/polygon-clipping/-/polygon-clipping-0.15.7.tgz",
@@ -9673,7 +8324,8 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz",
"integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/radix3": {
"version": "1.1.2",
@@ -9753,6 +8405,7 @@
"resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz",
"integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"quickselect": "^2.0.0"
}
@@ -9791,14 +8444,18 @@
}
},
"node_modules/regexp.prototype.flags": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
- "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
+ "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "set-function-name": "^2.0.0"
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -9939,12 +8596,6 @@
"integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
"dev": true
},
- "node_modules/robust-predicates": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-2.0.4.tgz",
- "integrity": "sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg==",
- "dev": true
- },
"node_modules/run-applescript": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
@@ -10167,30 +8818,34 @@
}
},
"node_modules/set-function-length": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
- "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
+ "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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "define-data-property": "^1.1.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.2",
+ "get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.1"
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/set-function-name": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
- "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+ "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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "define-data-property": "^1.0.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.0"
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -10331,12 +8986,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/skmeans": {
- "version": "0.9.7",
- "resolved": "https://registry.npmjs.org/skmeans/-/skmeans-0.9.7.tgz",
- "integrity": "sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg==",
- "dev": true
- },
"node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -10660,12 +9309,6 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/tinyqueue": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz",
- "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==",
- "dev": true
- },
"node_modules/tmpl": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
@@ -10695,32 +9338,6 @@
"node": ">=0.6"
}
},
- "node_modules/topojson-client": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz",
- "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
- "dev": true,
- "dependencies": {
- "commander": "2"
- },
- "bin": {
- "topo2geo": "bin/topo2geo",
- "topomerge": "bin/topomerge",
- "topoquantize": "bin/topoquantize"
- }
- },
- "node_modules/topojson-server": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/topojson-server/-/topojson-server-3.0.1.tgz",
- "integrity": "sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==",
- "dev": true,
- "dependencies": {
- "commander": "2"
- },
- "bin": {
- "geo2topo": "bin/geo2topo"
- }
- },
"node_modules/tough-cookie": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
@@ -10763,12 +9380,6 @@
"typescript": ">=4.8.4"
}
},
- "node_modules/turf-jsts": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/turf-jsts/-/turf-jsts-1.2.3.tgz",
- "integrity": "sha512-Ja03QIJlPuHt4IQ2FfGex4F4JAr8m3jpaHbFbQrgwr7s7L6U8ocrHiF3J1+wf9jzhGKxvDeaCAnGDot8OjGFyA==",
- "dev": true
- },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
diff --git a/package.json b/package.json
index fb99a90f..96ec5fd9 100644
--- a/package.json
+++ b/package.json
@@ -65,7 +65,16 @@
"@eslint/js": "^9.11.1",
"@playwright/test": "^1.56.0",
"@stylistic/eslint-plugin": "^2.8.0",
- "@turf/turf": "^6.5.0",
+ "@turf/boolean-overlap": "^6.5.0",
+ "@turf/boolean-point-in-polygon": "^6.5.0",
+ "@turf/boolean-within": "^6.5.0",
+ "@turf/difference": "^6.5.0",
+ "@turf/helpers": "^6.5.0",
+ "@turf/intersect": "^6.5.0",
+ "@turf/length": "^6.5.0",
+ "@turf/line-split": "^6.5.0",
+ "@turf/simplify": "^6.5.0",
+ "@turf/union": "^6.5.0",
"@types/eslint__js": "^8.42.3",
"@types/jquery": "^3.5.31",
"@typescript-eslint/eslint-plugin": "^8.46.1",
diff --git a/playwright.config.js b/playwright.config.js
index 31494528..5ba511b4 100644
--- a/playwright.config.js
+++ b/playwright.config.js
@@ -9,13 +9,14 @@ export default defineConfig({
fullyParallel: false, // Run tests sequentially for more stable results
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
- workers: 3,
+ // CI runners have 4 vCPUs. Locally default to half of available cores
+ workers: process.env.CI ? 3 : undefined,
reporter: "list",
use: {
baseURL: base_url,
trace: "on-first-retry",
screenshot: "only-on-failure",
- video: "retain-on-failure",
+ video: "on-first-retry",
// Enable downloads
acceptDownloads: true,
},
diff --git a/src/ambient.d.ts b/src/ambient.d.ts
index ac57395e..b03e5dfb 100644
--- a/src/ambient.d.ts
+++ b/src/ambient.d.ts
@@ -1,4 +1,3 @@
// Ambient module declarations for dependencies that don't ship their own types
// or are only available at build time (not to npm consumers).
-declare module "@turf/turf";
declare module "polygon-clipping";
diff --git a/src/geometric_utils.ts b/src/geometric_utils.ts
index f861e68b..6524a2d5 100644
--- a/src/geometric_utils.ts
+++ b/src/geometric_utils.ts
@@ -1,8 +1,35 @@
// eslint-disable-next-line @typescript-eslint/triple-slash-reference -- required for consumer type resolution
///
-import * as turf from "@turf/turf";
+// Import turf functions individually: the @turf/turf umbrella package pulls in
+// every turf module (jsts, d3-geo, topojson, ...) and roughly doubles the bundle.
+import booleanOverlap from "@turf/boolean-overlap";
+import booleanPointInPolygon from "@turf/boolean-point-in-polygon";
+import booleanWithin from "@turf/boolean-within";
+import difference from "@turf/difference";
+import * as turf_helpers from "@turf/helpers";
+import intersect from "@turf/intersect";
+import length from "@turf/length";
+import lineSplit from "@turf/line-split";
+import simplify from "@turf/simplify";
+import union from "@turf/union";
import * as polygonClipping from "polygon-clipping";
+const turf = {
+ booleanOverlap,
+ booleanPointInPolygon,
+ booleanWithin,
+ difference,
+ featureCollection: turf_helpers.featureCollection,
+ intersect,
+ length,
+ lineSplit,
+ lineString: turf_helpers.lineString,
+ point: turf_helpers.point,
+ polygon: turf_helpers.polygon,
+ simplify,
+ union,
+};
+
export type Point2D = [number, number];
export type Point3D = [number, number, number];
export type LineSegment2D = [Point2D, Point2D];
@@ -190,7 +217,7 @@ export class GeometricUtils {
// Discard the parts of the line that are inside the polygon
const remaining_splits = turf.featureCollection(
- split.features.filter((feature: { geometry: { coordinates: Point2D[] } }) => {
+ split.features.filter((feature) => {
// If the point at the middle of the lineString is inside the polygon, discard it
const middle_pt_idx = Math.floor(feature.geometry.coordinates.length / 2);
return !GeometricUtils.point_is_within_simple_polygon(
@@ -201,7 +228,7 @@ export class GeometricUtils {
);
// Sort the remaining splits by length
- remaining_splits.features.sort((a: unknown, b: unknown) => {
+ remaining_splits.features.sort((a, b) => {
return turf.length(b) - turf.length(a);
});
@@ -246,7 +273,7 @@ export class GeometricUtils {
ret = turf.union(
turf.polygon(complex_poly1),
turf.polygon(complex_poly2),
- ).geometry.coordinates;
+ )!.geometry.coordinates;
// When the two polygons have no intersection, turf.union returns a quad nested list instead of a triple nested list
// So we can just return complex_poly1
// eslint-disable-next-line @typescript-eslint/no-explicit-any
diff --git a/tests/testing-utils/init_utils.js b/tests/testing-utils/init_utils.js
index 5370a126..469c569c 100644
--- a/tests/testing-utils/init_utils.js
+++ b/tests/testing-utils/init_utils.js
@@ -7,13 +7,9 @@
* Navigate to a page and wait for ULabel to initialize.
* @param {Page} page - The Playwright page object
* @param {string} url - The URL to navigate to (default: "/multi-class.html")
- * @returns {Promise