diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c0e9b5c1..5ed5947b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,6 +28,8 @@ jobs: run: npm ci - name: Lint run: npm run lint + - name: License check + run: npm run license-check - name: Test run: npm run test - name: Build diff --git a/CHANGELOG.md b/CHANGELOG.md index 8669b4e6..869a5237 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,129 @@ # Change Log +## [v26.0.7](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.7) (2024-09-22) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.6...v26.0.7) + +**Fixed bugs:** + +- Detailed timeline doesn't show buckets for some cases [\#884](https://github.com/gisaia/ARLAS-wui/issues/884) +- Tour guide is not triggered unless you resize the window of your tab [\#801](https://github.com/gisaia/ARLAS-wui/issues/801) + +## [v26.0.6](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.6) (2024-09-16) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.5...v26.0.6) + +## [v26.0.5](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.5) (2024-09-16) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.4...v26.0.5) + +## [v26.0.4](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.4) (2024-09-16) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.3...v26.0.4) + +## [v26.0.3](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.3) (2024-09-12) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.2...v26.0.3) + +## [v26.0.2](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.2) (2024-09-11) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.1...v26.0.2) + +## [v26.0.1](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.1) (2024-09-11) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.0...v26.0.1) + +## [v26.0.0](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.0) (2024-09-11) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.0-rc.4...v26.0.0) + +## [v26.0.0-rc.4](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.0-rc.4) (2024-09-11) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.0-rc.3...v26.0.0-rc.4) + +## [v26.0.0-rc.3](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.0-rc.3) (2024-09-11) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.0-rc.2...v26.0.0-rc.3) + +## [v26.0.0-rc.2](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.0-rc.2) (2024-09-06) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v26.0.0-rc.1...v26.0.0-rc.2) + +**New stuff:** + +- change icon when selecting an item [\#870](https://github.com/gisaia/ARLAS-wui/issues/870) +- Pass the new searchContributors input to arlas-search component [\#865](https://github.com/gisaia/ARLAS-wui/issues/865) +- \[bookmark\] rename bookmarks [\#543](https://github.com/gisaia/ARLAS-wui/issues/543) + +**Fixed bugs:** + +- errors related to bounding box + resizehistogram at init [\#871](https://github.com/gisaia/ARLAS-wui/issues/871) +- The resultlist is not updated after removing the bbox [\#868](https://github.com/gisaia/ARLAS-wui/issues/868) +- The information icon 'i' stays on the item after closing the detail in the resultlist [\#866](https://github.com/gisaia/ARLAS-wui/issues/866) +- When I log out, a blank page is displayed [\#864](https://github.com/gisaia/ARLAS-wui/issues/864) + +## [v26.0.0-rc.1](https://github.com/gisaia/ARLAS-WUI/tree/v26.0.0-rc.1) (2024-09-02) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v25.1.0...v26.0.0-rc.1) + +**New stuff:** + +- Create a Collection Service that provides the display name and the unit of a given collection. [\#841](https://github.com/gisaia/ARLAS-wui/issues/841) +- Add a new Metric Table component [\#824](https://github.com/gisaia/ARLAS-wui/issues/824) +- Implement a multi-collection powerbar [\#818](https://github.com/gisaia/ARLAS-wui/issues/818) +- Highlight the item whose detail is displayed on the list [\#813](https://github.com/gisaia/ARLAS-wui/issues/813) +- 'Zoom to' button next to count should zoom to feature geometry [\#810](https://github.com/gisaia/ARLAS-wui/issues/810) +- Add an option to deactivate 'Sign up' button [\#806](https://github.com/gisaia/ARLAS-wui/issues/806) +- Display Unit instead of collection name in timeline and histogram having a count [\#755](https://github.com/gisaia/ARLAS-wui/issues/755) +- Add a legend for x / y in a histogram [\#688](https://github.com/gisaia/ARLAS-wui/issues/688) +- \[legend\] refactor how the legend is displayed [\#554](https://github.com/gisaia/ARLAS-wui/issues/554) +- \[metrics\] organize metrics in a datatable [\#544](https://github.com/gisaia/ARLAS-wui/issues/544) +- Rescale the x-axis domain to include selection that goes beyond the data domain [\#411](https://github.com/gisaia/ARLAS-wui/issues/411) +- Handle Multi-collection fulltext search [\#382](https://github.com/gisaia/ARLAS-wui/issues/382) +- Support H3 grids [\#315](https://github.com/gisaia/ARLAS-wui/issues/315) + +**Fixed bugs:** + +- Hilighting layer when cursor is over result list no longer work [\#854](https://github.com/gisaia/ARLAS-wui/issues/854) +- Multiline values "outlined" colored cells rendering in result list could be improved [\#852](https://github.com/gisaia/ARLAS-wui/issues/852) +- Missing geo sort in datatable \(result list\) [\#849](https://github.com/gisaia/ARLAS-wui/issues/849) +- Drag and drop of layers within a group doesn't work anymore in arlas wui [\#848](https://github.com/gisaia/ARLAS-wui/issues/848) +- \[Timeline\] Incohérence d'affichage de date dans le cas de un seul produit [\#847](https://github.com/gisaia/ARLAS-wui/issues/847) +- Logout action must redirect to login instead of alert message [\#837](https://github.com/gisaia/ARLAS-wui/issues/837) +- User can create a dashboard on an organisation where he is only user [\#836](https://github.com/gisaia/ARLAS-wui/issues/836) +- Map tilt cannot be reset [\#808](https://github.com/gisaia/ARLAS-wui/issues/808) +- Search input placeholder persists on focus [\#807](https://github.com/gisaia/ARLAS-wui/issues/807) + +## [v25.1.0](https://github.com/gisaia/ARLAS-WUI/tree/v25.1.0) (2024-07-18) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v24.3.9...v25.1.0) + +**New stuff:** + +- Display start value and end value of a timeline bucket. [\#816](https://github.com/gisaia/ARLAS-wui/issues/816) +- Improve property window on feature click [\#673](https://github.com/gisaia/ARLAS-wui/issues/673) +- \[map\] filter data with a circle [\#545](https://github.com/gisaia/ARLAS-wui/issues/545) +- Handle multi-collection for powerbars [\#390](https://github.com/gisaia/ARLAS-wui/issues/390) + +**Fixed bugs:** + +- Dashboards that don't have tabs attribute are not displayed on arlas-wui [\#833](https://github.com/gisaia/ARLAS-wui/issues/833) +- Paginator of bookmarks list doesn't show the right lenght of the table [\#819](https://github.com/gisaia/ARLAS-wui/issues/819) +- Layers disappear when we are zoomed in [\#817](https://github.com/gisaia/ARLAS-wui/issues/817) +- Features layers are not displayed on the map if the collection has a date field that has not a format [\#804](https://github.com/gisaia/ARLAS-wui/issues/804) +- Export / Import dashboard : circle heatmaps configurations are lost [\#797](https://github.com/gisaia/ARLAS-wui/issues/797) +- Histogram filter: Cross for closing a selection among multi-selection is partially hidden [\#787](https://github.com/gisaia/ARLAS-wui/issues/787) +- Tour of ARLAS breaks the layout when the step is on the timeline [\#765](https://github.com/gisaia/ARLAS-wui/issues/765) +- Histogram : NaN values instead of negative values [\#728](https://github.com/gisaia/ARLAS-wui/issues/728) +- Label layer with average metric displays abnormal values [\#646](https://github.com/gisaia/ARLAS-wui/issues/646) +- Research does not work with space character [\#533](https://github.com/gisaia/ARLAS-wui/issues/533) +- Histogram and timeline selection moves when ARLAS is loading [\#513](https://github.com/gisaia/ARLAS-wui/issues/513) +- Changing tabs triggers map style update after hard coded 500ms [\#360](https://github.com/gisaia/ARLAS-wui/issues/360) + +## [v24.3.9](https://github.com/gisaia/ARLAS-WUI/tree/v24.3.9) (2024-07-01) + +[Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v25.0.1-beta.4...v24.3.9) + ## [v25.0.1-beta.4](https://github.com/gisaia/ARLAS-WUI/tree/v25.0.1-beta.4) (2024-06-26) [Full Changelog](https://github.com/gisaia/ARLAS-WUI/compare/v25.0.1-beta.3...v25.0.1-beta.4) diff --git a/LICENCE.txt b/LICENCE.txt deleted file mode 100644 index 3082d664..00000000 --- a/LICENCE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2017 and onwards Gisaïa - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..d6392b4e --- /dev/null +++ b/LICENSE @@ -0,0 +1,16 @@ +Licensed to Gisaïa under one or more contributor +license agreements. See the NOTICE.txt file distributed with +this work for additional information regarding copyright +ownership. Gisaïa licenses this file to you under +the Apache License, Version 2.0 (the "License"); you may +not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. \ No newline at end of file diff --git a/angular.json b/angular.json index bd0e07e8..7767dbe6 100644 --- a/angular.json +++ b/angular.json @@ -98,6 +98,46 @@ "output": "/assets/rotate/" } ] + }, + "production-no-analytics": { + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "index": { + "input": "src/index-without-analytics.html", + "output": "index.html" + }, + "fileReplacements": [ + { + "src": "src/environments/environment.ts", + "replaceWith": "src/environments/environment.prod.ts" + } + ], + "assets": [ + { + "input": "src/environments/prod/", + "output": "/", + "glob": "*.yaml" + }, + "src/assets", + "src/silent-refresh.html", + "src/favicon.ico", + { + "glob": "**/*", + "input": "./node_modules/arlas-web-components/assets/resize", + "output": "/assets/resize/" + }, + { + "glob": "**/*", + "input": "./node_modules/arlas-web-components/assets/rotate", + "output": "/assets/rotate/" + } + ] } } }, @@ -112,6 +152,9 @@ }, "production": { "browserTarget": "arlas-wui:build:production" + }, + "production-no-analytics": { + "browserTarget": "arlas-wui:build:production-no-analytics" } }, "defaultConfiguration": "development" diff --git a/docker/Dockerfile-production b/docker/Dockerfile-production new file mode 100644 index 00000000..a694a2e4 --- /dev/null +++ b/docker/Dockerfile-production @@ -0,0 +1,48 @@ +### STAGE 1: Build ### + +# We label our stage as 'builder' +FROM node:16.19.0 as builder + +COPY ./package.json ./ +COPY ./package-lock.json ./ + +RUN npm set progress=false && npm config set depth 0 && npm cache clean --force + +## Storing node modules on a separate layer will prevent unnecessary npm installs at each build +RUN export NODE_OPTIONS=--max_old_space_size=8192 && npm i && mkdir /ng-app && cp -R ./node_modules ./ng-app + +COPY ./scripts/start.sh ./ng-app +COPY ./scripts/fetch-conf-by-http.sh ./ng-app + +WORKDIR /ng-app + +COPY . . + +## Build the angular app in production mode and store the artifacts in dist folder +RUN export NODE_OPTIONS=--max_old_space_size=8192 && $(npm bin)/ng build --configuration production --aot --base-href='$ARLAS_WUI_BASE_HREF/' + +### STAGE 2: Setup ### + +FROM nginx:1.25.3-alpine3.18-slim +ARG version="latest" + +LABEL io.arlas.wui.version=${version} +LABEL vendor="Gisaïa" +LABEL description="This container build and serve the ARLAS-wui app" + +RUN apk add --update bash jq netcat-openbsd curl && rm -rf /var/cache/apk/* + +## Copy our default nginx config +COPY nginx/default.conf /etc/nginx/conf.d/ + +## Remove default nginx website +RUN rm -rf /usr/share/nginx/html/* + +## From 'builder' stage copy over the artifacts in dist folder to default nginx public folder +COPY --from=builder /ng-app/dist /usr/share/nginx/html +COPY --from=builder /ng-app/start.sh /usr/share/nginx/ +COPY --from=builder /ng-app/fetch-conf-by-http.sh /usr/share/nginx/ + +HEALTHCHECK CMD curl --fail http://localhost:80/ || exit 1 + +CMD /usr/share/nginx/start.sh diff --git a/docker/Dockerfile-production-no-analytics b/docker/Dockerfile-production-no-analytics new file mode 100644 index 00000000..b8636232 --- /dev/null +++ b/docker/Dockerfile-production-no-analytics @@ -0,0 +1,48 @@ +### STAGE 1: Build ### + +# We label our stage as 'builder' +FROM node:16.19.0 as builder + +COPY ./package.json ./ +COPY ./package-lock.json ./ + +RUN npm set progress=false && npm config set depth 0 && npm cache clean --force + +## Storing node modules on a separate layer will prevent unnecessary npm installs at each build +RUN export NODE_OPTIONS=--max_old_space_size=8192 && npm i && mkdir /ng-app && cp -R ./node_modules ./ng-app + +COPY ./scripts/start.sh ./ng-app +COPY ./scripts/fetch-conf-by-http.sh ./ng-app + +WORKDIR /ng-app + +COPY . . + +## Build the angular app in production mode and store the artifacts in dist folder +RUN export NODE_OPTIONS=--max_old_space_size=8192 && $(npm bin)/ng build --configuration production-no-analytics --aot --base-href='$ARLAS_WUI_BASE_HREF/' + +### STAGE 2: Setup ### + +FROM nginx:1.25.3-alpine3.18-slim +ARG version="latest" + +LABEL io.arlas.wui.version=${version} +LABEL vendor="Gisaïa" +LABEL description="This container build and serve the ARLAS-wui app" + +RUN apk add --update bash jq netcat-openbsd curl && rm -rf /var/cache/apk/* + +## Copy our default nginx config +COPY nginx/default.conf /etc/nginx/conf.d/ + +## Remove default nginx website +RUN rm -rf /usr/share/nginx/html/* + +## From 'builder' stage copy over the artifacts in dist folder to default nginx public folder +COPY --from=builder /ng-app/dist /usr/share/nginx/html +COPY --from=builder /ng-app/start.sh /usr/share/nginx/ +COPY --from=builder /ng-app/fetch-conf-by-http.sh /usr/share/nginx/ + +HEALTHCHECK CMD curl --fail http://localhost:80/ || exit 1 + +CMD /usr/share/nginx/start.sh diff --git a/license-check-and-add.json b/license-check-and-add.json new file mode 100644 index 00000000..da4b4ea5 --- /dev/null +++ b/license-check-and-add.json @@ -0,0 +1,14 @@ +{ + "ignore": [".github/**", ".git/**", "e2e/**", "*", "**/*.sh", "*.yml", "**/*.yaml", "**/*.conf", "**/*.md", "**/*.svg", "**/*.spec.ts", "**/*.html", "**/*.woff2", "src/test.ts", "**/.DS_Store", "**/.gitkeep", "patches/*", "**/*.xml", "**/*.csv", "docker/*"], + "license": "LICENSE", + "trailingWhitespace": "TRIM", + "licenseFormats": { + "ts|js|css|scss": { + "prepend": "/*", + "append": " */", + "eachLine": { + "prepend": " * " + } + } + } +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e94377fa..fcfad173 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,17 @@ { "name": "arlas-wui", - "version": "25.0.1-beta.4", + "version": "26.0.7", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "arlas-wui", - "version": "25.0.1-beta.4", + "version": "26.0.7", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@ngx-translate/core": "14.0.0", - "arlas-wui-toolkit": "~25.0.3", + "arlas-wui-toolkit": "~26.0.8", "hammerjs": "^2.0.8", "ng-packagr": "^14.2.2", "ngx-markdown": "14.0.1", @@ -44,6 +44,7 @@ "karma-chrome-launcher": "~3.1.0", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "~1.7.0", + "license-check-and-add": "^4.0.5", "node": "^16.3.0", "protractor": "~7.0.0", "ts-node": "~10.4.0", @@ -3762,6 +3763,17 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/area/node_modules/@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "dependencies": { + "@turf/helpers": "^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", @@ -3775,9 +3787,36 @@ } }, "node_modules/@turf/bbox-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/bbox-polygon/-/bbox-polygon-7.1.0.tgz", + "integrity": "sha512-fvZB09ErCZOVlWVDop836hmpKaGUmfXnR9naMhS73A/8nn4M3hELbQtMv2R8gXj7UakXCuxS/i9erdpDFZ2O+g==", + "peer": true, + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/bbox-polygon/node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/bbox/node_modules/@turf/meta": { "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/bbox-polygon/-/bbox-polygon-6.5.0.tgz", - "integrity": "sha512-+/r0NyL1lOG3zKZmmf6L8ommU07HliP4dgYToMoTxqzsWzyLjaj/OzgQ8rBmv703WJX+aS6yCmLuIhYqyufyuw==", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", "dependencies": { "@turf/helpers": "^6.5.0" }, @@ -3797,6 +3836,17 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/bearing/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==", + "dependencies": { + "@turf/helpers": "^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", @@ -3812,7 +3862,7 @@ "url": "https://opencollective.com/turf" } }, - "node_modules/@turf/boolean-point-in-polygon": { + "node_modules/@turf/boolean-contains/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==", @@ -3824,6 +3874,106 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/boolean-contains/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==", + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-disjoint": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/boolean-disjoint/-/boolean-disjoint-7.1.0.tgz", + "integrity": "sha512-JapOG03kOCoGeYMWgTQjEifhr1nUoK4Os2cX0iC5X9kvZF4qCHeruX8/rffBQDx7PDKQKusSTXq8B1ISFi0hOw==", + "peer": true, + "dependencies": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/polygon-to-line": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-disjoint/node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-intersects": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/boolean-intersects/-/boolean-intersects-7.1.0.tgz", + "integrity": "sha512-gpksWbb0RT+Z3nfqRfoACY3KEFyv2BPaxJ3L76PH67DhHZviq3Nfg85KYbpuhS64FSm+9tXe4IaKn6EjbHo20g==", + "peer": true, + "dependencies": { + "@turf/boolean-disjoint": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-intersects/node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-point-in-polygon": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-7.1.0.tgz", + "integrity": "sha512-mprVsyIQ+ijWTZwbnO4Jhxu94ZW2M2CheqLiRTsGJy0Ooay9v6Av5/Nl3/Gst7ZVXxPqMeMaFYkSzcTc87AKew==", + "peer": true, + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "point-in-polygon-hao": "^1.1.0", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-point-in-polygon/node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, "node_modules/@turf/boolean-point-on-line": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@turf/boolean-point-on-line/-/boolean-point-on-line-6.5.0.tgz", @@ -3836,6 +3986,17 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/boolean-point-on-line/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==", + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, "node_modules/@turf/center": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@turf/center/-/center-6.5.0.tgz", @@ -3860,6 +4021,17 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/centroid/node_modules/@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "dependencies": { + "@turf/helpers": "^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", @@ -3872,6 +4044,32 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/clean-coords": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/clean-coords/-/clean-coords-7.1.0.tgz", + "integrity": "sha512-q1U8UbRVL5cRdwOlNjD8mad8pWjFGe0s4ihg1pSiVNq7i47WASJ3k20yZiUFvuAkyNjV0rZ/A7Jd7WzjcierFg==", + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/clean-coords/node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "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", @@ -3895,6 +4093,17 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/destination/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==", + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "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", @@ -3907,6 +4116,17 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/distance/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==", + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, "node_modules/@turf/helpers": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz", @@ -3916,11 +4136,25 @@ } }, "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==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-7.1.0.tgz", + "integrity": "sha512-OCLNqkItBYIP1nE9lJGuIUatWGtQ4rhBKAyTfFu0z8npVzGEYzvguEeof8/6LkKmTTEHW53tCjoEhSSzdRh08Q==", "dependencies": { - "@turf/helpers": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/invariant/node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" }, "funding": { "url": "https://opencollective.com/turf" @@ -3939,7 +4173,7 @@ "url": "https://opencollective.com/turf" } }, - "node_modules/@turf/meta": { + "node_modules/@turf/length/node_modules/@turf/meta": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", @@ -3950,6 +4184,60 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/line-intersect": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/line-intersect/-/line-intersect-7.1.0.tgz", + "integrity": "sha512-JI3dvOsAoCqd4vUJ134FIzgcC42QpC/tBs+b4OJoxWmwDek3REv4qGaZY6wCg9X4hFSlCKFcnhMIQQZ/n720Qg==", + "peer": true, + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "sweepline-intersections": "^1.5.0", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/line-intersect/node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/meta": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.1.0.tgz", + "integrity": "sha512-ZgGpWWiKz797Fe8lfRj7HKCkGR+nSJ/5aKXMyofCvLSc2PuYJs/qyyifDPWjASQQCzseJ7AlF2Pc/XQ/3XkkuA==", + "peer": true, + "dependencies": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/meta/node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "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", @@ -3964,6 +4252,34 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/polygon-to-line": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/polygon-to-line/-/polygon-to-line-7.1.0.tgz", + "integrity": "sha512-FBlfyBWNQZCTVGqlJH7LR2VXmvj8AydxrA8zegqek/5oPGtQDeUgIppKmvmuNClqbglhv59QtCUVaDK4bOuCTA==", + "peer": true, + "dependencies": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/polygon-to-line/node_modules/@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "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", @@ -3976,6 +4292,17 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/rhumb-bearing/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==", + "dependencies": { + "@turf/helpers": "^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", @@ -3988,6 +4315,17 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/rhumb-destination/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==", + "dependencies": { + "@turf/helpers": "^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", @@ -4000,6 +4338,17 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/rhumb-distance/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==", + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, "node_modules/@turf/transform-rotate": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@turf/transform-rotate/-/transform-rotate-6.5.0.tgz", @@ -4018,6 +4367,28 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/transform-rotate/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==", + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/transform-rotate/node_modules/@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, "node_modules/@types/body-parser": { "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", @@ -4221,6 +4592,16 @@ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, "node_modules/@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", @@ -4281,6 +4662,12 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "dev": true }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, "node_modules/@types/node": { "version": "16.11.20", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.20.tgz", @@ -5439,18 +5826,18 @@ } }, "node_modules/arlas-api": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/arlas-api/-/arlas-api-25.0.0.tgz", - "integrity": "sha512-GbRDO/7279i20DtGv8XO8VTakICsJrwPNk6FtGzmchkgNwmlXTk1RxrH7/X1z9hqbZ0VjfoFdzdfMCviNr24Xw==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-api/-/arlas-api-26.0.0.tgz", + "integrity": "sha512-K9qsMS2WPvuGV1vGFs4h/hEjK5rIj9bbSv6hMA6AkJ/ThzuCghXuoWXMk0llFyNpYg3F7VSZMlE1jAzPEpyQwA==", "dependencies": { "isomorphic-fetch": "3.0.0", "url": "0.11.0" } }, "node_modules/arlas-d3": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/arlas-d3/-/arlas-d3-11.1.1.tgz", - "integrity": "sha512-GzCta0gGJeOB6o4QiyxY5wNvAPLRPppXcwolK1ZmAVk5oh9hoCQqR2frJ+0f7Zz2DXmW0S9Rt/m7rL8FecGS9Q==", + "version": "11.2.5", + "resolved": "https://registry.npmjs.org/arlas-d3/-/arlas-d3-11.2.5.tgz", + "integrity": "sha512-qoHcTJ/nWPwZ5mNAu1VccyXjfqoI8diSXQGuAaVU18T5stceMlWewAWsUBnJbk/j4LIrIO/tIVT5BvaY+RV4zQ==", "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-axis": "^3.0.1", @@ -5481,9 +5868,9 @@ } }, "node_modules/arlas-iam-api": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/arlas-iam-api/-/arlas-iam-api-25.0.0.tgz", - "integrity": "sha512-N01YAyfS/mB0Qbh9txUfcYWjjLUC89p80f4Hw6lFguCs2fbMlxE1HhX18HfLzlfwkDYc5OSrZlJRgt1moS+FWQ==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-iam-api/-/arlas-iam-api-26.0.0.tgz", + "integrity": "sha512-R2W4Eq48UcrWcmKo7TM+1w8QCmu/eF+5061Zx8a6VTm8kgxaqQrfEXG+pM/uz5k60KHryRPXIf3ZnaQdsG41aA==", "dependencies": { "es6-promise": "4.2.4", "isomorphic-fetch": "3.0.0", @@ -5491,36 +5878,36 @@ } }, "node_modules/arlas-permissions-api": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/arlas-permissions-api/-/arlas-permissions-api-25.0.0.tgz", - "integrity": "sha512-4IXW1ttu4m0hHOJfaap91hG6/bQXbJHZZBfXRJo63KQ5pBbuT2LQQ33t4UY2dP+M99TkoD1CCXmgh/vBnndLWg==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-permissions-api/-/arlas-permissions-api-26.0.0.tgz", + "integrity": "sha512-Z5OQe/te5JTIgXqb7VGI+GFJeVLb1jdSU+EsLCkx+Cg6HjVSKzFQZEMFrycgLj+mwuX3R621mzvSb7AXawk2Ag==", "dependencies": { "isomorphic-fetch": "3.0.0", "url": "0.11.0" } }, "node_modules/arlas-persistence-api": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/arlas-persistence-api/-/arlas-persistence-api-25.0.0.tgz", - "integrity": "sha512-Q8dI0hDSqSfpvg2pMG+ViDUSWY1NF69yvjbIVb4q7hxt6t04NPO91o4BnoARQ+Znhe2XMGD/5RRvfEQ6Amc7gQ==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-persistence-api/-/arlas-persistence-api-26.0.0.tgz", + "integrity": "sha512-DkiTEdRZO+/M0io1PdB/mL+vrsFMtvhfiJkUY77MmVx8jLyFn+AqtB4vAqaRqrxmAMTErX+1aWdTUfF/2jzT/w==", "dependencies": { "isomorphic-fetch": "3.0.0", "url": "0.11.0" } }, "node_modules/arlas-tagger-api": { - "version": "25.0.0-beta.2", - "resolved": "https://registry.npmjs.org/arlas-tagger-api/-/arlas-tagger-api-25.0.0-beta.2.tgz", - "integrity": "sha512-DA+CvuNPDrA+XM1EE7kCwHY4wY3Vtdh8MAgIjocztZ2D2Hfr3j/7XM/1PI1CxjrMP80LnINKpGBUDK2rdn1SYw==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-tagger-api/-/arlas-tagger-api-26.0.0.tgz", + "integrity": "sha512-Z03PXuaCMrRzMJyog99d6v3xUxpuhmJGziqfC7Oa7nEC9fAXld8jcmeqRMwiqwCDLz2qjJB0+37TPGzJoJz53w==", "dependencies": { "isomorphic-fetch": "3.0.0", "url": "0.11.0" } }, "node_modules/arlas-web-components": { - "version": "25.0.2", - "resolved": "https://registry.npmjs.org/arlas-web-components/-/arlas-web-components-25.0.2.tgz", - "integrity": "sha512-+XBPvftKKHvB3P8qVPFhTtLMxe1nRy0KrcD6QrIpyBGF5Ir6YtPRb63FgCp3GV8iugWOqm10EXVT7jlxG2cI5g==", + "version": "26.0.5", + "resolved": "https://registry.npmjs.org/arlas-web-components/-/arlas-web-components-26.0.5.tgz", + "integrity": "sha512-ZrWmYp25TgeZYokcQMtNmDv7ZRz/XWiTWDIwun/k41YPj32Klma9sJQK3sUoqGSNNY8tfu4YDa/Wbw+6NwpZhg==", "dependencies": { "@mapbox/mapbox-gl-draw": "^1.4.3", "@mapbox/mapbox-gl-draw-static-mode": "^1.0.1", @@ -5530,6 +5917,7 @@ "@turf/center": "^6.5.0", "@turf/centroid": "^6.5.0", "@turf/circle": "^6.5.0", + "@turf/clean-coords": "^7.0.0", "@turf/helpers": "^6.5.0", "@turf/length": "^6.5.0", "@turf/midpoint": "^6.5.0", @@ -5537,7 +5925,7 @@ "@turf/rhumb-destination": "^6.5.0", "@turf/transform-rotate": "^6.5.0", "@types/mapbox-gl": "^1.6.3", - "arlas-d3": "~11.1.0", + "arlas-d3": "~11.2.5", "geojson-polygon-self-intersections": "1.2.1", "geojson-validation": "0.2.1", "iv-viewer": "~2.0.1", @@ -5575,9 +5963,9 @@ } }, "node_modules/arlas-web-contributors": { - "version": "25.0.2", - "resolved": "https://registry.npmjs.org/arlas-web-contributors/-/arlas-web-contributors-25.0.2.tgz", - "integrity": "sha512-gD9rhlL68xp236FvHjgPkA9b2wSFeRV29tqtnoZqXNB4XiO7GdvcWjBETqUmdqdRtUOypdQeCUG1bEZBHPT+EA==", + "version": "26.0.3", + "resolved": "https://registry.npmjs.org/arlas-web-contributors/-/arlas-web-contributors-26.0.3.tgz", + "integrity": "sha512-16zZvrb5gt2MF6qSUd/2J+T6w6QzYwmjQRz+Ltr7M7y/ULzWx80zztgv0xiNJUD5l+6Ym0hTMq7fV2y/DE+n3w==", "dependencies": { "@turf/bbox": "^6.0.1", "@turf/bbox-polygon": "^6.0.1", @@ -5587,7 +5975,7 @@ "@types/file-saver": "^2.0.1", "@types/jsonpath": "^0.2.0", "@types/tinycolor2": "^1.4.0", - "arlas-web-core": "~25.0.1", + "arlas-web-core": "~26.0.0", "file-saver": "^2.0.2", "jsonpath": "^1.0.0", "moment": "^2.29.4", @@ -5597,19 +5985,41 @@ "wellknown": "^0.5.0" } }, + "node_modules/arlas-web-contributors/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==", + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/arlas-web-contributors/node_modules/@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "dependencies": { + "@turf/helpers": "^6.5.0" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, "node_modules/arlas-web-core": { - "version": "25.0.1", - "resolved": "https://registry.npmjs.org/arlas-web-core/-/arlas-web-core-25.0.1.tgz", - "integrity": "sha512-j4/y1GKNddIm10HgZHjr/NCacEfNjIZYlj8CNkC+fiNW/pFyM15rLJcamWsLNjO+ieXHDLFuCFsXvxOWpcrHrA==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-web-core/-/arlas-web-core-26.0.0.tgz", + "integrity": "sha512-ey5Uk5Zyde2mTI/S//cjY3sNCQdX93mQS8F0yWhJc+NUdNNufMUme60l0aADZXV4hSfxLXzxLt2qZ8vDqxqkAQ==", "dependencies": { - "arlas-api": "25.0.0", + "arlas-api": "26.0.0", "rxjs": "~7.4.0" } }, "node_modules/arlas-wui-toolkit": { - "version": "25.0.3", - "resolved": "https://registry.npmjs.org/arlas-wui-toolkit/-/arlas-wui-toolkit-25.0.3.tgz", - "integrity": "sha512-Dx3cOv/9Gv3Vhj4iVDZy6K6bd3f2otUGdjJZqK/YMqsLEr4DpZdSh956yufWAgdJD99dbGLL+MtBMVzNm1Smvw==", + "version": "26.0.8", + "resolved": "https://registry.npmjs.org/arlas-wui-toolkit/-/arlas-wui-toolkit-26.0.8.tgz", + "integrity": "sha512-VSDfDNWmjSxY8lixgyaqdsdMVXyQl4e/sk+HbVAIW6iLr6CfWIkzWUGNOGslI/9UlI+CqzOH5IDJlkkZmdukNw==", "dependencies": { "@danielmoncada/angular-datetime-picker": "14.2.0", "@danielmoncada/angular-datetime-picker-moment-adapter": "~2.2.0", @@ -5617,12 +6027,12 @@ "ajv-keywords": "5.1.0", "angular-oauth2-oidc": "~14.0.1", "angular-oauth2-oidc-jwks": "~14.0.1", - "arlas-iam-api": "25.0.0", - "arlas-permissions-api": "25.0.0", - "arlas-persistence-api": "25.0.0", - "arlas-tagger-api": "25.0.0-beta.2", - "arlas-web-components": "~25.0.2", - "arlas-web-contributors": "~25.0.2", + "arlas-iam-api": "26.0.0", + "arlas-permissions-api": "26.0.0", + "arlas-persistence-api": "26.0.0", + "arlas-tagger-api": "26.0.0", + "arlas-web-components": "~26.0.5", + "arlas-web-contributors": "~26.0.3", "cli-color": "^1.2.0", "fetch-intercept": "^2.3.1", "hopscotch": "0.3.1", @@ -5647,10 +6057,15 @@ "@gisaia/ngx-translate-extract": "^8.1.0", "@ngx-translate/core": "^14.0.0", "@ngx-translate/http-loader": "^7.0.0", + "@turf/bbox-polygon": "^7.0.0", + "@turf/boolean-intersects": "^7.0.0", + "@turf/clean-coords": "^7.0.0", + "@turf/helpers": "^6.5.0", "core-js": "~3.26.1", "moment": "^2.24.0", "rxjs": "~7.4.0", "stream": "0.0.2", + "wellknown": "0.5.0", "zone.js": "^0.11.4" } }, @@ -6027,9 +6442,9 @@ } }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "dependencies": { "bytes": "3.1.2", @@ -6040,7 +6455,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -8232,9 +8647,9 @@ } }, "node_modules/dompurify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.3.tgz", - "integrity": "sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ==" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.6.tgz", + "integrity": "sha512-zUTaUBO8pY4+iJMPE1B9XlO2tXVYIcEA4SNGtvDELzTSCQO7RzH+j7S180BmhmJId78lqGU2z19vgVx2Sxs/PQ==" }, "node_modules/domutils": { "version": "2.8.0", @@ -8338,9 +8753,9 @@ } }, "node_modules/engine.io": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", - "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.1.tgz", + "integrity": "sha512-NEpDCw9hrvBW+hVEOK4T7v0jFJ++KgtPl4jKFwsZVfG1XhS0dCrSb3VMb9gPAd7VAdW52VT1EnaNiU2vM8C0og==", "dev": true, "dependencies": { "@types/cookie": "^0.4.1", @@ -8359,9 +8774,9 @@ } }, "node_modules/engine.io-parser": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", - "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", "dev": true, "engines": { "node": ">=10.0.0" @@ -9533,37 +9948,37 @@ "dev": true }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -9592,14 +10007,23 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -10223,6 +10647,15 @@ "safe-buffer": "^5.2.1" } }, + "node_modules/gitignore-to-glob": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/gitignore-to-glob/-/gitignore-to-glob-0.3.0.tgz", + "integrity": "sha512-mk74BdnK7lIwDHnotHddx1wsjMOFIThpLY3cPNniJ/2fA/tlLzHnFxIdR+4sLOu5KGgQJdij4kjJ2RoUNnCNMA==", + "dev": true, + "engines": { + "node": ">=4.4 <5 || >=6.9" + } + }, "node_modules/gl-matrix": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", @@ -12296,83 +12729,348 @@ "integrity": "sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw==", "dev": true, "dependencies": { - "klona": "^2.0.4" + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/license-check-and-add": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/license-check-and-add/-/license-check-and-add-4.0.5.tgz", + "integrity": "sha512-FySnMi3Kf/vO5jka8tcbVF1FhDFb8PWsQ8pg5Y7U/zkQgta+fIrJGcGHO58WFjfKlgvhneG1uQ00Fpxzhau3QA==", + "dev": true, + "dependencies": { + "fs-extra": "^8.1.0", + "gitignore-to-glob": "^0.3.0", + "globby": "^10.0.1", + "ignore": "^5.1.2", + "yargs": "^13.3.0" + }, + "bin": { + "license-check-and-add": "dist/src/cli.js" + } + }, + "node_modules/license-check-and-add/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/license-check-and-add/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/license-check-and-add/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/license-check-and-add/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/license-check-and-add/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/license-check-and-add/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/license-check-and-add/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/license-check-and-add/node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/license-check-and-add/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/license-check-and-add/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/license-check-and-add/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/license-check-and-add/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" + "node": "*" } }, - "node_modules/less/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "optional": true, + "node_modules/license-check-and-add/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "p-limit": "^2.0.0" }, "engines": { "node": ">=6" } }, - "node_modules/less/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "optional": true, - "bin": { - "mime": "cli.js" - }, + "node_modules/license-check-and-add/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, "engines": { "node": ">=4" } }, - "node_modules/less/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "optional": true, + "node_modules/license-check-and-add/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, "engines": { "node": ">=6" } }, - "node_modules/less/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "optional": true, - "bin": { - "semver": "bin/semver" + "node_modules/license-check-and-add/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, + "node_modules/license-check-and-add/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 4.0.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/license-check-and-add/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6" + } + }, + "node_modules/license-check-and-add/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/license-check-and-add/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/license-check-and-add/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, "node_modules/license-webpack-plugin": { @@ -12733,10 +13431,13 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -12803,11 +13504,11 @@ "integrity": "sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==" }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -14431,9 +15132,9 @@ } }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", "dev": true }, "node_modules/path-type": { @@ -14446,9 +15147,9 @@ } }, "node_modules/pbf": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", - "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", "dependencies": { "ieee754": "^1.1.12", "resolve-protobuf-schema": "^2.1.0" @@ -14542,6 +15243,12 @@ "fflate": "^0.8.0" } }, + "node_modules/point-in-polygon-hao": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/point-in-polygon-hao/-/point-in-polygon-hao-1.1.0.tgz", + "integrity": "sha512-3hTIM2j/v9Lio+wOyur3kckD4NxruZhpowUbEgmyikW+a2Kppjtu1eN+AhnMQtoHW46zld88JiYWv6fxpsDrTQ==", + "peer": true + }, "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", @@ -15301,9 +16008,9 @@ "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==" }, "node_modules/proj4": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.11.0.tgz", - "integrity": "sha512-SasuTkAx8HnWQHfIyhkdUNJorSJqINHAN3EyMWYiQRVorftz9DHz650YraFgczwgtHOxqnfuDxSNv3C8MUnHeg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.12.1.tgz", + "integrity": "sha512-vmhP3hmstjXjzFwg8QXJwpoj4n7GVrXk3ZW3DzNK/Ur4cuwXq7ZiMXaWYvLYLQbX8n4MXgbwTr4lthOUZltBpA==", "dependencies": { "mgrs": "1.0.0", "wkt-parser": "^1.3.3" @@ -15733,12 +16440,12 @@ } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -16268,9 +16975,9 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "bin": { "rollup": "dist/bin/rollup" }, @@ -16667,9 +17374,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "dependencies": { "debug": "2.6.9", @@ -16811,20 +17518,29 @@ "dev": true }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" } }, + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -16967,16 +17683,16 @@ } }, "node_modules/socket.io": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz", - "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", + "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", "dev": true, "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.5.2", + "engine.io": "~6.6.0", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" }, @@ -17596,6 +18312,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sweepline-intersections": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sweepline-intersections/-/sweepline-intersections-1.5.0.tgz", + "integrity": "sha512-AoVmx72QHpKtItPu72TzFL+kcYjd67BPLDoR0LarIk+xyaRg+pDTMFXndIEvZf9xEKnJv6JdhgRMnocoG0D3AQ==", + "peer": true, + "dependencies": { + "tinyqueue": "^2.0.0" + } + }, "node_modules/symbol-observable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", @@ -22090,6 +22815,16 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/meta": "^6.5.0" + }, + "dependencies": { + "@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@turf/bbox": { @@ -22099,14 +22834,39 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/meta": "^6.5.0" + }, + "dependencies": { + "@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@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==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/bbox-polygon/-/bbox-polygon-7.1.0.tgz", + "integrity": "sha512-fvZB09ErCZOVlWVDop836hmpKaGUmfXnR9naMhS73A/8nn4M3hELbQtMv2R8gXj7UakXCuxS/i9erdpDFZ2O+g==", + "peer": true, "requires": { - "@turf/helpers": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + } + } } }, "@turf/bearing": { @@ -22116,6 +22876,16 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@turf/boolean-contains": { @@ -22128,15 +22898,102 @@ "@turf/boolean-point-on-line": "^6.5.0", "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" + } + }, + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } + } + }, + "@turf/boolean-disjoint": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/boolean-disjoint/-/boolean-disjoint-7.1.0.tgz", + "integrity": "sha512-JapOG03kOCoGeYMWgTQjEifhr1nUoK4Os2cX0iC5X9kvZF4qCHeruX8/rffBQDx7PDKQKusSTXq8B1ISFi0hOw==", + "peer": true, + "requires": { + "@turf/boolean-point-in-polygon": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/line-intersect": "^7.1.0", + "@turf/meta": "^7.1.0", + "@turf/polygon-to-line": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + } + } + } + }, + "@turf/boolean-intersects": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/boolean-intersects/-/boolean-intersects-7.1.0.tgz", + "integrity": "sha512-gpksWbb0RT+Z3nfqRfoACY3KEFyv2BPaxJ3L76PH67DhHZviq3Nfg85KYbpuhS64FSm+9tXe4IaKn6EjbHo20g==", + "peer": true, + "requires": { + "@turf/boolean-disjoint": "^7.1.0", + "@turf/helpers": "^7.1.0", + "@turf/meta": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + } + } } }, "@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==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-7.1.0.tgz", + "integrity": "sha512-mprVsyIQ+ijWTZwbnO4Jhxu94ZW2M2CheqLiRTsGJy0Ooay9v6Av5/Nl3/Gst7ZVXxPqMeMaFYkSzcTc87AKew==", + "peer": true, "requires": { - "@turf/helpers": "^6.5.0", - "@turf/invariant": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "point-in-polygon-hao": "^1.1.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + } + } } }, "@turf/boolean-point-on-line": { @@ -22146,6 +23003,16 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@turf/center": { @@ -22164,6 +23031,16 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/meta": "^6.5.0" + }, + "dependencies": { + "@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@turf/circle": { @@ -22175,6 +23052,28 @@ "@turf/helpers": "^6.5.0" } }, + "@turf/clean-coords": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/clean-coords/-/clean-coords-7.1.0.tgz", + "integrity": "sha512-q1U8UbRVL5cRdwOlNjD8mad8pWjFGe0s4ihg1pSiVNq7i47WASJ3k20yZiUFvuAkyNjV0rZ/A7Jd7WzjcierFg==", + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + } + } + } + }, "@turf/clone": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-6.5.0.tgz", @@ -22190,6 +23089,16 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@turf/distance": { @@ -22199,6 +23108,16 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@turf/helpers": { @@ -22207,11 +23126,24 @@ "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==" }, "@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==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-7.1.0.tgz", + "integrity": "sha512-OCLNqkItBYIP1nE9lJGuIUatWGtQ4rhBKAyTfFu0z8npVzGEYzvguEeof8/6LkKmTTEHW53tCjoEhSSzdRh08Q==", "requires": { - "@turf/helpers": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + } + } } }, "@turf/length": { @@ -22222,14 +23154,62 @@ "@turf/distance": "^6.5.0", "@turf/helpers": "^6.5.0", "@turf/meta": "^6.5.0" + }, + "dependencies": { + "@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } + } + }, + "@turf/line-intersect": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/line-intersect/-/line-intersect-7.1.0.tgz", + "integrity": "sha512-JI3dvOsAoCqd4vUJ134FIzgcC42QpC/tBs+b4OJoxWmwDek3REv4qGaZY6wCg9X4hFSlCKFcnhMIQQZ/n720Qg==", + "peer": true, + "requires": { + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10", + "sweepline-intersections": "^1.5.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + } + } } }, "@turf/meta": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", - "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.1.0.tgz", + "integrity": "sha512-ZgGpWWiKz797Fe8lfRj7HKCkGR+nSJ/5aKXMyofCvLSc2PuYJs/qyyifDPWjASQQCzseJ7AlF2Pc/XQ/3XkkuA==", + "peer": true, "requires": { - "@turf/helpers": "^6.5.0" + "@turf/helpers": "^7.1.0", + "@types/geojson": "^7946.0.10" + }, + "dependencies": { + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + } + } } }, "@turf/midpoint": { @@ -22243,6 +23223,30 @@ "@turf/helpers": "^6.5.0" } }, + "@turf/polygon-to-line": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/polygon-to-line/-/polygon-to-line-7.1.0.tgz", + "integrity": "sha512-FBlfyBWNQZCTVGqlJH7LR2VXmvj8AydxrA8zegqek/5oPGtQDeUgIppKmvmuNClqbglhv59QtCUVaDK4bOuCTA==", + "peer": true, + "requires": { + "@turf/helpers": "^7.1.0", + "@turf/invariant": "^7.1.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + }, + "dependencies": { + "@turf/helpers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", + "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "peer": true, + "requires": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.6.2" + } + } + } + }, "@turf/rhumb-bearing": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@turf/rhumb-bearing/-/rhumb-bearing-6.5.0.tgz", @@ -22250,6 +23254,16 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@turf/rhumb-destination": { @@ -22259,6 +23273,16 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@turf/rhumb-distance": { @@ -22268,6 +23292,16 @@ "requires": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@turf/transform-rotate": { @@ -22283,6 +23317,24 @@ "@turf/rhumb-bearing": "^6.5.0", "@turf/rhumb-destination": "^6.5.0", "@turf/rhumb-distance": "^6.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "@types/body-parser": { @@ -22488,6 +23540,16 @@ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, "@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", @@ -22548,6 +23610,12 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "dev": true }, + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, "@types/node": { "version": "16.11.20", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.20.tgz", @@ -23403,18 +24471,18 @@ } }, "arlas-api": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/arlas-api/-/arlas-api-25.0.0.tgz", - "integrity": "sha512-GbRDO/7279i20DtGv8XO8VTakICsJrwPNk6FtGzmchkgNwmlXTk1RxrH7/X1z9hqbZ0VjfoFdzdfMCviNr24Xw==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-api/-/arlas-api-26.0.0.tgz", + "integrity": "sha512-K9qsMS2WPvuGV1vGFs4h/hEjK5rIj9bbSv6hMA6AkJ/ThzuCghXuoWXMk0llFyNpYg3F7VSZMlE1jAzPEpyQwA==", "requires": { "isomorphic-fetch": "3.0.0", "url": "0.11.0" } }, "arlas-d3": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/arlas-d3/-/arlas-d3-11.1.1.tgz", - "integrity": "sha512-GzCta0gGJeOB6o4QiyxY5wNvAPLRPppXcwolK1ZmAVk5oh9hoCQqR2frJ+0f7Zz2DXmW0S9Rt/m7rL8FecGS9Q==", + "version": "11.2.5", + "resolved": "https://registry.npmjs.org/arlas-d3/-/arlas-d3-11.2.5.tgz", + "integrity": "sha512-qoHcTJ/nWPwZ5mNAu1VccyXjfqoI8diSXQGuAaVU18T5stceMlWewAWsUBnJbk/j4LIrIO/tIVT5BvaY+RV4zQ==", "requires": { "@types/d3-array": "^3.0.3", "@types/d3-axis": "^3.0.1", @@ -23445,9 +24513,9 @@ } }, "arlas-iam-api": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/arlas-iam-api/-/arlas-iam-api-25.0.0.tgz", - "integrity": "sha512-N01YAyfS/mB0Qbh9txUfcYWjjLUC89p80f4Hw6lFguCs2fbMlxE1HhX18HfLzlfwkDYc5OSrZlJRgt1moS+FWQ==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-iam-api/-/arlas-iam-api-26.0.0.tgz", + "integrity": "sha512-R2W4Eq48UcrWcmKo7TM+1w8QCmu/eF+5061Zx8a6VTm8kgxaqQrfEXG+pM/uz5k60KHryRPXIf3ZnaQdsG41aA==", "requires": { "es6-promise": "4.2.4", "isomorphic-fetch": "3.0.0", @@ -23455,36 +24523,36 @@ } }, "arlas-permissions-api": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/arlas-permissions-api/-/arlas-permissions-api-25.0.0.tgz", - "integrity": "sha512-4IXW1ttu4m0hHOJfaap91hG6/bQXbJHZZBfXRJo63KQ5pBbuT2LQQ33t4UY2dP+M99TkoD1CCXmgh/vBnndLWg==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-permissions-api/-/arlas-permissions-api-26.0.0.tgz", + "integrity": "sha512-Z5OQe/te5JTIgXqb7VGI+GFJeVLb1jdSU+EsLCkx+Cg6HjVSKzFQZEMFrycgLj+mwuX3R621mzvSb7AXawk2Ag==", "requires": { "isomorphic-fetch": "3.0.0", "url": "0.11.0" } }, "arlas-persistence-api": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/arlas-persistence-api/-/arlas-persistence-api-25.0.0.tgz", - "integrity": "sha512-Q8dI0hDSqSfpvg2pMG+ViDUSWY1NF69yvjbIVb4q7hxt6t04NPO91o4BnoARQ+Znhe2XMGD/5RRvfEQ6Amc7gQ==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-persistence-api/-/arlas-persistence-api-26.0.0.tgz", + "integrity": "sha512-DkiTEdRZO+/M0io1PdB/mL+vrsFMtvhfiJkUY77MmVx8jLyFn+AqtB4vAqaRqrxmAMTErX+1aWdTUfF/2jzT/w==", "requires": { "isomorphic-fetch": "3.0.0", "url": "0.11.0" } }, "arlas-tagger-api": { - "version": "25.0.0-beta.2", - "resolved": "https://registry.npmjs.org/arlas-tagger-api/-/arlas-tagger-api-25.0.0-beta.2.tgz", - "integrity": "sha512-DA+CvuNPDrA+XM1EE7kCwHY4wY3Vtdh8MAgIjocztZ2D2Hfr3j/7XM/1PI1CxjrMP80LnINKpGBUDK2rdn1SYw==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-tagger-api/-/arlas-tagger-api-26.0.0.tgz", + "integrity": "sha512-Z03PXuaCMrRzMJyog99d6v3xUxpuhmJGziqfC7Oa7nEC9fAXld8jcmeqRMwiqwCDLz2qjJB0+37TPGzJoJz53w==", "requires": { "isomorphic-fetch": "3.0.0", "url": "0.11.0" } }, "arlas-web-components": { - "version": "25.0.2", - "resolved": "https://registry.npmjs.org/arlas-web-components/-/arlas-web-components-25.0.2.tgz", - "integrity": "sha512-+XBPvftKKHvB3P8qVPFhTtLMxe1nRy0KrcD6QrIpyBGF5Ir6YtPRb63FgCp3GV8iugWOqm10EXVT7jlxG2cI5g==", + "version": "26.0.5", + "resolved": "https://registry.npmjs.org/arlas-web-components/-/arlas-web-components-26.0.5.tgz", + "integrity": "sha512-ZrWmYp25TgeZYokcQMtNmDv7ZRz/XWiTWDIwun/k41YPj32Klma9sJQK3sUoqGSNNY8tfu4YDa/Wbw+6NwpZhg==", "requires": { "@mapbox/mapbox-gl-draw": "^1.4.3", "@mapbox/mapbox-gl-draw-static-mode": "^1.0.1", @@ -23494,6 +24562,7 @@ "@turf/center": "^6.5.0", "@turf/centroid": "^6.5.0", "@turf/circle": "^6.5.0", + "@turf/clean-coords": "^7.0.0", "@turf/helpers": "^6.5.0", "@turf/length": "^6.5.0", "@turf/midpoint": "^6.5.0", @@ -23501,7 +24570,7 @@ "@turf/rhumb-destination": "^6.5.0", "@turf/transform-rotate": "^6.5.0", "@types/mapbox-gl": "^1.6.3", - "arlas-d3": "~11.1.0", + "arlas-d3": "~11.2.5", "geojson-polygon-self-intersections": "1.2.1", "geojson-validation": "0.2.1", "iv-viewer": "~2.0.1", @@ -23520,9 +24589,9 @@ } }, "arlas-web-contributors": { - "version": "25.0.2", - "resolved": "https://registry.npmjs.org/arlas-web-contributors/-/arlas-web-contributors-25.0.2.tgz", - "integrity": "sha512-gD9rhlL68xp236FvHjgPkA9b2wSFeRV29tqtnoZqXNB4XiO7GdvcWjBETqUmdqdRtUOypdQeCUG1bEZBHPT+EA==", + "version": "26.0.3", + "resolved": "https://registry.npmjs.org/arlas-web-contributors/-/arlas-web-contributors-26.0.3.tgz", + "integrity": "sha512-16zZvrb5gt2MF6qSUd/2J+T6w6QzYwmjQRz+Ltr7M7y/ULzWx80zztgv0xiNJUD5l+6Ym0hTMq7fV2y/DE+n3w==", "requires": { "@turf/bbox": "^6.0.1", "@turf/bbox-polygon": "^6.0.1", @@ -23532,7 +24601,7 @@ "@types/file-saver": "^2.0.1", "@types/jsonpath": "^0.2.0", "@types/tinycolor2": "^1.4.0", - "arlas-web-core": "~25.0.1", + "arlas-web-core": "~26.0.0", "file-saver": "^2.0.2", "jsonpath": "^1.0.0", "moment": "^2.29.4", @@ -23540,21 +24609,39 @@ "rxjs": "~7.4.0", "tinycolor2": "~1.4.1", "wellknown": "^0.5.0" + }, + "dependencies": { + "@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==", + "requires": { + "@turf/helpers": "^6.5.0" + } + }, + "@turf/meta": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "requires": { + "@turf/helpers": "^6.5.0" + } + } } }, "arlas-web-core": { - "version": "25.0.1", - "resolved": "https://registry.npmjs.org/arlas-web-core/-/arlas-web-core-25.0.1.tgz", - "integrity": "sha512-j4/y1GKNddIm10HgZHjr/NCacEfNjIZYlj8CNkC+fiNW/pFyM15rLJcamWsLNjO+ieXHDLFuCFsXvxOWpcrHrA==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/arlas-web-core/-/arlas-web-core-26.0.0.tgz", + "integrity": "sha512-ey5Uk5Zyde2mTI/S//cjY3sNCQdX93mQS8F0yWhJc+NUdNNufMUme60l0aADZXV4hSfxLXzxLt2qZ8vDqxqkAQ==", "requires": { - "arlas-api": "25.0.0", + "arlas-api": "26.0.0", "rxjs": "~7.4.0" } }, "arlas-wui-toolkit": { - "version": "25.0.3", - "resolved": "https://registry.npmjs.org/arlas-wui-toolkit/-/arlas-wui-toolkit-25.0.3.tgz", - "integrity": "sha512-Dx3cOv/9Gv3Vhj4iVDZy6K6bd3f2otUGdjJZqK/YMqsLEr4DpZdSh956yufWAgdJD99dbGLL+MtBMVzNm1Smvw==", + "version": "26.0.8", + "resolved": "https://registry.npmjs.org/arlas-wui-toolkit/-/arlas-wui-toolkit-26.0.8.tgz", + "integrity": "sha512-VSDfDNWmjSxY8lixgyaqdsdMVXyQl4e/sk+HbVAIW6iLr6CfWIkzWUGNOGslI/9UlI+CqzOH5IDJlkkZmdukNw==", "requires": { "@danielmoncada/angular-datetime-picker": "14.2.0", "@danielmoncada/angular-datetime-picker-moment-adapter": "~2.2.0", @@ -23562,12 +24649,12 @@ "ajv-keywords": "5.1.0", "angular-oauth2-oidc": "~14.0.1", "angular-oauth2-oidc-jwks": "~14.0.1", - "arlas-iam-api": "25.0.0", - "arlas-permissions-api": "25.0.0", - "arlas-persistence-api": "25.0.0", - "arlas-tagger-api": "25.0.0-beta.2", - "arlas-web-components": "~25.0.2", - "arlas-web-contributors": "~25.0.2", + "arlas-iam-api": "26.0.0", + "arlas-permissions-api": "26.0.0", + "arlas-persistence-api": "26.0.0", + "arlas-tagger-api": "26.0.0", + "arlas-web-components": "~26.0.5", + "arlas-web-contributors": "~26.0.3", "cli-color": "^1.2.0", "fetch-intercept": "^2.3.1", "hopscotch": "0.3.1", @@ -23837,9 +24924,9 @@ } }, "body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, "requires": { "bytes": "3.1.2", @@ -23850,7 +24937,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -25472,9 +26559,9 @@ } }, "dompurify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.3.tgz", - "integrity": "sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ==" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.6.tgz", + "integrity": "sha512-zUTaUBO8pY4+iJMPE1B9XlO2tXVYIcEA4SNGtvDELzTSCQO7RzH+j7S180BmhmJId78lqGU2z19vgVx2Sxs/PQ==" }, "domutils": { "version": "2.8.0", @@ -25568,9 +26655,9 @@ } }, "engine.io": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", - "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.1.tgz", + "integrity": "sha512-NEpDCw9hrvBW+hVEOK4T7v0jFJ++KgtPl4jKFwsZVfG1XhS0dCrSb3VMb9gPAd7VAdW52VT1EnaNiU2vM8C0og==", "dev": true, "requires": { "@types/cookie": "^0.4.1", @@ -25586,9 +26673,9 @@ } }, "engine.io-parser": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", - "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", "dev": true }, "enhanced-resolve": { @@ -26357,37 +27444,37 @@ "dev": true }, "express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -26410,14 +27497,20 @@ "ms": "2.0.0" } }, + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true + }, "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -26900,6 +27993,12 @@ "safe-buffer": "^5.2.1" } }, + "gitignore-to-glob": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/gitignore-to-glob/-/gitignore-to-glob-0.3.0.tgz", + "integrity": "sha512-mk74BdnK7lIwDHnotHddx1wsjMOFIThpLY3cPNniJ/2fA/tlLzHnFxIdR+4sLOu5KGgQJdij4kjJ2RoUNnCNMA==", + "dev": true + }, "gl-matrix": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", @@ -28516,6 +29615,224 @@ "type-check": "~0.4.0" } }, + "license-check-and-add": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/license-check-and-add/-/license-check-and-add-4.0.5.tgz", + "integrity": "sha512-FySnMi3Kf/vO5jka8tcbVF1FhDFb8PWsQ8pg5Y7U/zkQgta+fIrJGcGHO58WFjfKlgvhneG1uQ00Fpxzhau3QA==", + "dev": true, + "requires": { + "fs-extra": "^8.1.0", + "gitignore-to-glob": "^0.3.0", + "globby": "^10.0.1", + "ignore": "^5.1.2", + "yargs": "^13.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "license-webpack-plugin": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", @@ -28802,9 +30119,9 @@ } }, "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true }, "merge-stream": { @@ -28831,7 +30148,7 @@ "d3": "^7.4.0", "dagre-d3-es": "7.0.9", "dayjs": "^1.11.7", - "dompurify": "2.4.3", + "dompurify": "2.5.6", "elkjs": "^0.8.2", "khroma": "^2.0.0", "lodash-es": "^4.17.21", @@ -28861,11 +30178,11 @@ "integrity": "sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==" }, "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "requires": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" } }, @@ -30073,9 +31390,9 @@ } }, "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", "dev": true }, "path-type": { @@ -30085,9 +31402,9 @@ "dev": true }, "pbf": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", - "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", "requires": { "ieee754": "^1.1.12", "resolve-protobuf-schema": "^2.1.0" @@ -30158,6 +31475,12 @@ "fflate": "^0.8.0" } }, + "point-in-polygon-hao": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/point-in-polygon-hao/-/point-in-polygon-hao-1.1.0.tgz", + "integrity": "sha512-3hTIM2j/v9Lio+wOyur3kckD4NxruZhpowUbEgmyikW+a2Kppjtu1eN+AhnMQtoHW46zld88JiYWv6fxpsDrTQ==", + "peer": true + }, "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", @@ -30587,9 +31910,9 @@ "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==" }, "proj4": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.11.0.tgz", - "integrity": "sha512-SasuTkAx8HnWQHfIyhkdUNJorSJqINHAN3EyMWYiQRVorftz9DHz650YraFgczwgtHOxqnfuDxSNv3C8MUnHeg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.12.1.tgz", + "integrity": "sha512-vmhP3hmstjXjzFwg8QXJwpoj4n7GVrXk3ZW3DzNK/Ur4cuwXq7ZiMXaWYvLYLQbX8n4MXgbwTr4lthOUZltBpA==", "requires": { "mgrs": "1.0.0", "wkt-parser": "^1.3.3" @@ -30936,12 +32259,12 @@ "dev": true }, "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "requires": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" } }, "querystring": { @@ -31353,9 +32676,9 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "requires": { "fsevents": "~2.3.2" } @@ -31627,9 +32950,9 @@ } }, "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "requires": { "debug": "2.6.9", @@ -31756,15 +33079,23 @@ } }, "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "requires": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" + }, + "dependencies": { + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true + } } }, "set-blocking": { @@ -31883,16 +33214,16 @@ "dev": true }, "socket.io": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz", - "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", + "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", "dev": true, "requires": { "accepts": "~1.3.4", "base64id": "~2.0.0", "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.5.2", + "engine.io": "~6.6.0", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" } @@ -32376,6 +33707,15 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, + "sweepline-intersections": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sweepline-intersections/-/sweepline-intersections-1.5.0.tgz", + "integrity": "sha512-AoVmx72QHpKtItPu72TzFL+kcYjd67BPLDoR0LarIk+xyaRg+pDTMFXndIEvZf9xEKnJv6JdhgRMnocoG0D3AQ==", + "peer": true, + "requires": { + "tinyqueue": "^2.0.0" + } + }, "symbol-observable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", diff --git a/package.json b/package.json index 5af141eb..4a24b21b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arlas-wui", - "version": "25.0.1-beta.4", + "version": "26.0.7", "author": "gisaia", "license": "Apache-2.0", "scripts": { @@ -13,7 +13,8 @@ "lint": "ng lint", "e2e": "ng e2e", "i18n:init": "ngx-translate-extract --input ./src --output ./src/assets/i18n/template.json --key-as-default-value --replace --format json", - "i18n:extract": "ngx-translate-extract --input ./src --output ./src/assets/i18n/{en,fr,es}.json --format json" + "i18n:extract": "ngx-translate-extract --input ./src --output ./src/assets/i18n/{en,fr,es}.json --format json", + "license-check": "license-check-and-add check -f license-check-and-add.json" }, "peerDependencies": { "@angular/animations": "^14.2.12", @@ -31,7 +32,7 @@ }, "dependencies": { "@ngx-translate/core": "14.0.0", - "arlas-wui-toolkit": "~25.0.3", + "arlas-wui-toolkit": "~26.0.8", "hammerjs": "^2.0.8", "ng-packagr": "^14.2.2", "ngx-markdown": "14.0.1", @@ -64,6 +65,7 @@ "karma-chrome-launcher": "~3.1.0", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "~1.7.0", + "license-check-and-add": "^4.0.5", "node": "^16.3.0", "protractor": "~7.0.0", "ts-node": "~10.4.0", @@ -80,6 +82,7 @@ }, "@mapbox/geojson-extent": { "traverse": "0.6.8" - } + }, + "dompurify": "2.5.6" } } diff --git a/release.sh b/release.sh index b6038e66..780af816 100755 --- a/release.sh +++ b/release.sh @@ -171,9 +171,11 @@ npm cache clean --force rm -rf node_modules/ echo "==> Docker" -docker build --no-cache --build-arg version=${VERSION} --tag gisaia/arlas-wui:${VERSION} . +docker build -f docker/Dockerfile-production --no-cache --build-arg version=${VERSION} --tag gisaia/arlas-wui:${VERSION} . +docker build -f docker/Dockerfile-production-no-analytics --no-cache --build-arg version=${VERSION} --tag gisaia/arlas-wui:${VERSION}-no-analytics . docker push gisaia/arlas-wui:${VERSION} +docker push gisaia/arlas-wui:${VERSION}-no-analytics if [ "${STAGE}" == "stable" ] && [ "${IS_LATEST_VERSION}" == "YES" ]; then docker tag gisaia/arlas-wui:${VERSION} gisaia/arlas-wui:latest diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 5d849b4d..355b3088 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,3 +1,22 @@ +/* + * Licensed to Gisaïa under one or more contributor + * license agreements. See the NOTICE.txt file distributed with + * this work for additional information regarding copyright + * ownership. Gisaïa licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { ForgotComponent, LoginComponent, RegisterComponent, ResetComponent, VerifyComponent } from 'arlas-wui-toolkit'; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index dc18c864..dbf568a5 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -3,7 +3,7 @@ * license agreements. See the NOTICE.txt file distributed with * this work for additional information regarding copyright * ownership. Gisaïa licenses this file to you under - * the Apache License, Version 2.0 (the 'License'); you may + * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * @@ -11,7 +11,7 @@ * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an - * 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 7b8906f8..2407e034 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -48,6 +48,7 @@ import { ResultsModule, FormatNumberModule, BboxGeneratorModule, GetValueModule } from 'arlas-web-components'; import { + ArlasCollectionService, ArlasConfigService, ArlasIamService, ArlasSettingsService, @@ -181,6 +182,7 @@ import { ArlasAnalyticsComponent } from './components/arlas-analytics/arlas-anal deps: [AuthentificationService, ArlasIamService, ArlasSettingsService], multi: true }, + ArlasCollectionService, ContributorService ], bootstrap: [ArlasWuiComponent], diff --git a/src/app/components/arlas-list/arlas-list.component.ts b/src/app/components/arlas-list/arlas-list.component.ts index f18eea10..48babd93 100644 --- a/src/app/components/arlas-list/arlas-list.component.ts +++ b/src/app/components/arlas-list/arlas-list.component.ts @@ -60,11 +60,14 @@ export class ArlasListComponent implements OnInit, OnDestroy { public ngOnInit(): void { } public ngOnDestroy(): void { + this.resultlistService.unsetListComponent(); this._onDestroy$.next(true); this._onDestroy$.complete(); } - public ngAfterViewInit() { } + public ngAfterViewInit() { + this.resultlistService.setListComponent(this.resultListComponent); + } public changeListResultMode(mode: ModeEnum, identifier: string) { const config = this.resultlistService.resultlistConfigPerContId.get(identifier); diff --git a/src/app/components/arlas-map/aoi-dimensions/aoi-dimensions.component.ts b/src/app/components/arlas-map/aoi-dimensions/aoi-dimensions.component.ts index 6704a4e2..7ca86130 100644 --- a/src/app/components/arlas-map/aoi-dimensions/aoi-dimensions.component.ts +++ b/src/app/components/arlas-map/aoi-dimensions/aoi-dimensions.component.ts @@ -3,7 +3,7 @@ * license agreements. See the NOTICE.txt file distributed with * this work for additional information regarding copyright * ownership. Gisaïa licenses this file to you under - * the Apache License, Version 2.0 (the 'License'); you may + * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * @@ -11,13 +11,13 @@ * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an - * 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ -import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core'; +import { Component, Input, OnInit } from '@angular/core'; import { AoiEdition } from 'arlas-web-components'; @Component({ @@ -25,7 +25,7 @@ import { AoiEdition } from 'arlas-web-components'; templateUrl: './aoi-dimensions.component.html', styleUrls: ['./aoi-dimensions.component.scss'] }) -export class AoiDimensionComponent implements OnInit, OnChanges { +export class AoiDimensionComponent implements OnInit { /** * @Input : Angular * Current dimensions of the AOI being edited @@ -34,10 +34,5 @@ export class AoiDimensionComponent implements OnInit, OnChanges { public constructor() { } - public ngOnInit() { - } - - public ngOnChanges(changes: SimpleChanges): void { - - } + public ngOnInit() { } } diff --git a/src/app/components/arlas-map/aoi-dimensions/aoi-dimensions.pipes.ts b/src/app/components/arlas-map/aoi-dimensions/aoi-dimensions.pipes.ts index 1362582f..59ef5c67 100644 --- a/src/app/components/arlas-map/aoi-dimensions/aoi-dimensions.pipes.ts +++ b/src/app/components/arlas-map/aoi-dimensions/aoi-dimensions.pipes.ts @@ -1,19 +1,21 @@ /* -Licensed to Gisaïa under one or more contributor -license agreements. See the NOTICE.txt file distributed with -this work for additional information regarding copyright -ownership. Gisaïa licenses this file to you under -the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. -You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. -*/ + * Licensed to Gisaïa under one or more contributor + * license agreements. See the NOTICE.txt file distributed with + * this work for additional information regarding copyright + * ownership. Gisaïa licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ import { Pipe, PipeTransform } from '@angular/core'; diff --git a/src/app/components/arlas-map/arlas-map.component.html b/src/app/components/arlas-map/arlas-map.component.html index 1e401144..10c42879 100644 --- a/src/app/components/arlas-map/arlas-map.component.html +++ b/src/app/components/arlas-map/arlas-map.component.html @@ -28,6 +28,9 @@
+
+ +
edit
@@ -63,12 +66,12 @@ (onMove)="onMove($event)" (onBasemapChanged)="reloadMapImages()" (onMapLoaded)="onMapLoaded($event)" (legendVisibiltyStatus)="setLayersVisibilityStatus($event)" (onFeatureOver)="emitFeaturesOnHover($event)" - (onFeatureClic)="emitFeaturesOnClic($event)" + (onFeatureClic)="emitFeaturesOnClick($event)" (downloadSourceEmitter)="downloadLayerSource($event)"> - +
diff --git a/src/app/components/arlas-map/arlas-map.component.ts b/src/app/components/arlas-map/arlas-map.component.ts index da904392..69bdde5c 100644 --- a/src/app/components/arlas-map/arlas-map.component.ts +++ b/src/app/components/arlas-map/arlas-map.component.ts @@ -29,17 +29,17 @@ import { MapService } from '@services/map.service'; import { ResultlistService } from '@services/resultlist.service'; import { VisualizeService } from '@services/visualize.service'; import { - AoiEdition, - BasemapStyle, - BboxGeneratorComponent, GeoQuery, MapglComponent, MapglImportComponent, MapglSettingsComponent, SCROLLABLE_ARLAS_ID + AoiEdition, BasemapStyle, BboxGeneratorComponent, GeoQuery, MapglComponent, + MapglImportComponent, MapglSettingsComponent, SCROLLABLE_ARLAS_ID } from 'arlas-web-components'; import { ElementIdentifier, MapContributor } from 'arlas-web-contributors'; import { LegendData } from 'arlas-web-contributors/contributors/MapContributor'; import { - ArlasCollaborativesearchService, ArlasConfigService, ArlasMapService, ArlasMapSettings, ArlasSettingsService, ArlasStartupService, getParamValue + ArlasCollaborativesearchService, ArlasCollectionService, ArlasConfigService, ArlasMapService, + ArlasMapSettings, ArlasSettingsService, ArlasStartupService, getParamValue } from 'arlas-wui-toolkit'; import * as mapboxgl from 'mapbox-gl'; -import { BehaviorSubject, debounceTime, fromEvent, merge, mergeMap, Observable, of, Subject, takeUntil, takeWhile } from 'rxjs'; +import { BehaviorSubject, debounceTime, fromEvent, merge, mergeMap, Observable, of, Subject, takeUntil } from 'rxjs'; const DEFAULT_BASEMAP: BasemapStyle = { styleFile: 'https://api.maptiler.com/maps/basic/style.json?key=xIhbu1RwgdbxfZNmoXn4', @@ -99,6 +99,8 @@ export class ArlasMapComponent implements OnInit { /** Import geometries */ public nbVerticesLimit = 50; public maxFeatures = 100; + public maxFileSize = 5000000; // bytes + public maxLoadingTime = 30000; // s /** Geocoding */ protected showGeocodingPopup = new BehaviorSubject(false); @@ -128,6 +130,7 @@ export class ArlasMapComponent implements OnInit { private snackbar: MatSnackBar, private iconRegistry: MatIconRegistry, private domSanitizer: DomSanitizer, + private collectionService: ArlasCollectionService ) { if (this.arlasStartupService.shouldRunApp && !this.arlasStartupService.emptyMode) { /** resize the map */ @@ -210,6 +213,9 @@ export class ArlasMapComponent implements OnInit { // eslint-disable-next-line max-len this.iconRegistry.addSvgIconLiteral('draw_polygon', this.domSanitizer.bypassSecurityTrustHtml(' image/svg+xml ')); + // eslint-disable-next-line max-len + this.iconRegistry.addSvgIconLiteral('draw_circle', this.domSanitizer.bypassSecurityTrustHtml('')); + // eslint-disable-next-line max-len this.iconRegistry.addSvgIconLiteral('remove_polygon', this.domSanitizer.bypassSecurityTrustHtml(' image/svg+xml ')); @@ -251,7 +257,7 @@ export class ArlasMapComponent implements OnInit { this.toolkitMapService.setMap(this.mapglComponent.map); this.visualizeService.setMap(this.mapglComponent.map); if (this.mapBounds && this.allowMapExtend) { - (this.mapglComponent.map).fitBounds(this.mapBounds, { duration: 0 }); + this.mapglComponent.map.fitBounds(this.mapBounds, { duration: 0 }); this.mapBounds = null; } this.mapglComponent.map.on('movestart', (e) => { @@ -322,7 +328,8 @@ export class ArlasMapComponent implements OnInit { changedMapContributors[i].setGeoQueryOperation(geoQuery.operation); changedMapContributors[i].setGeoQueryField(geoQuery.geometry_path); changedMapContributors[i].onChangeGeoQuery(); - this.snackbar.open(this.translate.instant('Updating Geo-query of') + ' ' + changedMapContributors[i].collection); + this.snackbar.open(this.translate.instant('Updating Geo-query of ', + { collection: this.translate.instant(this.collectionService.getDisplayName(changedMapContributors[i].collection)) })); if (i === changedMapContributors.length - 1) { setTimeout(() => this.snackbar.dismiss(), 1000); } @@ -348,7 +355,7 @@ export class ArlasMapComponent implements OnInit { // Update data only when the collections info are presents if (this.resultlistService.collectionToDescription.size > 0) { /** Change map extend in the url */ - const bounds = (this.mapglComponent.map).getBounds(); + const bounds = this.mapglComponent.map.getBounds(); const extend = bounds.getWest() + ',' + bounds.getSouth() + ',' + bounds.getEast() + ',' + bounds.getNorth(); const queryParams = Object.assign({}, this.activatedRoute.snapshot.queryParams); const visibileVisus = this.mapglComponent.visualisationSetsConfig.filter(v => v.enabled).map(v => v.name).join(';'); @@ -398,7 +405,8 @@ export class ArlasMapComponent implements OnInit { const debounceDuration = configDebounceTime !== undefined ? configDebounceTime : 750; for (let i = 0; i < this.mapService.mapContributors.length; i++) { setTimeout(() => { - this.snackbar.open(this.translate.instant('Loading data of') + ' ' + this.mapService.mapContributors[i].collection); + this.snackbar.open(this.translate.instant('Loading data of ', + { collection: this.translate.instant(this.collectionService.getDisplayName(this.mapService.mapContributors[i].collection)) })); this.mapService.mapContributors[i].onChangeAoi(event); if (i === this.mapService.mapContributors.length - 1) { setTimeout(() => this.snackbar.dismiss(), 1000); @@ -407,8 +415,8 @@ export class ArlasMapComponent implements OnInit { } } - public changeVisualisation(event) { - this.mapService.mapContributors.forEach(contrib => contrib.changeVisualisation(event)); + public changeVisualisation(layers: Set) { + this.mapService.mapContributors.forEach(contrib => contrib.changeVisualisation(layers)); const queryParams = Object.assign({}, this.activatedRoute.snapshot.queryParams); const visibileVisus = this.mapglComponent.visualisationSetsConfig.filter(v => v.enabled).map(v => v.name).join(';'); queryParams['vs'] = visibileVisus; @@ -425,7 +433,7 @@ export class ArlasMapComponent implements OnInit { } } - public emitFeaturesOnClic(event) { + public emitFeaturesOnClick(event) { if (event.features) { const feature = event.features[0]; const resultListContributor = this.resultlistService.resultlistContributors @@ -445,18 +453,21 @@ export class ArlasMapComponent implements OnInit { const listIdx = contributorIds.findIndex(id => id === resultListContributor.identifier); this.resultlistService.selectedListTabIndex = listIdx; - // Set Timeout to wait for the detail to be open - setTimeout(() => { - let isDone = false; - this.resultlistService.openDetail$(id) - .pipe(takeUntil(this._onDestroy$), takeWhile(() => !isDone)) - .subscribe(r => { - if (r) { - this.disableRecalculateExtend = false; - isDone = true; - } - }); - }, 250); + // Select the good tab if we have several + // No tabs case + if (this.resultlistService.resultlistContributors.length === 1) { + this.resultlistService.waitForList(() => this.resultlistService.openDetail(id)); + this.disableRecalculateExtend = false; + } else { + this.resultlistService.waitForList(() => { + // retrieve list + const tab = document.querySelector('[aria-label="' + resultListContributor.identifier + '"]') as any; + tab.click(); + // Set Timeout to wait the new tab + setTimeout(() => this.resultlistService.openDetail(id), 250); + this.disableRecalculateExtend = false; + }); + } } } } @@ -469,6 +480,10 @@ export class ArlasMapComponent implements OnInit { }, 100); } + public drawCircle() { + this.mapglComponent.switchToDrawMode('draw_radius_circle', { isFixedRadius: false, steps: 12 }); + } + protected goToLocation(event: GeocodingResult) { const bbox = this.visualizeService.getBbox(event.geojson); this.visualizeService.handleGeojsonPreview(event.geojson); diff --git a/src/app/components/arlas-wui-root/arlas-wui-root.component.html b/src/app/components/arlas-wui-root/arlas-wui-root.component.html index 65b03db6..779ff0e9 100644 --- a/src/app/components/arlas-wui-root/arlas-wui-root.component.html +++ b/src/app/components/arlas-wui-root/arlas-wui-root.component.html @@ -2,12 +2,11 @@
'ARLAS-wui logo' | translate - - - + +
@@ -144,8 +143,7 @@ class="arlas-timeline-toolkit" [class.timeline__legend--hidden]="!showTimelineLegend" [isDisplayHistogram]="showTimeline" (isDisplayHistogramChange)="toggleTimeline()" [activeDatePicker]="true" [timelineComponent]="timelineComponentConfig" - [detailedTimelineComponent]="detailedTimelineComponentConfig" - [units]="appUnits"> + [detailedTimelineComponent]="detailedTimelineComponentConfig">