From 68950dafdcb5556f5062319668f41803076c31b5 Mon Sep 17 00:00:00 2001 From: Alexandre Caron Date: Mon, 11 Nov 2024 10:30:02 -0500 Subject: [PATCH 01/16] fix(geo): hover directive undefined unsubscription --- packages/geo/src/lib/map/shared/hover-feature.directive.ts | 4 ++-- .../src/lib/search/shared/search-pointer-summary.directive.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/geo/src/lib/map/shared/hover-feature.directive.ts b/packages/geo/src/lib/map/shared/hover-feature.directive.ts index 6c325da52..4052a45b7 100644 --- a/packages/geo/src/lib/map/shared/hover-feature.directive.ts +++ b/packages/geo/src/lib/map/shared/hover-feature.directive.ts @@ -222,7 +222,7 @@ export class HoverFeatureDirective implements OnInit, OnDestroy { this.unlistenToMapPointerMove(); this.unsubscribeToPointerStore(); this.unlistenToMapSingleClick(); - this.layers$$.unsubscribe(); + this.layers$$?.unsubscribe(); } /** @@ -261,7 +261,7 @@ export class HoverFeatureDirective implements OnInit, OnDestroy { * @internal */ unsubscribeToPointerStore() { - this.store$$.unsubscribe(); + this.store$$?.unsubscribe(); } /** diff --git a/packages/geo/src/lib/search/shared/search-pointer-summary.directive.ts b/packages/geo/src/lib/search/shared/search-pointer-summary.directive.ts index ac13c5166..98fe74683 100644 --- a/packages/geo/src/lib/search/shared/search-pointer-summary.directive.ts +++ b/packages/geo/src/lib/search/shared/search-pointer-summary.directive.ts @@ -167,7 +167,7 @@ export class SearchPointerSummaryDirective this.unlistenToMapPointerMove(); this.unsubscribeToPointerStore(); this.unsubscribeReverseSearch(); - this.layers$$.unsubscribe(); + this.layers$$?.unsubscribe(); } /** @@ -267,7 +267,7 @@ export class SearchPointerSummaryDirective * @internal */ unsubscribeToPointerStore() { - this.store$$.unsubscribe(); + this.store$$?.unsubscribe(); } /** * Unsubscribe to reverse seatch store. From 94148a5b8e184e20e3d1897991bf15b4128d57e1 Mon Sep 17 00:00:00 2001 From: Alexandre Caron Date: Mon, 11 Nov 2024 10:36:02 -0500 Subject: [PATCH 02/16] fix(core): remove ngx-translate from deps --- packages/core/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 7484cf242..8e868c107 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -97,7 +97,6 @@ } }, "dependencies": { - "@ngx-translate/core": "^15.0.0", "tslib": "^2.6.0" }, "peerDependencies": { From 4d7e6305317d2bc6d425259ea6dc1c91af464cab Mon Sep 17 00:00:00 2001 From: Alexandre Caron Date: Thu, 31 Oct 2024 13:18:31 -0400 Subject: [PATCH 03/16] fix(geo): offline import dynamically (cherry picked from commit 7f63a56aa3256c660d77c0d5cbd8649e54415195) fix: update deps fix: update deps fix(geo): offline revert change for undefined param fix: types fix(geo): offline - ngx-indexed-db take an mapped object refactor(geo): move the offline configuration in integration options fix: resync lock file --- package-lock.json | 1591 ++++------------- .../shared/layer-context.directive.ts | 10 +- packages/core/package.json | 1 - packages/core/src/lib/core.module.ts | 34 +- .../datasource/shared/capabilities.service.ts | 2 +- .../geo/src/lib/layer/shared/layer.service.ts | 14 +- .../geo/src/lib/layer/shared/layers/layer.ts | 6 +- .../lib/layer/shared/layers/vector-layer.ts | 8 +- .../geoDB/configFileToGeoDB.service.ts | 4 +- .../src/lib/offline/geoDB/geoDB.service.ts | 35 +- packages/geo/src/lib/offline/index.ts | 2 + .../lib/offline/layerDB/layerDB.service.ts | 22 +- .../geo/src/lib/offline/offline.interface.ts | 3 + .../geo/src/lib/offline/offline.provider.ts | 60 + .../lib/offline/shared/geo-network.service.ts | 12 +- .../lib/environment/environment.interface.ts | 6 +- 16 files changed, 461 insertions(+), 1349 deletions(-) create mode 100644 packages/geo/src/lib/offline/offline.interface.ts create mode 100644 packages/geo/src/lib/offline/offline.provider.ts diff --git a/package-lock.json b/package-lock.json index fbad66d9e..8e1c33932 100644 --- a/package-lock.json +++ b/package-lock.json @@ -522,9 +522,9 @@ } }, "node_modules/@angular/animations": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.10.tgz", - "integrity": "sha512-LT5+CocFZJ4t5jXsXLx5w/sBuWSxOEjmNTYga13usRcLOblrAB902pjUdFCHEZyrCUgm4MH8vov9fMS+Ks2GCw==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.11.tgz", + "integrity": "sha512-ghgXa2VhtyJJnTMuH2NYxCMsveQbZno44AZGygPqrcW8UQMQe9GulFaTXCH5s6/so2CLy2ZviIwSZQRgK0ZlDw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -533,7 +533,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.10" + "@angular/core": "18.2.11" } }, "node_modules/@angular/build": { @@ -688,9 +688,9 @@ } }, "node_modules/@angular/cdk": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.11.tgz", - "integrity": "sha512-FuvfhrSz2ch0gyOVHrkWq2C/I2PnOzKYSXlG/VEG+ize/WNrvlYy//5WVrTh/hv+HD9sdoWPr9ULXsfFfgbo7w==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.12.tgz", + "integrity": "sha512-FOklA6KatPtb0yO0doRhBI/UVY23A8ZhOSws5VuZTQl/6r/jXEXGV9n5JQj4rm8t/6IrReO55hdyw9XfHfZFjQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -739,9 +739,9 @@ } }, "node_modules/@angular/common": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.10.tgz", - "integrity": "sha512-YzTCmuqLiOuT+Yv07vuKymDWiebOVZ8BuXakJiz4EM7FMoOw5gICHJ04jepZSjDNWpA16e7kJSdt5ucnmvCFDQ==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.11.tgz", + "integrity": "sha512-bamJeISl2zUlvjPYebQWazUjhjXU9nrot42cQJng94SkvNENT9LTWfPYgc+Bd972Kg+31jG4H41rgFNs7zySmw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -750,14 +750,14 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.10", + "@angular/core": "18.2.11", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.10.tgz", - "integrity": "sha512-cu+Uq1nnyl00Glg0+2uvm+Xpaq5b4YvWpaLGGtit7uGETAJ4L/frlBVeaTRhEoaIAGBI+RRlyuFLae+etQDA0w==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.11.tgz", + "integrity": "sha512-PSVL1YXUhTzkgJNYXiWk9eAZxNV6laQJRGdj9++C1q9m2S9/GlehZGzkt5GtC5rlUweJucCNvBC1+2D5FAt9vA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -766,7 +766,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.10" + "@angular/core": "18.2.11" }, "peerDependenciesMeta": { "@angular/core": { @@ -775,9 +775,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.10.tgz", - "integrity": "sha512-CNFStKWMB89MFKAZZFUOhoQi+fHqRLgNOOrI73LjizXixvngEh3BDZJRtK9hbSGG+giujBrummEA60CWAw69MA==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.11.tgz", + "integrity": "sha512-YJlAOiXZUYP6/RK9isu5AOucmNZhFB9lpY/beMzkkWgDku+va8szm4BZbLJFz176IUteyLWF3IP4aE7P9OBlXw==", "dev": true, "license": "MIT", "dependencies": { @@ -799,14 +799,14 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "18.2.10", + "@angular/compiler": "18.2.11", "typescript": ">=5.4 <5.6" } }, "node_modules/@angular/core": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.10.tgz", - "integrity": "sha512-EfxVz0pLaxnOppOYkdhnaUkk8HZT+uxaAGpJD3ppAa7YAWTE9xIGoNJmtS33cZNNOnvriMkdv7yn6pDtV4ct+Q==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.11.tgz", + "integrity": "sha512-/AGAFyZN8KR+kW5FUFCCBCj3qHyDDum7G0lJe5otrT9AqF6+g7PjF8yLha/6wPkJG7ri5xGLhini1sEivVeq/g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -820,9 +820,9 @@ } }, "node_modules/@angular/forms": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.10.tgz", - "integrity": "sha512-2VprGB+enJIeqfz2oALmP/G/UiFzpZW6PHgyZXhk/0J/UMsa26JoYxwDFvfdm/WGTrB+VaQEG7in5xwiFPAFtQ==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.11.tgz", + "integrity": "sha512-QjxayOxDTqsTJGBzfWd3nms1LZIXj2f1+wIPxxUNXyNS5ZaM7hBWkz2BTFYeewlD/HdNj0alNVCYK3M8ElLWYw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -831,23 +831,23 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.10", - "@angular/core": "18.2.10", - "@angular/platform-browser": "18.2.10", + "@angular/common": "18.2.11", + "@angular/core": "18.2.11", + "@angular/platform-browser": "18.2.11", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.11.tgz", - "integrity": "sha512-VPfnpwmg6p5DsH1UMfOXjKA+qAbUx6nyinGWpx4+ntr/T1oEhRk5CnoOtVS0Xk0rnRSbEF6ayjDBH2YPR9ol3A==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.12.tgz", + "integrity": "sha512-5q8Os6i3D1e3qN+RqP95UgIR+Kx3goncSSYDeT6yPNrdrcqcWdyDPXGK6UsZqTTx/CJee/I7ZxgVVK1YDoVASQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^18.0.0 || ^19.0.0", - "@angular/cdk": "18.2.11", + "@angular/cdk": "18.2.12", "@angular/common": "^18.0.0 || ^19.0.0", "@angular/core": "^18.0.0 || ^19.0.0", "@angular/forms": "^18.0.0 || ^19.0.0", @@ -856,9 +856,9 @@ } }, "node_modules/@angular/material-moment-adapter": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-18.2.11.tgz", - "integrity": "sha512-vmJJZhFsgDpeUIvgEomF/iueXhDO8Z9G5gZ3qaJlGqB/daczsL82x8BjmOqUVWa+PJRA/iF79GcKVkACi7qQ8w==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-18.2.12.tgz", + "integrity": "sha512-Xcdw0FU58HhIwEvMePvtmcqvCBln02W4wvMuT8OhZaTr4r//I2jK0op3fr65zYcHdQxN8QLedWo1CTK2wAQo1w==", "license": "MIT", "peer": true, "dependencies": { @@ -866,14 +866,14 @@ }, "peerDependencies": { "@angular/core": "^18.0.0 || ^19.0.0", - "@angular/material": "18.2.11", + "@angular/material": "18.2.12", "moment": "^2.18.1" } }, "node_modules/@angular/platform-browser": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.10.tgz", - "integrity": "sha512-zKyRKFr3AaEA4SE/DEeb5FWHJutT26avHZog6ZGDkMeMN12zMtSqjPuTSgmDXCWleoOkzbb+nhAQ+fK/EyGyPA==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.11.tgz", + "integrity": "sha512-bzcP0QdPT/ncTxOx0t7901z5m0wDmkraTo/es4g8reV6VK9Ptv0QDuD8aDvrHh7sLCX5VgwDF9ohc6S2TpYUCA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -882,9 +882,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "18.2.10", - "@angular/common": "18.2.10", - "@angular/core": "18.2.10" + "@angular/animations": "18.2.11", + "@angular/common": "18.2.11", + "@angular/core": "18.2.11" }, "peerDependenciesMeta": { "@angular/animations": { @@ -893,9 +893,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.10.tgz", - "integrity": "sha512-syKyOTgfQnMxfpDRP1khTSPZ5dsMgA8YQwNF6KsB3eZQl15CKSka7bzjMOUWeZ8M3WShOp1AzTf0MfwNeh0UBA==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.11.tgz", + "integrity": "sha512-a30U4ZdTZSvL17xWwOq6xh9ToCDP2K7/j1HTJFREObbuAtZTa/6IVgBUM6oOMNQ43kHkT6Mr9Emkgf9iGtWwfw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -904,16 +904,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.10", - "@angular/compiler": "18.2.10", - "@angular/core": "18.2.10", - "@angular/platform-browser": "18.2.10" + "@angular/common": "18.2.11", + "@angular/compiler": "18.2.11", + "@angular/core": "18.2.11", + "@angular/platform-browser": "18.2.11" } }, "node_modules/@angular/router": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.10.tgz", - "integrity": "sha512-ZqJgOGOfvW0epsc7pIo7DffZqYHo3O9aUCVepZAhOxqtjF/sfhX2fy+A0xopTIiR0eM3LrT823V+2hjlBHj+CA==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.11.tgz", + "integrity": "sha512-xh4+t4pNBWxeH1a6GIoEGVSRZO4NDKK8q6b+AzB5GBgKsYgOz2lc74RXIPA//pK3aHrS9qD4sJLlodwgE/1+bA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -922,62 +922,43 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.10", - "@angular/core": "18.2.10", - "@angular/platform-browser": "18.2.10", + "@angular/common": "18.2.11", + "@angular/core": "18.2.11", + "@angular/platform-browser": "18.2.11", "rxjs": "^6.5.3 || ^7.4.0" } }, - "node_modules/@angular/service-worker": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-18.2.10.tgz", - "integrity": "sha512-hfZ5XqsmtZg5HdHoPFORAzGV0uX1DcZ894op79i4lp6HOoIgYMQ+ajB6Fa7HVUdXS3esFUc2iw4nBgSR0ZssCg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "bin": { - "ngsw-config": "ngsw-config.js" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/common": "18.2.10", - "@angular/core": "18.2.10" - } - }, "node_modules/@azure/msal-angular": { - "version": "3.0.25", - "resolved": "https://registry.npmjs.org/@azure/msal-angular/-/msal-angular-3.0.25.tgz", - "integrity": "sha512-n0B8KAC055ZfrEbo3AVr//KC/chCeHorV5gqX9skKhn1KGmEE6YRdKXt82AkaJz5Si2Xjk8gG2+Xq/rUjEVRgQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@azure/msal-angular/-/msal-angular-3.1.0.tgz", + "integrity": "sha512-a0A1Ogjp6DDsU7LJ7LKdLurWoczHEFErrckbbrkbV/h4J5LmcBpu32DN2u5dBiUg2ngYg6MtPbVIVD39ZtysTA==", "license": "MIT", "peer": true, "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@azure/msal-browser": "^3.25.0", + "@azure/msal-browser": "^3.27.0", "rxjs": "^7.0.0" } }, "node_modules/@azure/msal-browser": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.26.1.tgz", - "integrity": "sha512-y78sr9g61aCAH9fcLO1um+oHFXc1/5Ap88RIsUSuzkm0BHzFnN+PXGaQeuM1h5Qf5dTnWNOd6JqkskkMPAhh7Q==", + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.27.0.tgz", + "integrity": "sha512-+b4ZKSD8+vslCtVRVetkegEhOFMLP3rxDWJY212ct+2r6jVg6OSQKc1Qz3kCoXo0FgwaXkb+76TMZfpHp8QtgA==", "license": "MIT", "peer": true, "dependencies": { - "@azure/msal-common": "14.15.0" + "@azure/msal-common": "14.16.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "14.15.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.15.0.tgz", - "integrity": "sha512-ImAQHxmpMneJ/4S8BRFhjt1MZ3bppmpRPYYNyzeQPeFN288YKbb8TmmISQEbtfkQ1BPASvYZU5doIZOPBAqENQ==", + "version": "14.16.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.16.0.tgz", + "integrity": "sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA==", "license": "MIT", "peer": true, "engines": { @@ -4637,9 +4618,9 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.0.tgz", - "integrity": "sha512-xnRgu9DxZbkWak/te3fcytNyp8MTbuiZIaueg2rgEvBuN55n04nwLYLU9TX/VVlusc9L2ZNXi99nUFNkHXtr5g==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4757,9 +4738,9 @@ } }, "node_modules/@inquirer/core/node_modules/@types/node": { - "version": "22.8.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.7.tgz", - "integrity": "sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==", + "version": "22.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", + "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5411,6 +5392,7 @@ "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-15.0.0.tgz", "integrity": "sha512-Am5uiuR0bOOxyoercDnAA3rJVizo4RRqJHo8N3RqJ+XfzVP/I845yEnMADykOHvM6HkVm4SZSnJBOiz0Anx5BA==", "license": "SEE LICENSE IN LICENSE", + "peer": true, "engines": { "node": "^16.13.0 || >=18.10.0" }, @@ -6608,9 +6590,9 @@ ] }, "node_modules/@rollup/wasm-node": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.24.4.tgz", - "integrity": "sha512-WKJUdPcM8YAYujafY95+2EapqU3F/nwfBkXh9AfkBvWBwFhsvNJABA86Br6graRH2vRE4FBsiqjFvFWOtEO6wg==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.25.0.tgz", + "integrity": "sha512-Brhz6gK/43E9lpMkbcfg06hRHctpMkbmy1JzOU2JWub3teujTNqou1xWTQgt9CRu15WGTt78t7p7rNxGIBZv+g==", "dev": true, "license": "MIT", "dependencies": { @@ -7202,78 +7184,78 @@ } }, "node_modules/@sentry-internal/browser-utils": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.36.0.tgz", - "integrity": "sha512-AVJ9GmQW7jYxaal6hjQnnktsDNype01ajVC4q1RyOn1SfzSnXg6mXwj4xm4ovuJV+aBI7fAZJ55vEX5ASuP0ZA==", + "version": "8.37.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.37.1.tgz", + "integrity": "sha512-OSR/V5GCsSCG7iapWtXCT/y22uo3HlawdEgfM1NIKk1mkP15UyGQtGEzZDdih2H+SNuX1mp9jQLTjr5FFp1A5w==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/core": "8.36.0", - "@sentry/types": "8.36.0", - "@sentry/utils": "8.36.0" + "@sentry/core": "8.37.1", + "@sentry/types": "8.37.1", + "@sentry/utils": "8.37.1" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.36.0.tgz", - "integrity": "sha512-aAMTm3uDBj8Ta7FwoohpLmJOpWzpWXvvtTbtmSgkeCtPJLUS8DZDCTZ9uCILUkpuYrv2savRUHsdPkxNjgL8FA==", + "version": "8.37.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.37.1.tgz", + "integrity": "sha512-Se25NXbSapgS2S+JssR5YZ48b3OY4UGmAuBOafgnMW91LXMxRNWRbehZuNUmjjHwuywABMxjgu+Yp5uJDATX+g==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/core": "8.36.0", - "@sentry/types": "8.36.0", - "@sentry/utils": "8.36.0" + "@sentry/core": "8.37.1", + "@sentry/types": "8.37.1", + "@sentry/utils": "8.37.1" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.36.0.tgz", - "integrity": "sha512-lbic98GsSkDeinQDix54tBFEgHUlmBtO+HjXECk9jIE0vOzR4As20/s5ta46t1rKMLlnxOtJuT5jKXeUYogBUw==", + "version": "8.37.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.37.1.tgz", + "integrity": "sha512-E/Plhisk/pXJjOdOU12sg8m/APTXTA21iEniidP6jW3/+O0tD/H/UovEqa4odNTqxPMa798xHQSQNt5loYiaLA==", "license": "MIT", "peer": true, "dependencies": { - "@sentry-internal/browser-utils": "8.36.0", - "@sentry/core": "8.36.0", - "@sentry/types": "8.36.0", - "@sentry/utils": "8.36.0" + "@sentry-internal/browser-utils": "8.37.1", + "@sentry/core": "8.37.1", + "@sentry/types": "8.37.1", + "@sentry/utils": "8.37.1" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.36.0.tgz", - "integrity": "sha512-KJPLf+qYdrQdmouoAqIPZ2KeapIBlHWbzNdQqNxJFWLHFFjpLUtt0b+87ruvbA/q3NYy2fDwD7EB0tGS1RHBaA==", + "version": "8.37.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.37.1.tgz", + "integrity": "sha512-1JLAaPtn1VL5vblB0BMELFV0D+KUm/iMGsrl4/JpRm0Ws5ESzQl33DhXVv1IX/ZAbx9i14EjR7MG9+Hj70tieQ==", "license": "MIT", "peer": true, "dependencies": { - "@sentry-internal/replay": "8.36.0", - "@sentry/core": "8.36.0", - "@sentry/types": "8.36.0", - "@sentry/utils": "8.36.0" + "@sentry-internal/replay": "8.37.1", + "@sentry/core": "8.37.1", + "@sentry/types": "8.37.1", + "@sentry/utils": "8.37.1" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/angular": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.36.0.tgz", - "integrity": "sha512-9RfJOlhvqzRq4X/aOgZPzDANp+Gy8u+JFKnuWZ/S2R5qZ2kGrzfvxPCULhHuPHZYwwbi8IOt5DkYAorY+glrew==", + "version": "8.37.1", + "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.37.1.tgz", + "integrity": "sha512-N6IdxEUwVlB5qqd7UR0fiEvWoJrNA4rcdKot0W9uN3G9lqmff5EB3EUIvw9xFZJgZ695WNVZ1f+irvqXt+rYJA==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/browser": "8.36.0", - "@sentry/core": "8.36.0", - "@sentry/types": "8.36.0", - "@sentry/utils": "8.36.0", + "@sentry/browser": "8.37.1", + "@sentry/core": "8.37.1", + "@sentry/types": "8.37.1", + "@sentry/utils": "8.37.1", "tslib": "^2.4.1" }, "engines": { @@ -7287,55 +7269,55 @@ } }, "node_modules/@sentry/browser": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.36.0.tgz", - "integrity": "sha512-bLrQNe+wD4DkCfB8OD5TF3Rr8KA2+aTo5wF3t3Bf6KVn8//iX1ia1hhtptYiRnbRkG/0AEPxlqL6XfPZYVPQ5A==", + "version": "8.37.1", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.37.1.tgz", + "integrity": "sha512-5ym+iGiIpjIKKpMWi9S3/tXh9xneS+jqxwRTJqed3cb8i4ydfMAAP8sM3U8xMCWWABpWyIUW+fpewC0tkhE1aQ==", "license": "MIT", "peer": true, "dependencies": { - "@sentry-internal/browser-utils": "8.36.0", - "@sentry-internal/feedback": "8.36.0", - "@sentry-internal/replay": "8.36.0", - "@sentry-internal/replay-canvas": "8.36.0", - "@sentry/core": "8.36.0", - "@sentry/types": "8.36.0", - "@sentry/utils": "8.36.0" + "@sentry-internal/browser-utils": "8.37.1", + "@sentry-internal/feedback": "8.37.1", + "@sentry-internal/replay": "8.37.1", + "@sentry-internal/replay-canvas": "8.37.1", + "@sentry/core": "8.37.1", + "@sentry/types": "8.37.1", + "@sentry/utils": "8.37.1" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/core": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.36.0.tgz", - "integrity": "sha512-cbq1WQyRqc/+YpPhjwQxfniUM3ZxmO3Pm1oisTB8dw6mlbgQfGD6aznEIjXWWJY6k6acewJlMUx09N7DnprtBw==", + "version": "8.37.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.37.1.tgz", + "integrity": "sha512-82csXby589iDupM3VgCHJeWZagUyEEaDnbFcoZ/Z91QX2Sjq8FcF5OsforoXjw09i0XTFqlkFAnQVpDBmMXcpQ==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/types": "8.36.0", - "@sentry/utils": "8.36.0" + "@sentry/types": "8.37.1", + "@sentry/utils": "8.37.1" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/types": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.36.0.tgz", - "integrity": "sha512-K1pVFfdGHw115RzGHpwSOqoEPeayn4N1F9IfM0kxrYpQSbFT1X29eak88GBfC8gPiLEF0iFGlSaQ4ERmF7oRcA==", + "version": "8.37.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.37.1.tgz", + "integrity": "sha512-ryMOTROLSLINKFEbHWvi7GigNrsQhsaScw2NddybJGztJQ5UhxIGESnxGxWCufBmWFDwd7+5u0jDPCVUJybp7w==", "license": "MIT", "engines": { "node": ">=14.18" } }, "node_modules/@sentry/utils": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.36.0.tgz", - "integrity": "sha512-oJ3EDPj0I00z+AwC3EWBpSidXYUoKW0Id8MfMQP5Hflniz3gif7UEReblT+FJgPEVo6+6uNzAncY0MuNMxmDKQ==", + "version": "8.37.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.37.1.tgz", + "integrity": "sha512-Qtn2IfpII12K17txG/ZtTci35XYjYi4CxbQ3j7nXY7toGv/+MqPXwV5q2i9g94XaSXlE5Wy9/hoCZoZpZs/djA==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/types": "8.36.0" + "@sentry/types": "8.37.1" }, "engines": { "node": ">=14.18" @@ -8082,16 +8064,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/jasminewd2": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.13.tgz", - "integrity": "sha512-aJ3wj8tXMpBrzQ5ghIaqMisD8C3FIrcO6sDKHqFbuqAsI7yOxj0fA7MrRCPLZHIVUjERIwsMmGn/vB0UQ9u0Hg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/jasmine": "*" - } - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -8161,9 +8133,9 @@ "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.9.16", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", - "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", "dev": true, "license": "MIT" }, @@ -8295,17 +8267,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.2.tgz", - "integrity": "sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.13.0.tgz", + "integrity": "sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/type-utils": "8.12.2", - "@typescript-eslint/utils": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", + "@typescript-eslint/scope-manager": "8.13.0", + "@typescript-eslint/type-utils": "8.13.0", + "@typescript-eslint/utils": "8.13.0", + "@typescript-eslint/visitor-keys": "8.13.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -8329,16 +8301,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.12.2.tgz", - "integrity": "sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.13.0.tgz", + "integrity": "sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/typescript-estree": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", + "@typescript-eslint/scope-manager": "8.13.0", + "@typescript-eslint/types": "8.13.0", + "@typescript-eslint/typescript-estree": "8.13.0", + "@typescript-eslint/visitor-keys": "8.13.0", "debug": "^4.3.4" }, "engines": { @@ -8358,14 +8330,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz", - "integrity": "sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz", + "integrity": "sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2" + "@typescript-eslint/types": "8.13.0", + "@typescript-eslint/visitor-keys": "8.13.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8376,14 +8348,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.12.2.tgz", - "integrity": "sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.13.0.tgz", + "integrity": "sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.12.2", - "@typescript-eslint/utils": "8.12.2", + "@typescript-eslint/typescript-estree": "8.13.0", + "@typescript-eslint/utils": "8.13.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -8401,9 +8373,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", - "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.13.0.tgz", + "integrity": "sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==", "dev": true, "license": "MIT", "engines": { @@ -8415,14 +8387,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz", - "integrity": "sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz", + "integrity": "sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", + "@typescript-eslint/types": "8.13.0", + "@typescript-eslint/visitor-keys": "8.13.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -8444,16 +8416,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.12.2.tgz", - "integrity": "sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.13.0.tgz", + "integrity": "sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/typescript-estree": "8.12.2" + "@typescript-eslint/scope-manager": "8.13.0", + "@typescript-eslint/types": "8.13.0", + "@typescript-eslint/typescript-estree": "8.13.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8467,13 +8439,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", - "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz", + "integrity": "sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.12.2", + "@typescript-eslint/types": "8.13.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -8554,9 +8526,9 @@ } }, "node_modules/@vue/compiler-sfc/node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.48", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.48.tgz", + "integrity": "sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==", "dev": true, "funding": [ { @@ -8575,7 +8547,7 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -8601,73 +8573,73 @@ "license": "MIT" }, "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "dev": true, "license": "MIT", "dependencies": { @@ -8675,9 +8647,9 @@ } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -8685,79 +8657,79 @@ } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, @@ -10142,9 +10114,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001677", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz", - "integrity": "sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==", + "version": "1.0.30001680", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", + "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", "dev": true, "funding": [ { @@ -10313,9 +10285,9 @@ } }, "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", "dev": true, "funding": [ { @@ -11500,16 +11472,6 @@ "node": ">= 0.10" } }, - "node_modules/corser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", - "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -11619,9 +11581,9 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", + "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", "dev": true, "license": "MIT", "dependencies": { @@ -11764,14 +11726,14 @@ "license": "MIT" }, "node_modules/cypress": { - "version": "13.15.1", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.1.tgz", - "integrity": "sha512-DwUFiKXo4lef9kA0M4iEhixFqoqp2hw8igr0lTqafRb9qtU3X0XGxKbkSYsUFdkrAkphc7MPDxoNPhk5pj9PVg==", + "version": "13.15.2", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.2.tgz", + "integrity": "sha512-ARbnUorjcCM3XiPwgHKuqsyr5W9Qn+pIIBPaoilnoBkLdSC2oLQjV1BUpnmc7KR+b7Avah3Ly2RMFnfxr96E/A==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "@cypress/request": "^3.0.4", + "@cypress/request": "^3.0.6", "@cypress/xvfb": "^1.2.4", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", @@ -11782,6 +11744,7 @@ "cachedir": "^2.3.0", "chalk": "^4.1.0", "check-more-types": "^2.24.0", + "ci-info": "^4.0.0", "cli-cursor": "^3.1.0", "cli-table3": "~0.6.1", "commander": "^6.2.1", @@ -11796,7 +11759,6 @@ "figures": "^3.2.0", "fs-extra": "^9.1.0", "getos": "^3.2.1", - "is-ci": "^3.0.1", "is-installed-globally": "~0.4.0", "lazy-ass": "^1.6.0", "listr2": "^3.8.3", @@ -12498,16 +12460,6 @@ "node": ">=18" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -12980,9 +12932,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.50", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz", - "integrity": "sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw==", + "version": "1.5.55", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.55.tgz", + "integrity": "sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==", "dev": true, "license": "ISC" }, @@ -15704,16 +15656,6 @@ "node": ">= 0.4" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, "node_modules/highlight.js": { "version": "10.7.3", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", @@ -15770,19 +15712,6 @@ "wbuf": "^1.1.0" } }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/html-entities": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", @@ -15971,100 +15900,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/http-server": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", - "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "basic-auth": "^2.0.1", - "chalk": "^4.1.2", - "corser": "^2.0.1", - "he": "^1.2.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy": "^1.18.1", - "mime": "^1.6.0", - "minimist": "^1.2.6", - "opener": "^1.5.1", - "portfinder": "^1.0.28", - "secure-compare": "3.0.1", - "union": "~0.5.0", - "url-join": "^4.0.1" - }, - "bin": { - "http-server": "bin/http-server" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/http-server/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/http-server/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/http-server/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/http-server/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/http-server/node_modules/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true, - "license": "MIT" - }, "node_modules/http-signature": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", @@ -16115,9 +15950,9 @@ } }, "node_modules/i18next": { - "version": "23.16.4", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.4.tgz", - "integrity": "sha512-9NIYBVy9cs4wIqzurf7nLXPyf3R78xYbxExVqHLK9od3038rjpyOEzW+XB130kZ1N4PZ9inTtJ471CRJ4Ituyg==", + "version": "23.16.5", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.5.tgz", + "integrity": "sha512-KTlhE3EP9x6pPTAW7dy0WKIhoCpfOGhRQlO+jttQLgzVaoOjWwBWramu7Pp0i+8wDNduuzXfe3kkVbzrKyrbTA==", "dev": true, "funding": [ { @@ -16214,10 +16049,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/igo": { - "resolved": "projects/igo2", - "link": true - }, "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", @@ -16429,19 +16260,6 @@ "node": ">=8" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, "node_modules/is-core-module": { "version": "2.15.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", @@ -19650,9 +19468,9 @@ } }, "node_modules/ngx-indexed-db": { - "version": "19.0.1", - "resolved": "https://registry.npmjs.org/ngx-indexed-db/-/ngx-indexed-db-19.0.1.tgz", - "integrity": "sha512-p6OWHJjseJXNKuGISU7yXsX7co0Z4EH3KJ3KVFzSiE8NjEZ6/upFqM87z9UOOa3/Ie+8M1D1VZqafVB8HydZQw==", + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/ngx-indexed-db/-/ngx-indexed-db-19.1.0.tgz", + "integrity": "sha512-QFLjrslVp1v2UTYer3q3H4rceQ29u4sMTD/GwHNyYnlhbx/O7wThrRJBac+Wo5tmxzc1e9vOFkWxo9XkpIXILw==", "license": "ISC", "dependencies": { "tslib": "^2.0.0" @@ -23266,9 +23084,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "dev": true, "license": "MIT", "engines": { @@ -23394,16 +23212,6 @@ "opencollective-postinstall": "index.js" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -24239,41 +24047,6 @@ "node": ">=4" } }, - "node_modules/portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/postcss": { "version": "8.4.41", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", @@ -24374,13 +24147,13 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", "dev": true, "license": "ISC", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" @@ -24389,6 +24162,20 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", @@ -24905,151 +24692,41 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz", - "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==", + "node_modules/read-pkg/node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^6.3.0", - "read-pkg": "^8.1.0", - "type-fest": "^4.2.0" + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "node_modules/read-pkg/node_modules/type-fest": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", + "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/lines-and-columns": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/read-pkg-up/node_modules/parse-json": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", - "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/parse-json/node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg/node_modules/parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", @@ -25737,13 +25414,6 @@ "compute-scroll-into-view": "^3.0.2" } }, - "node_modules/secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", - "dev": true, - "license": "MIT" - }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -25820,9 +25490,9 @@ } }, "node_modules/semantic-release/node_modules/@semantic-release/github": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.0.tgz", - "integrity": "sha512-Uon6G6gJD8U1JNvPm7X0j46yxNRJ8Ui6SgK4Zw5Ktu8RgjEft3BGn+l/RX1TTzhhO3/uUcKuqM+/9/ETFxWS/Q==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.1.tgz", + "integrity": "sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==", "dev": true, "license": "MIT", "dependencies": { @@ -27811,22 +27481,22 @@ } }, "node_modules/tldts": { - "version": "6.1.58", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.58.tgz", - "integrity": "sha512-MQJrJhjHOYGYb8DobR6Y4AdDbd4TYkyQ+KBDVc5ODzs1cbrvPpfN1IemYi9jfipJ/vR1YWvrDli0hg1y19VRoA==", + "version": "6.1.60", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.60.tgz", + "integrity": "sha512-TYVHm7G9NCnhgqOsFalbX6MG1Po5F4efF+tLfoeiOGQq48Oqgwcgz8upY2R1BHWa4aDrj28RYx0dkYJ63qCFMg==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.58" + "tldts-core": "^6.1.60" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.58", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.58.tgz", - "integrity": "sha512-dR936xmhBm7AeqHIhCWwK765gZ7dFyL+IqLSFAjJbFlUXGMLCb8i2PzlzaOuWBuplBTaBYseSb565nk/ZEM0Bg==", + "version": "6.1.60", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.60.tgz", + "integrity": "sha512-XHjoxak8SFQnHnmYHb3PcnW5TZ+9ErLZemZei3azuIRhQLw4IExsVbL3VZJdHcLeNaXq6NqawgpDPpjBOg4B5g==", "dev": true, "license": "MIT" }, @@ -28155,15 +27825,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.12.2.tgz", - "integrity": "sha512-UbuVUWSrHVR03q9CWx+JDHeO6B/Hr9p4U5lRH++5tq/EbFq1faYZe50ZSBePptgfIKLEti0aPQ3hFgnPVcd8ZQ==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.13.0.tgz", + "integrity": "sha512-vIMpDRJrQd70au2G8w34mPps0ezFSPMEX4pXkTzUkrNbRX+36ais2ksGWN0esZL+ZMaFJEneOBHzCgSqle7DHw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.12.2", - "@typescript-eslint/parser": "8.12.2", - "@typescript-eslint/utils": "8.12.2" + "@typescript-eslint/eslint-plugin": "8.13.0", + "@typescript-eslint/parser": "8.13.0", + "@typescript-eslint/utils": "8.13.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -28300,18 +27970,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "dev": true, - "dependencies": { - "qs": "^6.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", @@ -29057,9 +28715,9 @@ } }, "node_modules/vite/node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.48", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.48.tgz", + "integrity": "sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==", "dev": true, "funding": [ { @@ -29078,7 +28736,7 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -29637,32 +29295,6 @@ "node": ">=0.8.0" } }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -30131,7 +29763,6 @@ "version": "18.0.0-next.1", "license": "MIT", "dependencies": { - "@ngx-translate/core": "^15.0.0", "tslib": "^2.6.0" }, "devDependencies": { @@ -30150,7 +29781,6 @@ "@ngx-translate/core": "^15.0.0", "@ngx-translate/http-loader": "^8.0.0", "@sentry/angular": "^8.26.0", - "ngx-indexed-db": "^19.0.0", "ngx-toastr": "^19.0.0", "rxjs": "^7.8.0" } @@ -30242,547 +29872,6 @@ "@angular/platform-browser": "^18.0.0" } }, - "projects/demo": {}, - "projects/igo2": { - "name": "igo", - "version": "17.0.1", - "license": "LiLiQ-R", - "dependencies": { - "@angular/animations": "^18.2.1", - "@angular/cdk": "^18.2.1", - "@angular/common": "^18.2.1", - "@angular/compiler": "^18.2.1", - "@angular/core": "^18.2.1", - "@angular/forms": "^18.2.1", - "@angular/material": "^18.2.1", - "@angular/platform-browser": "^18.2.1", - "@angular/platform-browser-dynamic": "^18.2.1", - "@angular/router": "^18.2.1", - "@angular/service-worker": "^18.2.1", - "@igo2/auth": "^18.0.0-next.1", - "@igo2/common": "^18.0.0-next.1", - "@igo2/context": "^18.0.0-next.1", - "@igo2/core": "^18.0.0-next.1", - "@igo2/geo": "^18.0.0-next.1", - "@igo2/integration": "^18.0.0-next.1", - "@igo2/utils": "^18.0.0-next.1", - "core-js": "^3.32.2", - "hammerjs": "^2.0.8", - "ol": "9.1.0", - "rxjs": "^7.8.0", - "tslib": "^2.6.0", - "zone.js": "~0.14.2" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^18.2.1", - "@angular/cli": "^18.2.1", - "@angular/compiler-cli": "^18.2.1", - "@cypress/schematic": "^2.5.1", - "@stylistic/eslint-plugin": "^2.6.4", - "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "@types/geojson": "^7946.0.10", - "@types/hammerjs": "^2.0.41", - "@types/jasmine": "^4.3.5", - "@types/jasminewd2": "~2.0.10", - "@types/node": "^20.6.2", - "angular-cli-ghpages": "^2.0.0", - "angular-eslint": "18.3.0", - "conventional-changelog-cli": "^4.1.0", - "cypress": "^13.2.0", - "eslint": "^9.9.0", - "execa": "^9.3.0", - "http-server": "^14.1.0", - "jasmine-core": "~5.1.0", - "jasmine-spec-reporter": "~7.0.0", - "karma": "~6.4.2", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "prettier": "^3.3.0", - "tsx": "^4.17.0", - "typescript": "~5.5.4", - "typescript-eslint": "^8.2.0" - }, - "engines": { - "node": ">=18.13.0" - } - }, - "projects/igo2/node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.3.0.tgz", - "integrity": "sha512-v/59FxUKnMzymVce99gV43huxoqXWMb85aKvzlNvLN+ScDu6ZE4YMiTQNpfapVL2lkxhs0uwB3jH17EYd5TcsA==", - "dev": true, - "license": "MIT" - }, - "projects/igo2/node_modules/@angular-eslint/schematics": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.3.0.tgz", - "integrity": "sha512-rQ4DEWwf3f5n096GAK6JvXD0SRzRJ52WRaIyKg8MMkk6qvUDfZI8seOkcbjDtZoIe6Ds7DfqSfJgNVte75qvPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/eslint-plugin": "18.3.0", - "@angular-eslint/eslint-plugin-template": "18.3.0", - "ignore": "5.3.2", - "semver": "7.6.3", - "strip-json-comments": "3.1.1" - }, - "peerDependencies": { - "@angular-devkit/core": ">= 18.0.0 < 19.0.0", - "@angular-devkit/schematics": ">= 18.0.0 < 19.0.0" - } - }, - "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", - "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin-template": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", - "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0", - "aria-query": "5.3.0", - "axobject-query": "4.1.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/utils": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", - "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-18.3.0.tgz", - "integrity": "sha512-neBE3BUtxj1EPPNVww3i/e8DKh/gb+fT/WpDEsRZM//8vS+qb0pMC04dn4bqeUriM05Nq/oUESdwkLuyadJE9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/builder": "18.3.0", - "@angular-eslint/eslint-plugin": "18.3.0", - "@angular-eslint/eslint-plugin-template": "18.3.0", - "@angular-eslint/schematics": "18.3.0", - "@angular-eslint/template-parser": "18.3.0" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*", - "typescript-eslint": "^8.0.0" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/builder": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.3.0.tgz", - "integrity": "sha512-httEQyqyBw3+0CRtAa7muFxHrauRfkEfk/jmrh5fn2Eiu+I53hAqFPgrwVi1V6AP/kj2zbAiWhd5xM3pMJdoRQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", - "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", - "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0", - "aria-query": "5.3.0", - "axobject-query": "4.1.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/utils": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", - "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/utils": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", - "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/template-parser": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.3.0.tgz", - "integrity": "sha512-1mUquqcnugI4qsoxcYZKZ6WMi6RPelDcJZg2YqGyuaIuhWmi3ZqJZLErSSpjP60+TbYZu7wM8Kchqa1bwJtEaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "eslint-scope": "^8.0.2" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "projects/igo2/node_modules/conventional-changelog": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-5.1.0.tgz", - "integrity": "sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-changelog-angular": "^7.0.0", - "conventional-changelog-atom": "^4.0.0", - "conventional-changelog-codemirror": "^4.0.0", - "conventional-changelog-conventionalcommits": "^7.0.2", - "conventional-changelog-core": "^7.0.0", - "conventional-changelog-ember": "^4.0.0", - "conventional-changelog-eslint": "^5.0.0", - "conventional-changelog-express": "^4.0.0", - "conventional-changelog-jquery": "^5.0.0", - "conventional-changelog-jshint": "^4.0.0", - "conventional-changelog-preset-loader": "^4.1.0" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-atom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-4.0.0.tgz", - "integrity": "sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-cli": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-4.1.0.tgz", - "integrity": "sha512-MscvILWZ6nWOoC+p/3Nn3D2cVLkjeQjyZPUr0bQ+vUORE/SPrkClJh8BOoMNpS4yk+zFJ5LlgXACxH6XGQoRXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog": "^5.1.0", - "meow": "^12.0.1", - "tempfile": "^5.0.0" - }, - "bin": { - "conventional-changelog": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-codemirror": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-4.0.0.tgz", - "integrity": "sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-7.0.0.tgz", - "integrity": "sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@hutson/parse-repository-url": "^5.0.0", - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^7.0.0", - "conventional-commits-parser": "^5.0.0", - "git-raw-commits": "^4.0.0", - "git-semver-tags": "^7.0.0", - "hosted-git-info": "^7.0.0", - "normalize-package-data": "^6.0.0", - "read-pkg": "^8.0.0", - "read-pkg-up": "^10.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-ember": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-4.0.0.tgz", - "integrity": "sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-eslint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-5.0.0.tgz", - "integrity": "sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-express": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-4.0.0.tgz", - "integrity": "sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-jquery": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-5.0.0.tgz", - "integrity": "sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-jshint": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-4.0.0.tgz", - "integrity": "sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg==", - "dev": true, - "license": "ISC", - "dependencies": { - "compare-func": "^2.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-preset-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-4.1.0.tgz", - "integrity": "sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-writer": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", - "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-commits-filter": "^4.0.0", - "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "meow": "^12.0.1", - "semver": "^7.5.2", - "split2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-commits-filter": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", - "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/git-semver-tags": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-7.0.1.tgz", - "integrity": "sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "meow": "^12.0.1", - "semver": "^7.5.2" - }, - "bin": { - "git-semver-tags": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/lines-and-columns": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "projects/igo2/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/parse-json": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", - "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/parse-json/node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/type-fest": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } + "projects/demo": {} } } diff --git a/packages/context/src/lib/context-manager/shared/layer-context.directive.ts b/packages/context/src/lib/context-manager/shared/layer-context.directive.ts index 7394ce70f..fb4a37a66 100644 --- a/packages/context/src/lib/context-manager/shared/layer-context.directive.ts +++ b/packages/context/src/lib/context-manager/shared/layer-context.directive.ts @@ -112,10 +112,12 @@ export class LayerContextDirective implements OnInit, OnDestroy { } }); - this.layerService - .createAsyncIdbLayers(context.uri) - .pipe(debounceTime(500)) - .subscribe((layers: Layer[]) => this.handleAddLayers(layers)); + if (this.configService.getConfig('offline')?.enable) { + this.layerService + .createAsyncIdbLayers(context.uri) + .pipe(debounceTime(500)) + .subscribe((layers) => this.handleAddLayers(layers)); + } } private handleAddLayers(layers: Layer[]) { diff --git a/packages/core/package.json b/packages/core/package.json index 8e868c107..ce4317498 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -107,7 +107,6 @@ "@angular/router": "^18.0.0", "@igo2/utils": "*", "@sentry/angular": "^8.26.0", - "ngx-indexed-db": "^19.0.0", "ngx-toastr": "^19.0.0", "@ngx-translate/core": "^15.0.0", "@ngx-translate/http-loader": "^8.0.0", diff --git a/packages/core/src/lib/core.module.ts b/packages/core/src/lib/core.module.ts index 55ac5d127..6cfa469e4 100644 --- a/packages/core/src/lib/core.module.ts +++ b/packages/core/src/lib/core.module.ts @@ -11,45 +11,13 @@ import { IgoLanguageModule, provideTranslation } from '@igo2/core/language'; import { provideMessage } from '@igo2/core/message'; import { IgoErrorModule } from '@igo2/core/request'; -import { DBConfig, NgxIndexedDBModule } from 'ngx-indexed-db'; - -const dbConfig: DBConfig = { - name: 'igo2DB', - version: 2, - objectStoresMeta: [ - { - store: 'geoData', - storeConfig: { keyPath: 'url', autoIncrement: false }, - storeSchema: [ - { name: 'regionID', keypath: 'regionID', options: { unique: false } } - ] - }, - { - store: 'layerData', - storeConfig: { keyPath: 'layerId', autoIncrement: false }, - storeSchema: [ - { - name: 'layerOptions', - keypath: 'layerOptions', - options: { unique: false } - }, - { - name: 'sourceOptions', - keypath: 'sourceOptions', - options: { unique: false } - } - ] - } - ] -}; @NgModule({ declarations: [], exports: [IgoActivityModule, IgoErrorModule, IgoLanguageModule], imports: [ CommonModule, IgoActivityModule.forRoot(), - IgoErrorModule.forRoot(), - NgxIndexedDBModule.forRoot(dbConfig) + IgoErrorModule.forRoot() ], providers: [provideMessage(), provideHttpClient(withInterceptorsFromDi())] }) diff --git a/packages/geo/src/lib/datasource/shared/capabilities.service.ts b/packages/geo/src/lib/datasource/shared/capabilities.service.ts index 3d45a72c3..72c225be1 100644 --- a/packages/geo/src/lib/datasource/shared/capabilities.service.ts +++ b/packages/geo/src/lib/datasource/shared/capabilities.service.ts @@ -20,7 +20,7 @@ import { ItemStyleOptions, LegendOptions } from '../../layer/shared/layers/legend.interface'; -import type { MapService } from '../../map/shared/map.service'; +import { MapService } from '../../map/shared/map.service'; import { getResolutionFromScale } from '../../map/shared/map.utils'; import { QueryFormat, diff --git a/packages/geo/src/lib/layer/shared/layer.service.ts b/packages/geo/src/lib/layer/shared/layer.service.ts index c5ecd0052..59d7fbce8 100644 --- a/packages/geo/src/lib/layer/shared/layer.service.ts +++ b/packages/geo/src/lib/layer/shared/layer.service.ts @@ -57,10 +57,10 @@ export class LayerService { private http: HttpClient, private styleService: StyleService, private dataSourceService: DataSourceService, - private geoNetworkService: GeoNetworkService, private messageService: MessageService, - private layerDBService: LayerDBService, - @Optional() private authInterceptor: AuthInterceptor + @Optional() private geoNetworkService?: GeoNetworkService, + @Optional() private layerDBService?: LayerDBService, + @Optional() private authInterceptor?: AuthInterceptor ) {} createLayer(layerOptions: AnyLayerOptions): Layer { @@ -204,7 +204,7 @@ export class LayerService { this.messageService, this.authInterceptor, this.geoNetworkService, - this.geoNetworkService.geoDBService, + this.geoNetworkService?.geoDBService, this.layerDBService ); } @@ -225,7 +225,7 @@ export class LayerService { this.messageService, this.authInterceptor, this.geoNetworkService, - this.geoNetworkService.geoDBService, + this.geoNetworkService?.geoDBService, this.layerDBService ); } @@ -240,7 +240,7 @@ export class LayerService { this.messageService, this.authInterceptor, this.geoNetworkService, - this.geoNetworkService.geoDBService, + this.geoNetworkService?.geoDBService, this.layerDBService ); } @@ -388,7 +388,7 @@ export class LayerService { } createAsyncIdbLayers(contextUri = '*'): Observable { - return this.layerDBService.getAll().pipe( + return this.layerDBService?.getAll().pipe( concatMap((res) => { const idbLayers = contextUri !== '*' diff --git a/packages/geo/src/lib/layer/shared/layers/layer.ts b/packages/geo/src/lib/layer/shared/layers/layer.ts index 7a54ba9eb..472822f3b 100644 --- a/packages/geo/src/lib/layer/shared/layers/layer.ts +++ b/packages/geo/src/lib/layer/shared/layers/layer.ts @@ -18,8 +18,6 @@ import { DataSource } from '../../../datasource/shared/datasources/datasource'; import { Legend } from '../../../datasource/shared/datasources/datasource.interface'; import type { MapBase } from '../../../map/shared/map.abstract'; import { getResolutionFromScale } from '../../../map/shared/map.utils'; -import { GeoDBService } from '../../../offline/geoDB/geoDB.service'; -import { LayerDBService } from '../../../offline/layerDB/layerDB.service'; import { LayerOptions } from './layer.interface'; export abstract class Layer { @@ -141,9 +139,7 @@ export abstract class Layer { constructor( public options: LayerOptions, protected messageService?: MessageService, - protected authInterceptor?: AuthInterceptor, - protected geoDBService?: GeoDBService, - public layerDBService?: LayerDBService + protected authInterceptor?: AuthInterceptor ) { this.dataSource = options.source; diff --git a/packages/geo/src/lib/layer/shared/layers/vector-layer.ts b/packages/geo/src/lib/layer/shared/layers/vector-layer.ts index 6bbe7c94f..ee486a302 100644 --- a/packages/geo/src/lib/layer/shared/layers/vector-layer.ts +++ b/packages/geo/src/lib/layer/shared/layers/vector-layer.ts @@ -88,13 +88,7 @@ export class VectorLayer extends Layer { public geoDBService?: GeoDBService, public layerDBService?: LayerDBService ) { - super( - options, - messageService, - authInterceptor, - geoDBService, - layerDBService - ); + super(options, messageService, authInterceptor); this.watcher = new VectorWatcher(this); this.status$ = this.watcher.status$; } diff --git a/packages/geo/src/lib/offline/geoDB/configFileToGeoDB.service.ts b/packages/geo/src/lib/offline/geoDB/configFileToGeoDB.service.ts index 4783db7ba..cfd960dde 100644 --- a/packages/geo/src/lib/offline/geoDB/configFileToGeoDB.service.ts +++ b/packages/geo/src/lib/offline/geoDB/configFileToGeoDB.service.ts @@ -12,9 +12,7 @@ import { InsertSourceInsertDBEnum } from './geoDB.enums'; import { DatasToIDB, GeoDBData } from './geoDB.interface'; import { GeoDBService } from './geoDB.service'; -@Injectable({ - providedIn: 'root' -}) +@Injectable() export class ConfigFileToGeoDBService { constructor( private http: HttpClient, diff --git a/packages/geo/src/lib/offline/geoDB/geoDB.service.ts b/packages/geo/src/lib/offline/geoDB/geoDB.service.ts index f634e7791..2c0eff6cb 100644 --- a/packages/geo/src/lib/offline/geoDB/geoDB.service.ts +++ b/packages/geo/src/lib/offline/geoDB/geoDB.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@angular/core'; +import { Injectable, Optional } from '@angular/core'; import { Compression } from '@igo2/utils'; @@ -9,16 +9,17 @@ import { concatMap, first, map, take } from 'rxjs/operators'; import { InsertSourceInsertDBEnum } from './geoDB.enums'; import { GeoDBData } from './geoDB.interface'; -@Injectable({ - providedIn: 'root' -}) +@Injectable() export class GeoDBService { readonly dbName: string = 'geoData'; public collisionsMap = new Map(); public _newData = 0; private compression = new Compression(); - constructor(private ngxIndexedDBService: NgxIndexedDBService) {} + constructor( + @Optional() + private ngxIndexedDBService: NgxIndexedDBService + ) {} /** * Only blob can be compressed @@ -60,12 +61,12 @@ export class GeoDBService { insertSource, insertEvent }; - return this.ngxIndexedDBService.getByID(this.dbName, url); + return this.ngxIndexedDBService?.getByID(this.dbName, url); }), concatMap((dbObject: GeoDBData) => { if (!dbObject) { this._newData++; - return this.ngxIndexedDBService.add(this.dbName, geoDBData); + return this.ngxIndexedDBService?.add(this.dbName, geoDBData); } else { const currentRegionID = dbObject.regionID; if (currentRegionID !== regionID) { @@ -90,7 +91,7 @@ export class GeoDBService { private customUpdate(geoDBData: GeoDBData): Observable { const subject = new Subject(); - const deleteRequest = this.ngxIndexedDBService.deleteByKey( + const deleteRequest = this.ngxIndexedDBService?.deleteByKey( this.dbName, geoDBData.url ); @@ -98,7 +99,7 @@ export class GeoDBService { .pipe( concatMap((isDeleted) => isDeleted - ? this.ngxIndexedDBService.add(this.dbName, geoDBData) + ? this.ngxIndexedDBService?.add(this.dbName, geoDBData) : of(undefined) ) ) @@ -112,7 +113,7 @@ export class GeoDBService { } get(url: string): Observable { - return this.ngxIndexedDBService.getByID(this.dbName, url).pipe( + return this.ngxIndexedDBService?.getByID(this.dbName, url).pipe( map((data: GeoDBData) => { if (data) { const object = data.object; @@ -126,11 +127,11 @@ export class GeoDBService { } getByID(url: string): Observable { - return this.ngxIndexedDBService.getByID(this.dbName, url); + return this.ngxIndexedDBService?.getByID(this.dbName, url); } deleteByKey(url: string): Observable { - return this.ngxIndexedDBService.deleteByKey(this.dbName, url); + return this.ngxIndexedDBService?.deleteByKey(this.dbName, url); } getRegionCountByID(id: number): Observable { @@ -148,7 +149,7 @@ export class GeoDBService { } const IDBKey: IDBKeyRange = IDBKeyRange.only(id); - const dbRequest = this.ngxIndexedDBService.getAllByIndex( + const dbRequest = this.ngxIndexedDBService?.getAllByIndex( this.dbName, 'regionID', IDBKey @@ -162,14 +163,14 @@ export class GeoDBService { } const IDBKey: IDBKeyRange = IDBKeyRange.only(id); - const dbRequest = this.ngxIndexedDBService.getAllByIndex( + const dbRequest = this.ngxIndexedDBService?.getAllByIndex( this.dbName, 'regionID', IDBKey ); dbRequest.subscribe((datas: GeoDBData[]) => { datas.forEach((data) => { - this.ngxIndexedDBService.deleteByKey(this.dbName, data.url); + this.ngxIndexedDBService?.deleteByKey(this.dbName, data.url); }); }); return dbRequest; @@ -179,7 +180,7 @@ export class GeoDBService { keyRange: IDBKeyRange = IDBKeyRange.lowerBound(0), mode: DBMode = DBMode.readonly ) { - const request = this.ngxIndexedDBService.openCursorByIndex( + const request = this.ngxIndexedDBService?.openCursorByIndex( this.dbName, 'regionID', keyRange, @@ -202,7 +203,7 @@ export class GeoDBService { for (const [regionID, collisions] of this.collisionsMap) { for (const url of collisions) { this.ngxIndexedDBService - .getByKey(this.dbName, url) + ?.getByKey(this.dbName, url) .pipe(take(1)) .subscribe((dbObject: GeoDBData) => { const updatedObject = dbObject; diff --git a/packages/geo/src/lib/offline/index.ts b/packages/geo/src/lib/offline/index.ts index 385434072..bc1b1e9db 100644 --- a/packages/geo/src/lib/offline/index.ts +++ b/packages/geo/src/lib/offline/index.ts @@ -1,3 +1,5 @@ export * from './geoDB'; export * from './layerDB'; export * from './shared'; +export * from './offline.interface'; +export * from './offline.provider'; diff --git a/packages/geo/src/lib/offline/layerDB/layerDB.service.ts b/packages/geo/src/lib/offline/layerDB/layerDB.service.ts index 55504a6e8..0c8463949 100644 --- a/packages/geo/src/lib/offline/layerDB/layerDB.service.ts +++ b/packages/geo/src/lib/offline/layerDB/layerDB.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@angular/core'; +import { Injectable, Optional } from '@angular/core'; import { NgxIndexedDBService } from 'ngx-indexed-db'; import { Observable, Subject, of } from 'rxjs'; @@ -6,13 +6,11 @@ import { concatMap, first } from 'rxjs/operators'; import { LayerDBData } from './layerDB.interface'; -@Injectable({ - providedIn: 'root' -}) +@Injectable() export class LayerDBService { readonly dbName: string = 'layerData'; - constructor(private ngxIndexedDBService: NgxIndexedDBService) {} + constructor(@Optional() private ngxIndexedDBService: NgxIndexedDBService) {} /** * This method allow to update the stored layer into the indexeddb (layerData) @@ -22,12 +20,12 @@ export class LayerDBService { update(layerDBData: LayerDBData): Observable { const subject = new Subject(); this.ngxIndexedDBService - .getByID(this.dbName, layerDBData.layerId) + ?.getByID(this.dbName, layerDBData.layerId) .pipe( first(), concatMap((dbObject: LayerDBData) => { if (!dbObject) { - return this.ngxIndexedDBService.add(this.dbName, layerDBData); + return this.ngxIndexedDBService?.add(this.dbName, layerDBData); } else { return this.customUpdate(layerDBData); } @@ -42,7 +40,7 @@ export class LayerDBService { private customUpdate(layerDBData: LayerDBData): Observable { const subject = new Subject(); - const deleteRequest = this.ngxIndexedDBService.deleteByKey( + const deleteRequest = this.ngxIndexedDBService?.deleteByKey( this.dbName, layerDBData.layerId ); @@ -50,7 +48,7 @@ export class LayerDBService { .pipe( concatMap((isDeleted) => isDeleted - ? this.ngxIndexedDBService.add(this.dbName, layerDBData) + ? this.ngxIndexedDBService?.add(this.dbName, layerDBData) : of(undefined) ) ) @@ -69,7 +67,7 @@ export class LayerDBService { * @returns */ getByID(layerId: string): Observable { - return this.ngxIndexedDBService.getByID(this.dbName, layerId); + return this.ngxIndexedDBService?.getByID(this.dbName, layerId); } /** @@ -78,7 +76,7 @@ export class LayerDBService { * @returns */ deleteByKey(layerId: string): Observable { - return this.ngxIndexedDBService.deleteByKey(this.dbName, layerId); + return this.ngxIndexedDBService?.deleteByKey(this.dbName, layerId); } /** @@ -87,6 +85,6 @@ export class LayerDBService { * @returns */ getAll(): Observable { - return this.ngxIndexedDBService.getAll(this.dbName); + return this.ngxIndexedDBService?.getAll(this.dbName); } } diff --git a/packages/geo/src/lib/offline/offline.interface.ts b/packages/geo/src/lib/offline/offline.interface.ts new file mode 100644 index 000000000..922e4e5c5 --- /dev/null +++ b/packages/geo/src/lib/offline/offline.interface.ts @@ -0,0 +1,3 @@ +export interface IOfflineOptions { + enable: boolean; +} diff --git a/packages/geo/src/lib/offline/offline.provider.ts b/packages/geo/src/lib/offline/offline.provider.ts new file mode 100644 index 000000000..60cdb6e04 --- /dev/null +++ b/packages/geo/src/lib/offline/offline.provider.ts @@ -0,0 +1,60 @@ +import { Provider } from '@angular/core'; + +import { CONFIG_TOKEN, DBConfig, NgxIndexedDBService } from 'ngx-indexed-db'; + +import { ConfigFileToGeoDBService, GeoDBService } from './geoDB'; +import { LayerDBService } from './layerDB'; +import { IOfflineOptions } from './offline.interface'; +import { GeoNetworkService } from './shared'; + +const dbConfig: DBConfig = { + name: 'igo2DB', + version: 2, + objectStoresMeta: [ + { + store: 'geoData', + storeConfig: { keyPath: 'url', autoIncrement: false }, + storeSchema: [ + { name: 'regionID', keypath: 'regionID', options: { unique: false } } + ] + }, + { + store: 'layerData', + storeConfig: { keyPath: 'layerId', autoIncrement: false }, + storeSchema: [ + { + name: 'layerOptions', + keypath: 'layerOptions', + options: { unique: false } + }, + { + name: 'sourceOptions', + keypath: 'sourceOptions', + options: { unique: false } + } + ] + } + ] +}; + +export function provideOffline( + options: IOfflineOptions | undefined +): Provider[] { + if (!options?.enable) { + return []; + } + + const dbConfigFormatted = {}; + for (const config of [dbConfig]) { + Object.assign(dbConfigFormatted, { [config.name]: dbConfig }); + } + + return [ + { provide: CONFIG_TOKEN, useValue: dbConfigFormatted }, + NgxIndexedDBService, + LayerDBService, + GeoDBService, + GeoNetworkService, + ConfigFileToGeoDBService + ]; +} diff --git a/packages/geo/src/lib/offline/shared/geo-network.service.ts b/packages/geo/src/lib/offline/shared/geo-network.service.ts index ca24b651f..803584c48 100644 --- a/packages/geo/src/lib/offline/shared/geo-network.service.ts +++ b/packages/geo/src/lib/offline/shared/geo-network.service.ts @@ -1,5 +1,5 @@ import { HttpClient } from '@angular/common/http'; -import { Injectable } from '@angular/core'; +import { Injectable, Optional } from '@angular/core'; import { ConnectionState, NetworkService } from '@igo2/core/network'; @@ -19,15 +19,13 @@ export interface SimpleGetOptions { responseType: Type; withCredentials?: boolean; } -@Injectable({ - providedIn: 'root' -}) +@Injectable() export class GeoNetworkService { private networkOnline = true; constructor( private http: HttpClient, - public geoDBService: GeoDBService, - private networkService: NetworkService + private networkService: NetworkService, + @Optional() public geoDBService?: GeoDBService ) { this.networkService.currentState().subscribe((state: ConnectionState) => { this.networkOnline = state.connection; @@ -76,7 +74,7 @@ export class GeoNetworkService { } private getOffline(url: string): Observable { - return this.geoDBService.get(url); + return this.geoDBService?.get(url); } public isOnline() { diff --git a/packages/integration/src/lib/environment/environment.interface.ts b/packages/integration/src/lib/environment/environment.interface.ts index 7b271a2f9..ee4d03286 100644 --- a/packages/integration/src/lib/environment/environment.interface.ts +++ b/packages/integration/src/lib/environment/environment.interface.ts @@ -5,7 +5,10 @@ import { BaseEnvironmentOptions, EnvironmentOptions as CoreEnvironmentOptions } from '@igo2/core/environment'; -import { EnvironmentOptions as GeoEnvironmentOptions } from '@igo2/geo'; +import { + EnvironmentOptions as GeoEnvironmentOptions, + IOfflineOptions +} from '@igo2/geo'; export type AllEnvironmentOptions = AuthEnvironmentOptions & CommonEnvironmentOptions & @@ -35,4 +38,5 @@ export interface AppOptions { enabled?: boolean; path?: string; }; + offline?: IOfflineOptions; } From c7b16d0f5beab8f2ca84f314600cf6ede3546d4f Mon Sep 17 00:00:00 2001 From: Alexandre Caron Date: Mon, 11 Nov 2024 10:49:08 -0500 Subject: [PATCH 04/16] fix: resync package-lock --- package-lock.json | 646 +++++++++++----------------------------------- 1 file changed, 157 insertions(+), 489 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8e1c33932..984dc7827 100644 --- a/package-lock.json +++ b/package-lock.json @@ -264,70 +264,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/sass": { "version": "1.77.6", "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", @@ -605,70 +541,6 @@ } } }, - "node_modules/@angular/build/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/@angular/build/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@angular/build/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/@angular/build/node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@angular/build/node_modules/sass": { "version": "1.77.6", "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", @@ -803,6 +675,36 @@ "typescript": ">=5.4 <5.6" } }, + "node_modules/@angular/compiler-cli/node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular/compiler-cli/node_modules/readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@angular/core": { "version": "18.2.11", "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.11.tgz", @@ -3324,6 +3226,36 @@ "fsevents": "~2.3.2" } }, + "node_modules/@compodoc/compodoc/node_modules/@angular-devkit/schematics/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/@compodoc/compodoc/node_modules/@angular-devkit/schematics/node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@compodoc/compodoc/node_modules/@babel/core": { "version": "7.25.8", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", @@ -3544,6 +3476,22 @@ "semver": "bin/semver.js" } }, + "node_modules/@compodoc/compodoc/node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@compodoc/compodoc/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -3580,33 +3528,17 @@ } }, "node_modules/@compodoc/compodoc/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/@compodoc/compodoc/node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { - "node": ">=8.6" + "node": ">= 14.16.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/@compodoc/live-server": { @@ -3638,31 +3570,6 @@ "node": ">=0.10.0" } }, - "node_modules/@compodoc/live-server/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/@compodoc/live-server/node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -3673,19 +3580,6 @@ "node": ">=8" } }, - "node_modules/@compodoc/live-server/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@compodoc/live-server/node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -3733,32 +3627,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@compodoc/live-server/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@compodoc/live-server/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/@compodoc/ngd-core": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@compodoc/ngd-core/-/ngd-core-2.1.1.tgz", @@ -9012,33 +8880,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/angular-cli-ghpages/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/angular-cli-ghpages/node_modules/commander": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", @@ -9046,21 +8887,6 @@ "dev": true, "license": "MIT" }, - "node_modules/angular-cli-ghpages/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/angular-cli-ghpages/node_modules/jsonc-parser": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", @@ -9068,36 +8894,6 @@ "dev": true, "license": "MIT" }, - "node_modules/angular-cli-ghpages/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/angular-cli-ghpages/node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/angular-eslint": { "version": "18.4.0", "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-18.4.0.tgz", @@ -10249,19 +10045,41 @@ } }, "node_modules/chokidar": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", - "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">= 14.16.0" + "node": ">= 8.10.0" }, "funding": { "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/chownr": { @@ -17234,31 +17052,6 @@ "concat-map": "0.0.1" } }, - "node_modules/karma/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/karma/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -17293,19 +17086,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/karma/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/karma/node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", @@ -17332,32 +17112,6 @@ "node": "*" } }, - "node_modules/karma/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/karma/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/karma/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -19257,31 +19011,6 @@ } } }, - "node_modules/ng-packagr/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/ng-packagr/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -19321,19 +19050,6 @@ "node": ">=8" } }, - "node_modules/ng-packagr/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/ng-packagr/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -19402,19 +19118,6 @@ "node": ">=8" } }, - "node_modules/ng-packagr/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/ng-packagr/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -19428,19 +19131,6 @@ "node": ">=8" } }, - "node_modules/ng-packagr/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/ng-packagr/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -24745,17 +24435,29 @@ "license": "MIT" }, "node_modules/readdirp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", - "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, "engines": { - "node": ">= 14.16.0" + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" }, "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/reflect-metadata": { @@ -25359,6 +25061,36 @@ "node": ">=18" } }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/sax": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", @@ -28960,31 +28692,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/webpack-dev-server/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -29006,19 +28713,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", @@ -29097,32 +28791,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/webpack-dev-server/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/webpack-dev-server/node_modules/rimraf": { "version": "5.0.10", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", From ed8acb118856acc88ef480f8b2f8a036d225124f Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 11 Nov 2024 15:55:48 +0000 Subject: [PATCH 05/16] chore(release): 18.0.0-next.2 [skip ci] # [18.0.0-next.2](https://github.com/infra-geo-ouverte/igo2-lib/compare/v18.0.0-next.1...v18.0.0-next.2) (2024-11-11) ### Bug Fixes * **core:** remove ngx-translate from deps ([94148a5](https://github.com/infra-geo-ouverte/igo2-lib/commit/94148a5b8e184e20e3d1897991bf15b4128d57e1)) * **geo:** circular dependencies and lint ([0df14c3](https://github.com/infra-geo-ouverte/igo2-lib/commit/0df14c3366379b42efa2c2a74ef739b3b155eef0)) * **geo:** hover directive undefined unsubscription ([68950da](https://github.com/infra-geo-ouverte/igo2-lib/commit/68950dafdcb5556f5062319668f41803076c31b5)) * **geo:** offline import dynamically ([4d7e630](https://github.com/infra-geo-ouverte/igo2-lib/commit/4d7e6305317d2bc6d425259ea6dc1c91af464cab)) * resync package-lock ([c7b16d0](https://github.com/infra-geo-ouverte/igo2-lib/commit/c7b16d0f5beab8f2ca84f314600cf6ede3546d4f)) --- package-lock.json | 18 +++++++++--------- package.json | 2 +- packages/auth/package.json | 2 +- packages/common/package.json | 2 +- packages/context/package.json | 2 +- packages/core/config/src/version.ts | 4 ++-- packages/core/package.json | 2 +- packages/geo/package.json | 2 +- packages/integration/package.json | 2 +- packages/utils/package.json | 2 +- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 984dc7827..b23bd7db5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "igo2-lib", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "igo2-lib", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -29346,7 +29346,7 @@ }, "packages/auth": { "name": "@igo2/auth", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "license": "MIT", "dependencies": { "jwt-decode": "^4.0.0", @@ -29374,7 +29374,7 @@ }, "packages/common": { "name": "@igo2/common", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29402,7 +29402,7 @@ }, "packages/context": { "name": "@igo2/context", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29428,7 +29428,7 @@ }, "packages/core": { "name": "@igo2/core", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29455,7 +29455,7 @@ }, "packages/geo": { "name": "@igo2/geo", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "license": "MIT", "dependencies": { "@turf/helpers": "^6.5.0", @@ -29503,7 +29503,7 @@ }, "packages/integration": { "name": "@igo2/integration", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29525,7 +29525,7 @@ }, "packages/utils": { "name": "@igo2/utils", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "license": "MIT", "dependencies": { "bowser": "^2.11.0", diff --git a/package.json b/package.json index 43ca3b079..121adcfab 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "packages/*", "projects/*" ], - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "description": "IGO Library", "author": "IGO Community", "license": "MIT", diff --git a/packages/auth/package.json b/packages/auth/package.json index f60874e72..29a442785 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/auth", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/common/package.json b/packages/common/package.json index 3eb4b54de..4be79461a 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/common", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/context/package.json b/packages/context/package.json index 54ce37826..9be8c6292 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/context", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/core/config/src/version.ts b/packages/core/config/src/version.ts index ec81d0047..eb16a633b 100644 --- a/packages/core/config/src/version.ts +++ b/packages/core/config/src/version.ts @@ -6,6 +6,6 @@ export interface Version { } export const version: Version = { - lib: '18.0.0-next.1', - releaseDate: 1725378824462 + lib: '18.0.0-next.2', + releaseDate: 1731340444614 }; diff --git a/packages/core/package.json b/packages/core/package.json index ce4317498..ac8b0b1ac 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/core", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/geo/package.json b/packages/geo/package.json index fb6d955bb..36a1f4173 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/geo", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/integration/package.json b/packages/integration/package.json index 62bee7186..3d48e22a4 100644 --- a/packages/integration/package.json +++ b/packages/integration/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/integration", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index 93493e1f2..91c9cbfd4 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/utils", - "version": "18.0.0-next.1", + "version": "18.0.0-next.2", "description": "IGO Library", "author": "IGO Community", "keywords": [ From c06872da5716eeb3a30c7e7a8bf0a94005d37395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-=C3=89tienne=20Lord?= <7397743+pelord@users.noreply.github.com> Date: Mon, 21 Oct 2024 16:10:44 -0400 Subject: [PATCH 06/16] feat(core): Allow to use secure cookies on https instances --- packages/core/analytics/src/analytics.service.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/analytics/src/analytics.service.ts b/packages/core/analytics/src/analytics.service.ts index 45a5203b9..77fc18877 100644 --- a/packages/core/analytics/src/analytics.service.ts +++ b/packages/core/analytics/src/analytics.service.ts @@ -36,6 +36,7 @@ export class AnalyticsService { (() => { this.paq.push(['setTrackerUrl', url + '.php']); this.paq.push(['setSiteId', this.options.id]); + this.paq.push(['setSecureCookie', location.protocol === 'https:']); const g = document.createElement('script'); const s = document.getElementsByTagName('script')[0]; g.type = 'text/javascript'; From 9bf8df6d958bddd66a4daf201d445ccd19620564 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 11 Nov 2024 16:58:52 +0000 Subject: [PATCH 07/16] chore(release): 18.0.0-next.3 [skip ci] # [18.0.0-next.3](https://github.com/infra-geo-ouverte/igo2-lib/compare/v18.0.0-next.2...v18.0.0-next.3) (2024-11-11) ### Features * **core:** Allow to use secure cookies on https instances ([c06872d](https://github.com/infra-geo-ouverte/igo2-lib/commit/c06872da5716eeb3a30c7e7a8bf0a94005d37395)) --- package-lock.json | 18 +++++++++--------- package.json | 2 +- packages/auth/package.json | 2 +- packages/common/package.json | 2 +- packages/context/package.json | 2 +- packages/core/config/src/version.ts | 4 ++-- packages/core/package.json | 2 +- packages/geo/package.json | 2 +- packages/integration/package.json | 2 +- packages/utils/package.json | 2 +- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index b23bd7db5..80211acf3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "igo2-lib", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "igo2-lib", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -29346,7 +29346,7 @@ }, "packages/auth": { "name": "@igo2/auth", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "license": "MIT", "dependencies": { "jwt-decode": "^4.0.0", @@ -29374,7 +29374,7 @@ }, "packages/common": { "name": "@igo2/common", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29402,7 +29402,7 @@ }, "packages/context": { "name": "@igo2/context", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29428,7 +29428,7 @@ }, "packages/core": { "name": "@igo2/core", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29455,7 +29455,7 @@ }, "packages/geo": { "name": "@igo2/geo", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "license": "MIT", "dependencies": { "@turf/helpers": "^6.5.0", @@ -29503,7 +29503,7 @@ }, "packages/integration": { "name": "@igo2/integration", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29525,7 +29525,7 @@ }, "packages/utils": { "name": "@igo2/utils", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "license": "MIT", "dependencies": { "bowser": "^2.11.0", diff --git a/package.json b/package.json index 121adcfab..d2ab2c7be 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "packages/*", "projects/*" ], - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "description": "IGO Library", "author": "IGO Community", "license": "MIT", diff --git a/packages/auth/package.json b/packages/auth/package.json index 29a442785..c350118c5 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/auth", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/common/package.json b/packages/common/package.json index 4be79461a..06db38ee2 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/common", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/context/package.json b/packages/context/package.json index 9be8c6292..4ea1b86e5 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/context", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/core/config/src/version.ts b/packages/core/config/src/version.ts index eb16a633b..f6b286f54 100644 --- a/packages/core/config/src/version.ts +++ b/packages/core/config/src/version.ts @@ -6,6 +6,6 @@ export interface Version { } export const version: Version = { - lib: '18.0.0-next.2', - releaseDate: 1731340444614 + lib: '18.0.0-next.3', + releaseDate: 1731344228219 }; diff --git a/packages/core/package.json b/packages/core/package.json index ac8b0b1ac..8b43134bc 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/core", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/geo/package.json b/packages/geo/package.json index 36a1f4173..d064d3b15 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/geo", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/integration/package.json b/packages/integration/package.json index 3d48e22a4..f252bdc41 100644 --- a/packages/integration/package.json +++ b/packages/integration/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/integration", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index 91c9cbfd4..c643a4819 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/utils", - "version": "18.0.0-next.2", + "version": "18.0.0-next.3", "description": "IGO Library", "author": "IGO Community", "keywords": [ From a3c059ed10a8353908b45595e09aa139d83b61a2 Mon Sep 17 00:00:00 2001 From: Alexandre Caron Date: Mon, 11 Nov 2024 15:28:19 -0500 Subject: [PATCH 08/16] fix(core): language add ability to define the default language fix(core): language use the browser language only if the default is not set --- .../language/src/shared/language.provider.ts | 14 ++++++++++---- .../core/language/src/shared/language.service.ts | 16 ++++++++++++++-- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/packages/core/language/src/shared/language.provider.ts b/packages/core/language/src/shared/language.provider.ts index 735faa27a..4c790963c 100644 --- a/packages/core/language/src/shared/language.provider.ts +++ b/packages/core/language/src/shared/language.provider.ts @@ -29,9 +29,14 @@ const TIMEOUT_DURATION = 5000; /** * Make sure you only call this method in the root module of your application, most of the time called AppModule. */ -export function provideTranslation(loader?: Provider): EnvironmentProviders { +export function provideTranslation( + defaultLanguage?: string | undefined, + loader?: Provider +): EnvironmentProviders { return makeEnvironmentProviders([ - importProvidersFrom(TranslateModule.forRoot(setTranslationConfig(loader))), + importProvidersFrom( + TranslateModule.forRoot(setTranslationConfig(loader, defaultLanguage)) + ), { provide: APP_INITIALIZER, useFactory: (languageService: LanguageService) => () => { @@ -53,9 +58,10 @@ export function provideTranslation(loader?: Provider): EnvironmentProviders { } export const setTranslationConfig = ( - loader?: Provider + loader?: Provider, + defaultLanguage?: string ): TranslateModuleConfig => ({ - defaultLanguage: 'fr', + defaultLanguage: defaultLanguage, loader: loader ?? DEFAULT_LANGUAGE_LOADER, missingTranslationHandler: { provide: MissingTranslationHandler, diff --git a/packages/core/language/src/shared/language.service.ts b/packages/core/language/src/shared/language.service.ts index e7d710d01..88abcef4d 100644 --- a/packages/core/language/src/shared/language.service.ts +++ b/packages/core/language/src/shared/language.service.ts @@ -11,6 +11,14 @@ export class LanguageService { readonly language$ = new BehaviorSubject(undefined); constructor(public translate: TranslateService) { + if ( + !this.translate.defaultLang || + !this.matchLanguage(this.translate.defaultLang) + ) { + this.setBrowserLanguage(); + } + } + private setBrowserLanguage() { this.language = this.translate.getBrowserLang(); const lang = this.getLanguage(); this.translate.setDefaultLang(lang); @@ -18,11 +26,15 @@ export class LanguageService { } public getLanguage(): string { - return this.language.match(/en|fr/) ? this.language : 'en'; + return this.matchLanguage(this.language) ? this.language : 'en'; + } + + private matchLanguage(lang: string): boolean { + return !!lang.match(/en|fr/); } public setLanguage(language: string) { - this.language = language.match(/en|fr/) ? language : 'en'; + this.language = this.matchLanguage(language) ? language : 'en'; combineLatest([ this.translate.use(this.language), this.translate.reloadLang(this.language) From 0408b1f4a8ed81bf24bc6b38515545138c6e0f53 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 12 Nov 2024 21:36:55 +0000 Subject: [PATCH 09/16] chore(release): 18.0.0-next.4 [skip ci] # [18.0.0-next.4](https://github.com/infra-geo-ouverte/igo2-lib/compare/v18.0.0-next.3...v18.0.0-next.4) (2024-11-12) ### Bug Fixes * **core:** language add ability to define the default language ([a3c059e](https://github.com/infra-geo-ouverte/igo2-lib/commit/a3c059ed10a8353908b45595e09aa139d83b61a2)) --- package-lock.json | 18 +++++++++--------- package.json | 2 +- packages/auth/package.json | 2 +- packages/common/package.json | 2 +- packages/context/package.json | 2 +- packages/core/config/src/version.ts | 4 ++-- packages/core/package.json | 2 +- packages/geo/package.json | 2 +- packages/integration/package.json | 2 +- packages/utils/package.json | 2 +- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80211acf3..a668e3274 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "igo2-lib", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "igo2-lib", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -29346,7 +29346,7 @@ }, "packages/auth": { "name": "@igo2/auth", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "license": "MIT", "dependencies": { "jwt-decode": "^4.0.0", @@ -29374,7 +29374,7 @@ }, "packages/common": { "name": "@igo2/common", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29402,7 +29402,7 @@ }, "packages/context": { "name": "@igo2/context", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29428,7 +29428,7 @@ }, "packages/core": { "name": "@igo2/core", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29455,7 +29455,7 @@ }, "packages/geo": { "name": "@igo2/geo", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "license": "MIT", "dependencies": { "@turf/helpers": "^6.5.0", @@ -29503,7 +29503,7 @@ }, "packages/integration": { "name": "@igo2/integration", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29525,7 +29525,7 @@ }, "packages/utils": { "name": "@igo2/utils", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "license": "MIT", "dependencies": { "bowser": "^2.11.0", diff --git a/package.json b/package.json index d2ab2c7be..a0ef074bf 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "packages/*", "projects/*" ], - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "description": "IGO Library", "author": "IGO Community", "license": "MIT", diff --git a/packages/auth/package.json b/packages/auth/package.json index c350118c5..b045cc27a 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/auth", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/common/package.json b/packages/common/package.json index 06db38ee2..e357871c5 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/common", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/context/package.json b/packages/context/package.json index 4ea1b86e5..e261d69f1 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/context", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/core/config/src/version.ts b/packages/core/config/src/version.ts index f6b286f54..8db52d9d2 100644 --- a/packages/core/config/src/version.ts +++ b/packages/core/config/src/version.ts @@ -6,6 +6,6 @@ export interface Version { } export const version: Version = { - lib: '18.0.0-next.3', - releaseDate: 1731344228219 + lib: '18.0.0-next.4', + releaseDate: 1731447313929 }; diff --git a/packages/core/package.json b/packages/core/package.json index 8b43134bc..fa87702e4 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/core", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/geo/package.json b/packages/geo/package.json index d064d3b15..0fba9a16e 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/geo", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/integration/package.json b/packages/integration/package.json index f252bdc41..3d59e2f6e 100644 --- a/packages/integration/package.json +++ b/packages/integration/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/integration", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index c643a4819..4a5c93275 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/utils", - "version": "18.0.0-next.3", + "version": "18.0.0-next.4", "description": "IGO Library", "author": "IGO Community", "keywords": [ From 0bd0ab96279aee33cfc6d6819792a0801681206c Mon Sep 17 00:00:00 2001 From: Alexandre Caron Date: Tue, 12 Nov 2024 10:08:48 -0500 Subject: [PATCH 10/16] fix(core): language add static loader and options to ignores libs locale --- .../language/src/shared/language.interface.ts | 1 + .../language/src/shared/language.loader.ts | 99 ++++++++++++------- .../language/src/shared/language.provider.ts | 81 ++++++++++++--- packages/core/src/lib/core.module.ts | 8 +- projects/demo/src/main.ts | 4 +- 5 files changed, 145 insertions(+), 48 deletions(-) diff --git a/packages/core/language/src/shared/language.interface.ts b/packages/core/language/src/shared/language.interface.ts index 117145af6..00d883d6d 100644 --- a/packages/core/language/src/shared/language.interface.ts +++ b/packages/core/language/src/shared/language.interface.ts @@ -3,6 +3,7 @@ import { Observable } from 'rxjs'; export interface LanguageOptions { prefix?: string | string[]; + ignoreLibsLocale?: boolean; } export abstract class LanguageLoaderBase implements TranslateLoader { diff --git a/packages/core/language/src/shared/language.loader.ts b/packages/core/language/src/shared/language.loader.ts index 0ae30aa06..548f854f8 100644 --- a/packages/core/language/src/shared/language.loader.ts +++ b/packages/core/language/src/shared/language.loader.ts @@ -3,9 +3,18 @@ import { HttpBackend, HttpClient } from '@angular/common/http'; import { ConfigService } from '@igo2/core/config'; import { ObjectUtils } from '@igo2/utils'; -import { BehaviorSubject, first, forkJoin, map, switchMap, tap } from 'rxjs'; +import { + BehaviorSubject, + Observable, + first, + forkJoin, + map, + of, + switchMap, + tap +} from 'rxjs'; -import { LanguageLoaderBase } from './language.interface'; +import { LanguageLoaderBase, LanguageOptions } from './language.interface'; export class LanguageLoader implements LanguageLoaderBase { private httpClient: HttpClient; @@ -13,47 +22,71 @@ export class LanguageLoader implements LanguageLoaderBase { private _isLoaded$ = new BehaviorSubject(null); isLoaded$ = this._isLoaded$.asObservable(); + suffix = '.json'; + prefix?: string | string[]; + options: LanguageOptions; + + constructor(handler: HttpBackend, options: LanguageOptions) { + this.httpClient = new HttpClient(handler); + this.options = options; + } + + public getTranslation(lang: string): Observable { + const igoLocale$ = this.httpClient.get(`locale/libs_locale/${lang}.json`); + if (!this.prefix) { + const prefix = this.options.prefix; + this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix]; + } + + if (!this.prefix || this.prefix.length === 0) { + this._isLoaded$.next(true); + return this.options.ignoreLibsLocale ? of(undefined) : igoLocale$; + } + + const appLocale$ = (this.prefix as string[]).map((prefix) => + this.httpClient.get(`${prefix}${lang}${this.suffix}`) + ); + + const locale$ = [...appLocale$]; + + if (!this.options.ignoreLibsLocale) { + locale$.unshift(igoLocale$); + } + + return forkJoin(locale$).pipe( + map((translations) => { + return translations.reduce( + (acc, current) => ObjectUtils.mergeDeep(acc, current), + {} + ); + }), + tap(() => { + this._isLoaded$.next(true); + }) + ); + } +} + +export class LanguageLoaderWithAsyncConfig extends LanguageLoader { constructor( handler: HttpBackend, private configService: ConfigService, - private prefix?: string | string[], - private suffix = '.json' + prefix?: string | string[], + suffix = '.json' ) { - this.httpClient = new HttpClient(handler); + super(handler, undefined); + this.prefix = prefix; + this.suffix = suffix; } - public getTranslation(lang: string): any { - const igoLocale$ = this.httpClient.get(`locale/libs_locale/${lang}.json`); + public getTranslation(lang: string): Observable { return this.configService.isLoaded$.pipe( first((isLoaded) => isLoaded), switchMap(() => { - if (this.configService && !this.prefix) { - const prefix = this.configService.getConfig('language.prefix'); - this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix]; - } - - if (!this.prefix || this.prefix.length === 0) { - this._isLoaded$.next(true); - return igoLocale$; - } - - const appLocale$ = (this.prefix as string[]).map((prefix) => - this.httpClient.get(`${prefix}${lang}${this.suffix}`) - ); + this.options = + this.configService.getConfig('language'); - const locale$ = forkJoin([igoLocale$, ...appLocale$]); - - return locale$.pipe( - map((translations) => { - return translations.reduce( - (acc, current) => ObjectUtils.mergeDeep(acc, current), - {} - ); - }), - tap(() => { - this._isLoaded$.next(true); - }) - ); + return super.getTranslation(lang); }) ); } diff --git a/packages/core/language/src/shared/language.provider.ts b/packages/core/language/src/shared/language.provider.ts index 4c790963c..b1448b53e 100644 --- a/packages/core/language/src/shared/language.provider.ts +++ b/packages/core/language/src/shared/language.provider.ts @@ -18,25 +18,34 @@ import { import { first } from 'rxjs'; import { catchError, timeout } from 'rxjs/operators'; -import { LanguageLoaderBase } from './language.interface'; -import { LanguageLoader } from './language.loader'; +import { LanguageLoaderBase, LanguageOptions } from './language.interface'; +import { + LanguageLoader, + LanguageLoaderWithAsyncConfig +} from './language.loader'; import { LanguageService } from './language.service'; import { IgoMissingTranslationHandler } from './missing-translation.guard'; // 5 seconds const TIMEOUT_DURATION = 5000; +export interface TranslationFeature { + kind: KindT; + providers: (Provider | EnvironmentProviders)[]; +} + +export enum TranslationFeatureKind { + Translation = 0 +} + /** * Make sure you only call this method in the root module of your application, most of the time called AppModule. */ export function provideTranslation( - defaultLanguage?: string | undefined, - loader?: Provider + featureConfig: TranslationFeature ): EnvironmentProviders { return makeEnvironmentProviders([ - importProvidersFrom( - TranslateModule.forRoot(setTranslationConfig(loader, defaultLanguage)) - ), + ...featureConfig.providers, { provide: APP_INITIALIZER, useFactory: (languageService: LanguageService) => () => { @@ -57,6 +66,43 @@ export function provideTranslation( ]); } +export function withStaticConfig( + options: LanguageOptions, + defaultLanguage?: string | undefined +): TranslationFeature { + const loader: Provider = { + provide: TranslateLoader, + useFactory: (http: HttpBackend) => languageLoaderWithStatic(http, options), + deps: [HttpBackend] + }; + return { + kind: TranslationFeatureKind.Translation, + providers: [ + importProvidersFrom( + TranslateModule.forRoot(setTranslationConfig(loader, defaultLanguage)) + ) + ] + }; +} + +export function withAsyncConfig( + defaultLanguage?: string | undefined +): TranslationFeature { + const loader: Provider = { + provide: TranslateLoader, + useFactory: languageLoaderWithAsync, + deps: [HttpBackend, ConfigService] + }; + return { + kind: TranslationFeatureKind.Translation, + providers: [ + importProvidersFrom( + TranslateModule.forRoot(setTranslationConfig(loader, defaultLanguage)) + ) + ] + }; +} + export const setTranslationConfig = ( loader?: Provider, defaultLanguage?: string @@ -69,12 +115,25 @@ export const setTranslationConfig = ( } }); -export const DEFAULT_LANGUAGE_LOADER: Provider = { +function languageLoaderWithStatic( + http: HttpBackend, + options?: LanguageOptions +) { + return new LanguageLoader(http, options); +} + +export const LANGUAGE_LOADER: Provider = { provide: TranslateLoader, - useFactory: defaultLanguageLoader, + useFactory: languageLoaderWithAsync, deps: [HttpBackend, ConfigService] }; -function defaultLanguageLoader(http: HttpBackend, config?: ConfigService) { - return new LanguageLoader(http, config, undefined, undefined); +function languageLoaderWithAsync(http: HttpBackend, config?: ConfigService) { + return new LanguageLoaderWithAsyncConfig(http, config, undefined, undefined); } + +export const DEFAULT_LANGUAGE_LOADER: Provider = { + provide: TranslateLoader, + useFactory: languageLoaderWithAsync, + deps: [HttpBackend, ConfigService] +}; diff --git a/packages/core/src/lib/core.module.ts b/packages/core/src/lib/core.module.ts index 6cfa469e4..257470465 100644 --- a/packages/core/src/lib/core.module.ts +++ b/packages/core/src/lib/core.module.ts @@ -7,7 +7,11 @@ import { ModuleWithProviders, NgModule } from '@angular/core'; import { IgoActivityModule } from '@igo2/core/activity'; import { ConfigOptions, provideConfig } from '@igo2/core/config'; -import { IgoLanguageModule, provideTranslation } from '@igo2/core/language'; +import { + IgoLanguageModule, + provideTranslation, + withAsyncConfig +} from '@igo2/core/language'; import { provideMessage } from '@igo2/core/message'; import { IgoErrorModule } from '@igo2/core/request'; @@ -27,7 +31,7 @@ export class IgoCoreModule { ): ModuleWithProviders { return { ngModule: IgoCoreModule, - providers: [provideConfig(options), provideTranslation()] + providers: [provideConfig(options), provideTranslation(withAsyncConfig())] }; } } diff --git a/projects/demo/src/main.ts b/projects/demo/src/main.ts index cd7ad2320..4b9e2246f 100644 --- a/projects/demo/src/main.ts +++ b/projects/demo/src/main.ts @@ -26,7 +26,7 @@ import { provideAuthentification } from '@igo2/auth'; import { provideIcon } from '@igo2/common/icon'; import { IgoCoreModule } from '@igo2/core'; import { provideConfig } from '@igo2/core/config'; -import { provideTranslation } from '@igo2/core/language'; +import { provideTranslation, withStaticConfig } from '@igo2/core/language'; import { AppComponent } from './app/app.component'; import { routes } from './app/app.routing'; @@ -61,7 +61,7 @@ bootstrapApplication(AppComponent, { provideConfig({ default: environment.igo }), - provideTranslation(), + provideTranslation(withStaticConfig(environment.igo.language)), provideAuthentification(), provideIcon(), { From 09c11e20b7f7cfac54a9609b4a53c371644ac611 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 12 Nov 2024 22:11:04 +0000 Subject: [PATCH 11/16] chore(release): 18.0.0-next.5 [skip ci] # [18.0.0-next.5](https://github.com/infra-geo-ouverte/igo2-lib/compare/v18.0.0-next.4...v18.0.0-next.5) (2024-11-12) ### Bug Fixes * **core:** language add static loader and options to ignores libs locale ([0bd0ab9](https://github.com/infra-geo-ouverte/igo2-lib/commit/0bd0ab96279aee33cfc6d6819792a0801681206c)) --- package-lock.json | 18 +++++++++--------- package.json | 2 +- packages/auth/package.json | 2 +- packages/common/package.json | 2 +- packages/context/package.json | 2 +- packages/core/config/src/version.ts | 4 ++-- packages/core/package.json | 2 +- packages/geo/package.json | 2 +- packages/integration/package.json | 2 +- packages/utils/package.json | 2 +- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index a668e3274..6904d46af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "igo2-lib", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "igo2-lib", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -29346,7 +29346,7 @@ }, "packages/auth": { "name": "@igo2/auth", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "license": "MIT", "dependencies": { "jwt-decode": "^4.0.0", @@ -29374,7 +29374,7 @@ }, "packages/common": { "name": "@igo2/common", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29402,7 +29402,7 @@ }, "packages/context": { "name": "@igo2/context", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29428,7 +29428,7 @@ }, "packages/core": { "name": "@igo2/core", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29455,7 +29455,7 @@ }, "packages/geo": { "name": "@igo2/geo", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "license": "MIT", "dependencies": { "@turf/helpers": "^6.5.0", @@ -29503,7 +29503,7 @@ }, "packages/integration": { "name": "@igo2/integration", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29525,7 +29525,7 @@ }, "packages/utils": { "name": "@igo2/utils", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "license": "MIT", "dependencies": { "bowser": "^2.11.0", diff --git a/package.json b/package.json index a0ef074bf..6fbb0afbe 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "packages/*", "projects/*" ], - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "description": "IGO Library", "author": "IGO Community", "license": "MIT", diff --git a/packages/auth/package.json b/packages/auth/package.json index b045cc27a..fe115488a 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/auth", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/common/package.json b/packages/common/package.json index e357871c5..16f46abab 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/common", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/context/package.json b/packages/context/package.json index e261d69f1..1da0c1c19 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/context", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/core/config/src/version.ts b/packages/core/config/src/version.ts index 8db52d9d2..069fc7296 100644 --- a/packages/core/config/src/version.ts +++ b/packages/core/config/src/version.ts @@ -6,6 +6,6 @@ export interface Version { } export const version: Version = { - lib: '18.0.0-next.4', - releaseDate: 1731447313929 + lib: '18.0.0-next.5', + releaseDate: 1731449362073 }; diff --git a/packages/core/package.json b/packages/core/package.json index fa87702e4..30cb96c38 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/core", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/geo/package.json b/packages/geo/package.json index 0fba9a16e..964b4a3ac 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/geo", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/integration/package.json b/packages/integration/package.json index 3d59e2f6e..2276c67d4 100644 --- a/packages/integration/package.json +++ b/packages/integration/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/integration", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index 4a5c93275..be57ac411 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/utils", - "version": "18.0.0-next.4", + "version": "18.0.0-next.5", "description": "IGO Library", "author": "IGO Community", "keywords": [ From 8fee5c4810d576acf29472ee7097ba8fd352ee93 Mon Sep 17 00:00:00 2001 From: Alexandre Caron Date: Wed, 27 Nov 2024 07:54:28 -0500 Subject: [PATCH 12/16] fix(geo): use the new ngx-indexed-db API --- package-lock.json | 2635 +++++++++++------ .../geo/src/lib/offline/offline.provider.ts | 15 +- 2 files changed, 1692 insertions(+), 958 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6904d46af..16e6df8c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -120,13 +120,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1802.11", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.11.tgz", - "integrity": "sha512-p+XIc/j51aI83ExNdeZwvkm1F4wkuKMGUUoj0MVUUi5E6NoiMlXYm6uU8+HbRvPBzGy5+3KOiGp3Fks0UmDSAA==", + "version": "0.1802.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.12.tgz", + "integrity": "sha512-bepVb2/GtJppYKaeW8yTGE6egmoWZ7zagFDsmBdbF+BYp+HmeoPsclARcdryBPVq68zedyTRdvhWSUTbw1AYuw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.11", + "@angular-devkit/core": "18.2.12", "rxjs": "7.8.1" }, "engines": { @@ -136,17 +136,17 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.11.tgz", - "integrity": "sha512-09Ln3NAdlMw/wMLgnwYU5VgWV5TPBEHolZUIvE9D8b6SFWBCowk3B3RWeAMgg7Peuf9SKwqQHBz2b1C7RTP/8g==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.12.tgz", + "integrity": "sha512-quVUi7eqTq9OHumQFNl9Y8t2opm8miu4rlYnuF6rbujmmBDvdUvR6trFChueRczl2p5HWqTOr6NPoDGQm8AyNw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.11", - "@angular-devkit/build-webpack": "0.1802.11", - "@angular-devkit/core": "18.2.11", - "@angular/build": "18.2.11", + "@angular-devkit/architect": "0.1802.12", + "@angular-devkit/build-webpack": "0.1802.12", + "@angular-devkit/core": "18.2.12", + "@angular/build": "18.2.12", "@babel/core": "7.25.2", "@babel/generator": "7.25.0", "@babel/helper-annotate-as-pure": "7.24.7", @@ -157,7 +157,7 @@ "@babel/preset-env": "7.25.3", "@babel/runtime": "7.25.0", "@discoveryjs/json-ext": "0.6.1", - "@ngtools/webpack": "18.2.11", + "@ngtools/webpack": "18.2.12", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", @@ -264,6 +264,13 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "dev": true, + "license": "MIT" + }, "node_modules/@angular-devkit/build-angular/node_modules/sass": { "version": "1.77.6", "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", @@ -290,13 +297,13 @@ "license": "0BSD" }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1802.11", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.11.tgz", - "integrity": "sha512-G76rNsyn1iQk7qjyr+K4rnDzfalmEswmwXQorypSDGaHYzIDY1SZXMoP4225WMq5fJNBOJrk82FA0PSfnPE+zQ==", + "version": "0.1802.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.12.tgz", + "integrity": "sha512-0Z3fdbZVRnjYWE2/VYyfy+uieY+6YZyEp4ylzklVkc+fmLNsnz4Zw6cK1LzzcBqAwKIyh1IdW20Cg7o8b0sONA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1802.11", + "@angular-devkit/architect": "0.1802.12", "rxjs": "7.8.1" }, "engines": { @@ -310,9 +317,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.11.tgz", - "integrity": "sha512-H9P1shRGigORWJHUY2BRa2YurT+DVminrhuaYHsbhXBRsPmgB2Dx/30YLTnC1s5XmR9QIRUCsg/d3kyT1wd5Zg==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.12.tgz", + "integrity": "sha512-NtB6ypsaDyPE6/fqWOdfTmACs+yK5RqfH5tStEzWFeeDsIEDYKsJ06ypuRep7qTjYus5Rmttk0Ds+cFgz8JdUQ==", "dev": true, "license": "MIT", "dependencies": { @@ -338,13 +345,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.11.tgz", - "integrity": "sha512-efRK3FotTFp4KD5u42jWfXpHUALXB9kJNsWiB4wEImKFH6CN+vjBspJQuLqk2oeBFh/7D2qRMc5P+2tZHM5hdw==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.12.tgz", + "integrity": "sha512-mMea9txHbnCX5lXLHlo0RAgfhFHDio45/jMsREM2PA8UtVf2S8ltXz7ZwUrUyMQRv8vaSfn4ijDstF4hDMnRgQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.11", + "@angular-devkit/core": "18.2.12", "jsonc-parser": "3.3.1", "magic-string": "0.30.11", "ora": "5.4.1", @@ -357,9 +364,9 @@ } }, "node_modules/@angular-eslint/builder": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.4.0.tgz", - "integrity": "sha512-FOzGHX/nHSV1wSduSsabsx3aqC1nfde0opEpEDSOJhxExDxKCwoS1XPy1aERGyKip4ZVA6phC3dLtoBH3QMkVQ==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.4.2.tgz", + "integrity": "sha512-eyI9sreaM9ukA24PCJoSqsjCYOiBf3TZ/Q1WY8PG0SwQWc03qJNqPl5K+/Ptmsc1RtoDCLCU6uaOBFPhb9lDxw==", "dev": true, "license": "MIT", "peerDependencies": { @@ -368,21 +375,21 @@ } }, "node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.4.0.tgz", - "integrity": "sha512-HlFHt2qgdd+jqyVIkCXmrjHauXo/XY3Rp0UNabk83ejGi/raM/6lEFI7iFWzHxLyiAKk4OgGI5W26giSQw991A==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.4.2.tgz", + "integrity": "sha512-K7pqmZI3Dl75zlLexyaM7bw4xdgk/3bhP1B6uqDKML9+vIIvccCR2bGvqFurqeFbJlMykzb3H4jytT+HpqV4tg==", "dev": true, "license": "MIT" }, "node_modules/@angular-eslint/eslint-plugin": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.4.0.tgz", - "integrity": "sha512-Saz9lkWPN3da7ZKW17UsOSN7DeY+TPh+wz/6GCNZCh67Uw2wvMC9agb+4hgpZNXYCP5+u7erqzxQmBoWnS/A+A==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.4.2.tgz", + "integrity": "sha512-Oem4W2P54cPADN9rJenLj90rqDPUQWx5kZiz84FCnsSn5DBdsI5LGQoogNT9y3Jx/9VL/VGIMMA5B6qG+0hVlg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", - "@angular-eslint/utils": "18.4.0" + "@angular-eslint/bundled-angular-compiler": "18.4.2", + "@angular-eslint/utils": "18.4.2" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", @@ -391,14 +398,14 @@ } }, "node_modules/@angular-eslint/eslint-plugin-template": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.4.0.tgz", - "integrity": "sha512-n3uZFCy76DnggPqjSVFV3gYD1ik7jCG28o2/HO4kobcMNKnwW8XAlFUagQ4TipNQh7fQiAefsEqvv2quMsYDVw==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.4.2.tgz", + "integrity": "sha512-v9msmIdZK6lOEC4ScDeYKFLpszpJ5Ei+8ifkT7fXXKmPaWtPJtMbW+VGOUNm5Ezi+xByAGCn1qU+OF2aJ/4CLw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", - "@angular-eslint/utils": "18.4.0", + "@angular-eslint/bundled-angular-compiler": "18.4.2", + "@angular-eslint/utils": "18.4.2", "aria-query": "5.3.2", "axobject-query": "4.1.0" }, @@ -410,15 +417,15 @@ } }, "node_modules/@angular-eslint/schematics": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.4.0.tgz", - "integrity": "sha512-ssqe+0YCfekbWIXNdCrHfoPK/bPZAWybs0Bn/b99dfd8h8uyXkERo9AzIOx4Uyj/08SkP9aPL/0uOOEHDsRGwQ==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.4.2.tgz", + "integrity": "sha512-pZCc3NhfwRT5S0DGXTzKbl3dD4I8K4LRYot+Aq4rzY5LtiGHDSi4PKu2M0OBSRrQFQXq7/2gDXGO0AvH6LX97w==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/eslint-plugin": "18.4.0", - "@angular-eslint/eslint-plugin-template": "18.4.0", - "ignore": "5.3.2", + "@angular-eslint/eslint-plugin": "18.4.2", + "@angular-eslint/eslint-plugin-template": "18.4.2", + "ignore": "6.0.2", "semver": "7.6.3", "strip-json-comments": "3.1.1" }, @@ -428,13 +435,13 @@ } }, "node_modules/@angular-eslint/template-parser": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.4.0.tgz", - "integrity": "sha512-VTep3Xd3IOaRIPL+JN/TV4/2DqUPbjtF3TNY15diD/llnrEhqFnmsvMihexbQyTqzOG+zU554oK44YfvAtHOrw==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.4.2.tgz", + "integrity": "sha512-KGjDLUxMsdjaxC+8VTxCG07Q6qshOTWMYTvp2LZ4QBySDQnQuFwsIJIJfU8jJwzJCkPKfVpnyuHggAn7fdYnxA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", + "@angular-eslint/bundled-angular-compiler": "18.4.2", "eslint-scope": "^8.0.2" }, "peerDependencies": { @@ -443,13 +450,13 @@ } }, "node_modules/@angular-eslint/utils": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.4.0.tgz", - "integrity": "sha512-At1yS8GRviGBoaupiQwEOL4/IcZJCE/+2vpXdItMWPGB1HWetxlKAUZTMmIBX/r5Z7CoXxl+LbqpGhrhyzIQAg==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.4.2.tgz", + "integrity": "sha512-+c0r33QSkAnGmu/DYAPfzJJk5QDX4TP2d6EFtsenrufqRkZqrOcK4Q5t61J92Ukkr03XoqTzTDSBjlwAfM56Rw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0" + "@angular-eslint/bundled-angular-compiler": "18.4.2" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", @@ -458,9 +465,9 @@ } }, "node_modules/@angular/animations": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.11.tgz", - "integrity": "sha512-ghgXa2VhtyJJnTMuH2NYxCMsveQbZno44AZGygPqrcW8UQMQe9GulFaTXCH5s6/so2CLy2ZviIwSZQRgK0ZlDw==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.13.tgz", + "integrity": "sha512-rG5J5Ek5Hg+Tz2NjkNOaG6PupiNK/lPfophXpsR1t/nWujqnMWX2krahD/i6kgD+jNWNKCJCYSOVvCx/BHOtKA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -469,18 +476,18 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.11" + "@angular/core": "18.2.13" } }, "node_modules/@angular/build": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.11.tgz", - "integrity": "sha512-AgirvSCmqUKiDE3C0rl3JA68OkOqQWDKUvjqRHXCkhxldLVOVoeIl87+jBYK/v9gcmk+K+ju+5wbGEfu1FjhiQ==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.12.tgz", + "integrity": "sha512-4Ohz+OSILoL+cCAQ4UTiCT5v6pctu3fXNoNpTEUK46OmxELk9jDITO5rNyNS7TxBn9wY69kjX5VcDf7MenquFQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.11", + "@angular-devkit/architect": "0.1802.12", "@babel/core": "7.25.2", "@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-split-export-declaration": "7.24.7", @@ -541,6 +548,13 @@ } } }, + "node_modules/@angular/build/node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "dev": true, + "license": "MIT" + }, "node_modules/@angular/build/node_modules/sass": { "version": "1.77.6", "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", @@ -560,9 +574,9 @@ } }, "node_modules/@angular/cdk": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.12.tgz", - "integrity": "sha512-FOklA6KatPtb0yO0doRhBI/UVY23A8ZhOSws5VuZTQl/6r/jXEXGV9n5JQj4rm8t/6IrReO55hdyw9XfHfZFjQ==", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.14.tgz", + "integrity": "sha512-vDyOh1lwjfVk9OqoroZAP8pf3xxKUvyl+TVR8nJxL4c5fOfUFkD7l94HaanqKSRwJcI2xiztuu92IVoHn8T33Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -577,18 +591,18 @@ } }, "node_modules/@angular/cli": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.11.tgz", - "integrity": "sha512-0JI1xjOLRemBPjdT/yVlabxc3Zkjqa/lhvVxxVC1XhKoW7yGxIGwNrQ4pka4CcQtCuktO6KPMmTGIu8YgC3cpw==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.12.tgz", + "integrity": "sha512-xhuZ/b7IhqNw1MgXf+arWf4x+GfUSt/IwbdWU4+CO8A7h0Y46zQywouP/KUK3cMQZfVdHdciTBvlpF3vFacA6Q==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1802.11", - "@angular-devkit/core": "18.2.11", - "@angular-devkit/schematics": "18.2.11", + "@angular-devkit/architect": "0.1802.12", + "@angular-devkit/core": "18.2.12", + "@angular-devkit/schematics": "18.2.12", "@inquirer/prompts": "5.3.8", "@listr2/prompt-adapter-inquirer": "2.0.15", - "@schematics/angular": "18.2.11", + "@schematics/angular": "18.2.12", "@yarnpkg/lockfile": "1.1.0", "ini": "4.1.3", "jsonc-parser": "3.3.1", @@ -611,9 +625,9 @@ } }, "node_modules/@angular/common": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.11.tgz", - "integrity": "sha512-bamJeISl2zUlvjPYebQWazUjhjXU9nrot42cQJng94SkvNENT9LTWfPYgc+Bd972Kg+31jG4H41rgFNs7zySmw==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.13.tgz", + "integrity": "sha512-4ZqrNp1PoZo7VNvW+sbSc2CB2axP1sCH2wXl8B0wdjsj8JY1hF1OhuugwhpAHtGxqewed2kCXayE+ZJqSTV4jw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -622,14 +636,14 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.11", + "@angular/core": "18.2.13", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.11.tgz", - "integrity": "sha512-PSVL1YXUhTzkgJNYXiWk9eAZxNV6laQJRGdj9++C1q9m2S9/GlehZGzkt5GtC5rlUweJucCNvBC1+2D5FAt9vA==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.13.tgz", + "integrity": "sha512-TzWcrkopyjFF+WeDr2cRe8CcHjU72KfYV3Sm2TkBkcXrkYX5sDjGWrBGrG3hRB4e4okqchrOCvm1MiTdy2vKMA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -638,7 +652,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.11" + "@angular/core": "18.2.13" }, "peerDependenciesMeta": { "@angular/core": { @@ -647,9 +661,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.11.tgz", - "integrity": "sha512-YJlAOiXZUYP6/RK9isu5AOucmNZhFB9lpY/beMzkkWgDku+va8szm4BZbLJFz176IUteyLWF3IP4aE7P9OBlXw==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.13.tgz", + "integrity": "sha512-DBSh4AQwkiJDSiVvJATRmjxf6wyUs9pwQLgaFdSlfuTRO+sdb0J2z1r3BYm8t0IqdoyXzdZq2YCH43EmyvD71g==", "dev": true, "license": "MIT", "dependencies": { @@ -671,7 +685,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "18.2.11", + "@angular/compiler": "18.2.13", "typescript": ">=5.4 <5.6" } }, @@ -706,9 +720,9 @@ } }, "node_modules/@angular/core": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.11.tgz", - "integrity": "sha512-/AGAFyZN8KR+kW5FUFCCBCj3qHyDDum7G0lJe5otrT9AqF6+g7PjF8yLha/6wPkJG7ri5xGLhini1sEivVeq/g==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.13.tgz", + "integrity": "sha512-8mbWHMgO95OuFV1Ejy4oKmbe9NOJ3WazQf/f7wks8Bck7pcihd0IKhlPBNjFllbF5o+04EYSwFhEtvEgjMDClA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -722,9 +736,9 @@ } }, "node_modules/@angular/forms": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.11.tgz", - "integrity": "sha512-QjxayOxDTqsTJGBzfWd3nms1LZIXj2f1+wIPxxUNXyNS5ZaM7hBWkz2BTFYeewlD/HdNj0alNVCYK3M8ElLWYw==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.13.tgz", + "integrity": "sha512-A67D867fu3DSBhdLWWZl/F5pr7v2+dRM2u3U7ZJ0ewh4a+sv+0yqWdJW+a8xIoiHxS+btGEJL2qAKJiH+MCFfg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -733,23 +747,23 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.11", - "@angular/core": "18.2.11", - "@angular/platform-browser": "18.2.11", + "@angular/common": "18.2.13", + "@angular/core": "18.2.13", + "@angular/platform-browser": "18.2.13", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.12.tgz", - "integrity": "sha512-5q8Os6i3D1e3qN+RqP95UgIR+Kx3goncSSYDeT6yPNrdrcqcWdyDPXGK6UsZqTTx/CJee/I7ZxgVVK1YDoVASQ==", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.14.tgz", + "integrity": "sha512-28pxzJP49Mymt664WnCtPkKeg7kXUsQKTKGf/Kl95rNTEdTJLbnlcc8wV0rT0yQNR7kXgpfBnG7h0ETLv/iu5Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^18.0.0 || ^19.0.0", - "@angular/cdk": "18.2.12", + "@angular/cdk": "18.2.14", "@angular/common": "^18.0.0 || ^19.0.0", "@angular/core": "^18.0.0 || ^19.0.0", "@angular/forms": "^18.0.0 || ^19.0.0", @@ -758,9 +772,9 @@ } }, "node_modules/@angular/material-moment-adapter": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-18.2.12.tgz", - "integrity": "sha512-Xcdw0FU58HhIwEvMePvtmcqvCBln02W4wvMuT8OhZaTr4r//I2jK0op3fr65zYcHdQxN8QLedWo1CTK2wAQo1w==", + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-18.2.14.tgz", + "integrity": "sha512-igICm+qQl/KeglU4LcCHgSaaoJR6RUlDzpCs2+kfLSnsvAy5Z0ZauW3pbIsCEIDb0zknBqos9d8x+pXg/bncCQ==", "license": "MIT", "peer": true, "dependencies": { @@ -768,14 +782,14 @@ }, "peerDependencies": { "@angular/core": "^18.0.0 || ^19.0.0", - "@angular/material": "18.2.12", + "@angular/material": "18.2.14", "moment": "^2.18.1" } }, "node_modules/@angular/platform-browser": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.11.tgz", - "integrity": "sha512-bzcP0QdPT/ncTxOx0t7901z5m0wDmkraTo/es4g8reV6VK9Ptv0QDuD8aDvrHh7sLCX5VgwDF9ohc6S2TpYUCA==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.13.tgz", + "integrity": "sha512-tu7ZzY6qD3ATdWFzcTcsAKe7M6cJeWbT/4/bF9unyGO3XBPcNYDKoiz10+7ap2PUd0fmPwvuvTvSNJiFEBnB8Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -784,9 +798,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "18.2.11", - "@angular/common": "18.2.11", - "@angular/core": "18.2.11" + "@angular/animations": "18.2.13", + "@angular/common": "18.2.13", + "@angular/core": "18.2.13" }, "peerDependenciesMeta": { "@angular/animations": { @@ -795,9 +809,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.11.tgz", - "integrity": "sha512-a30U4ZdTZSvL17xWwOq6xh9ToCDP2K7/j1HTJFREObbuAtZTa/6IVgBUM6oOMNQ43kHkT6Mr9Emkgf9iGtWwfw==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.13.tgz", + "integrity": "sha512-kbQCf9+8EpuJC7buBxhSiwBtXvjAwAKh6MznD6zd2pyCYqfY6gfRCZQRtK59IfgVtKmEONWI9grEyNIRoTmqJg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -806,16 +820,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.11", - "@angular/compiler": "18.2.11", - "@angular/core": "18.2.11", - "@angular/platform-browser": "18.2.11" + "@angular/common": "18.2.13", + "@angular/compiler": "18.2.13", + "@angular/core": "18.2.13", + "@angular/platform-browser": "18.2.13" } }, "node_modules/@angular/router": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.11.tgz", - "integrity": "sha512-xh4+t4pNBWxeH1a6GIoEGVSRZO4NDKK8q6b+AzB5GBgKsYgOz2lc74RXIPA//pK3aHrS9qD4sJLlodwgE/1+bA==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.13.tgz", + "integrity": "sha512-VKmfgi/r/CkyBq9nChQ/ptmfu0JT/8ONnLVJ5H+SkFLRYJcIRyHLKjRihMCyVm6xM5yktOdCaW73NTQrFz7+bg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -824,12 +838,31 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.11", - "@angular/core": "18.2.11", - "@angular/platform-browser": "18.2.11", + "@angular/common": "18.2.13", + "@angular/core": "18.2.13", + "@angular/platform-browser": "18.2.13", "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@angular/service-worker": { + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-18.2.13.tgz", + "integrity": "sha512-fVC943qEqGNUy923NMmSSzfoIqNw2k2UbG/3Y4QEmel/nZFWHA3PhiYr+lE7J3RhRHFMmnNP1bmXDJgy+R+pzA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "bin": { + "ngsw-config": "ngsw-config.js" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/common": "18.2.13", + "@angular/core": "18.2.13" + } + }, "node_modules/@azure/msal-angular": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@azure/msal-angular/-/msal-angular-3.1.0.tgz", @@ -1097,9 +1130,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", "dev": true, "license": "MIT", "dependencies": { @@ -2841,14 +2874,14 @@ } }, "node_modules/@commitlint/cli": { - "version": "19.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.5.0.tgz", - "integrity": "sha512-gaGqSliGwB86MDmAAKAtV9SV1SHdmN8pnGq4EJU4+hLisQ7IFfx4jvU4s+pk6tl0+9bv6yT+CaZkufOinkSJIQ==", + "version": "19.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.6.0.tgz", + "integrity": "sha512-v17BgGD9w5KnthaKxXnEg6KLq6DYiAxyiN44TpiRtqyW8NSq+Kx99mkEG8Qo6uu6cI5eMzMojW2muJxjmPnF8w==", "dev": true, "license": "MIT", "dependencies": { "@commitlint/format": "^19.5.0", - "@commitlint/lint": "^19.5.0", + "@commitlint/lint": "^19.6.0", "@commitlint/load": "^19.5.0", "@commitlint/read": "^19.5.0", "@commitlint/types": "^19.5.0", @@ -2863,9 +2896,9 @@ } }, "node_modules/@commitlint/config-conventional": { - "version": "19.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.5.0.tgz", - "integrity": "sha512-OBhdtJyHNPryZKg0fFpZNOBM1ZDbntMvqMuSmpfyP86XSfwzGw4CaoYRG4RutUPg0BTK07VMRIkNJT6wi2zthg==", + "version": "19.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.6.0.tgz", + "integrity": "sha512-DJT40iMnTYtBtUfw9ApbsLZFke1zKh6llITVJ+x9mtpHD08gsNXaIRqHTmwTZL3dNX5+WoyK7pCN/5zswvkBCQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2933,9 +2966,9 @@ } }, "node_modules/@commitlint/is-ignored": { - "version": "19.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.5.0.tgz", - "integrity": "sha512-0XQ7Llsf9iL/ANtwyZ6G0NGp5Y3EQ8eDQSxv/SRcfJ0awlBY4tHFAvwWbw66FVUaWICH7iE5en+FD9TQsokZ5w==", + "version": "19.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.6.0.tgz", + "integrity": "sha512-Ov6iBgxJQFR9koOupDPHvcHU9keFupDgtB3lObdEZDroiG4jj1rzky60fbQozFKVYRTUdrBGICHG0YVmRuAJmw==", "dev": true, "license": "MIT", "dependencies": { @@ -2947,15 +2980,15 @@ } }, "node_modules/@commitlint/lint": { - "version": "19.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.5.0.tgz", - "integrity": "sha512-cAAQwJcRtiBxQWO0eprrAbOurtJz8U6MgYqLz+p9kLElirzSCc0vGMcyCaA1O7AqBuxo11l1XsY3FhOFowLAAg==", + "version": "19.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.6.0.tgz", + "integrity": "sha512-LRo7zDkXtcIrpco9RnfhOKeg8PAnE3oDDoalnrVU/EVaKHYBWYL1DlRR7+3AWn0JiBqD8yKOfetVxJGdEtZ0tg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/is-ignored": "^19.5.0", + "@commitlint/is-ignored": "^19.6.0", "@commitlint/parse": "^19.5.0", - "@commitlint/rules": "^19.5.0", + "@commitlint/rules": "^19.6.0", "@commitlint/types": "^19.5.0" }, "engines": { @@ -3045,9 +3078,9 @@ } }, "node_modules/@commitlint/rules": { - "version": "19.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.5.0.tgz", - "integrity": "sha512-hDW5TPyf/h1/EufSHEKSp6Hs+YVsDMHazfJ2azIk9tHPXS6UqSz1dIRs1gpqS3eMXgtkT7JH6TW4IShdqOwhAw==", + "version": "19.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.6.0.tgz", + "integrity": "sha512-1f2reW7lbrI0X0ozZMesS/WZxgPa4/wi56vFuJENBmed6mWq5KsheN/nxqnl/C23ioxpPO/PL6tXpiiFy5Bhjw==", "dev": true, "license": "MIT", "dependencies": { @@ -4239,9 +4272,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", - "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.0.tgz", + "integrity": "sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4278,9 +4311,9 @@ } }, "node_modules/@eslint/core": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", - "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.0.tgz", + "integrity": "sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4288,9 +4321,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", "dev": true, "license": "MIT", "dependencies": { @@ -4352,6 +4385,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -4373,9 +4416,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz", - "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.15.0.tgz", + "integrity": "sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==", "dev": true, "license": "MIT", "engines": { @@ -4393,9 +4436,9 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", - "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz", + "integrity": "sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4606,15 +4649,22 @@ } }, "node_modules/@inquirer/core/node_modules/@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "version": "22.10.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.0.tgz", + "integrity": "sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.8" + "undici-types": "~6.20.0" } }, + "node_modules/@inquirer/core/node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true, + "license": "MIT" + }, "node_modules/@inquirer/editor": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.2.0.tgz", @@ -4646,9 +4696,9 @@ } }, "node_modules/@inquirer/figures": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.7.tgz", - "integrity": "sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.8.tgz", + "integrity": "sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==", "dev": true, "license": "MIT", "engines": { @@ -5239,9 +5289,9 @@ ] }, "node_modules/@ngtools/webpack": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.11.tgz", - "integrity": "sha512-iTdUGJ5O7yMm1DyCzyoMDMxBJ68emUSSXPWbQzEEdcqmtifRebn+VAq4vHN8OmtGM1mtuKeLEsbiZP8ywrw7Ug==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.12.tgz", + "integrity": "sha512-FFJAwtWbtpncMOVNuULPBwFJB7GSjiUwO93eGTzRp8O4EPQ8lCQeFbezQm/NP34+T0+GBLGzPSuQT+muob8YKw==", "dev": true, "license": "MIT", "engines": { @@ -5681,13 +5731,13 @@ "license": "MIT" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.5.tgz", - "integrity": "sha512-cgwIRtKrpwhLoBi0CUNuY83DPGRMaWVjqVI/bGKsLJ4PzyWZNaEmhHroI2xlrVXkk6nFv0IsZpOp+ZWSWUS2AQ==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.6.tgz", + "integrity": "sha512-zcvqqf/+TicbTCa/Z+3w4eBJcAxCFymtc0UAIsR3dEVoNilWld4oXdscQ3laXamTszUZdusw97K8+DrbFiOwjw==", "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^13.6.0" + "@octokit/types": "^13.6.2" }, "engines": { "node": ">= 18" @@ -5761,9 +5811,9 @@ } }, "node_modules/@octokit/types": { - "version": "13.6.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.1.tgz", - "integrity": "sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==", + "version": "13.6.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.2.tgz", + "integrity": "sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==", "dev": true, "license": "MIT", "dependencies": { @@ -6103,9 +6153,9 @@ "optional": true }, "node_modules/@petamoriken/float16": { - "version": "3.8.7", - "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.8.7.tgz", - "integrity": "sha512-/Ri4xDDpe12NT6Ex/DRgHzLlobiQXEW/hmG08w1wj/YU7hLemk97c+zHQFp0iZQ9r7YqgLEXZR2sls4HxBf9NA==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.9.0.tgz", + "integrity": "sha512-rYUZ+VFjPHD0NT2JYKj64NxXxrV642IiyaUxxorTEj0S3hT7B5Ixezyc9Fn+XvSk0ETEBp5VWjGIErzh0ug0Xw==", "license": "MIT" }, "node_modules/@pkgjs/parseargs": { @@ -6458,9 +6508,9 @@ ] }, "node_modules/@rollup/wasm-node": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.25.0.tgz", - "integrity": "sha512-Brhz6gK/43E9lpMkbcfg06hRHctpMkbmy1JzOU2JWub3teujTNqou1xWTQgt9CRu15WGTt78t7p7rNxGIBZv+g==", + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.27.4.tgz", + "integrity": "sha512-Q1b1A1RAP4Pp4qwU59n4819nJ4v4CDgBbY1/FbC1pW5PmHHI36yyqDMB0BW/F+3lLDt0KDd+t7tBrki9oSEg/w==", "dev": true, "license": "MIT", "dependencies": { @@ -6478,14 +6528,14 @@ } }, "node_modules/@schematics/angular": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.11.tgz", - "integrity": "sha512-jT54mc9+hPOwie9bji/g2krVuK1kkNh2PNFGwfgCg3Ofmt3hcyOBai1DKuot5uLTX4VCCbvfwiVR/hJniQl2SA==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.12.tgz", + "integrity": "sha512-sIoeipsisK5eTLW3XuNZYcal83AfslBbgI7LnV+3VrXwpasKPGHwo2ZdwhCd2IXAkuJ02Iyu7MyV0aQRM9i/3g==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.11", - "@angular-devkit/schematics": "18.2.11", + "@angular-devkit/core": "18.2.12", + "@angular-devkit/schematics": "18.2.12", "jsonc-parser": "3.3.1" }, "engines": { @@ -7052,141 +7102,121 @@ } }, "node_modules/@sentry-internal/browser-utils": { - "version": "8.37.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.37.1.tgz", - "integrity": "sha512-OSR/V5GCsSCG7iapWtXCT/y22uo3HlawdEgfM1NIKk1mkP15UyGQtGEzZDdih2H+SNuX1mp9jQLTjr5FFp1A5w==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.40.0.tgz", + "integrity": "sha512-tx7gb/PWMbTEyil/XPETVeRUeS3nKHIvQY2omyebw30TbhyLnibPZsUmXJiaIysL5PcY3k9maub3W/o0Y37T7Q==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/core": "8.37.1", - "@sentry/types": "8.37.1", - "@sentry/utils": "8.37.1" + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback": { - "version": "8.37.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.37.1.tgz", - "integrity": "sha512-Se25NXbSapgS2S+JssR5YZ48b3OY4UGmAuBOafgnMW91LXMxRNWRbehZuNUmjjHwuywABMxjgu+Yp5uJDATX+g==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.40.0.tgz", + "integrity": "sha512-1O9F3z80HNE0VfepKS+v+dixdatNqWlrlwgvvWl4BGzzoA+XhqvZo+HWxiOt7yx7+k1TuZNrB6Gy3u/QvpozXA==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/core": "8.37.1", - "@sentry/types": "8.37.1", - "@sentry/utils": "8.37.1" + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay": { - "version": "8.37.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.37.1.tgz", - "integrity": "sha512-E/Plhisk/pXJjOdOU12sg8m/APTXTA21iEniidP6jW3/+O0tD/H/UovEqa4odNTqxPMa798xHQSQNt5loYiaLA==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.40.0.tgz", + "integrity": "sha512-0SaDsBCSWxNVgNmPKu23frrHEXzN/MKl0hIkfuO55vL5TgjLTwpgkf0Ne4rNvaZQ5omIKk9Qd63HuQP3PHAMaw==", "license": "MIT", "peer": true, "dependencies": { - "@sentry-internal/browser-utils": "8.37.1", - "@sentry/core": "8.37.1", - "@sentry/types": "8.37.1", - "@sentry/utils": "8.37.1" + "@sentry-internal/browser-utils": "8.40.0", + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "8.37.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.37.1.tgz", - "integrity": "sha512-1JLAaPtn1VL5vblB0BMELFV0D+KUm/iMGsrl4/JpRm0Ws5ESzQl33DhXVv1IX/ZAbx9i14EjR7MG9+Hj70tieQ==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.40.0.tgz", + "integrity": "sha512-Zr+m/le0SH4RowZB7rBCM0aRnvH3wZTaOFhwUk03/oGf2BRcgKuDCUMjnXKC9MyOpmey7UYXkzb8ro+81R6Q8w==", "license": "MIT", "peer": true, "dependencies": { - "@sentry-internal/replay": "8.37.1", - "@sentry/core": "8.37.1", - "@sentry/types": "8.37.1", - "@sentry/utils": "8.37.1" + "@sentry-internal/replay": "8.40.0", + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/angular": { - "version": "8.37.1", - "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.37.1.tgz", - "integrity": "sha512-N6IdxEUwVlB5qqd7UR0fiEvWoJrNA4rcdKot0W9uN3G9lqmff5EB3EUIvw9xFZJgZ695WNVZ1f+irvqXt+rYJA==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.40.0.tgz", + "integrity": "sha512-zHq+wI353AmsWuJv7usWY2/EhYfQdS1cao8/88ygKiPp/zUgqZbBQY/qDKpRdRadeosyyd1is53necGN61B1gg==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/browser": "8.37.1", - "@sentry/core": "8.37.1", - "@sentry/types": "8.37.1", - "@sentry/utils": "8.37.1", + "@sentry/browser": "8.40.0", + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0", "tslib": "^2.4.1" }, "engines": { "node": ">=14.18" }, "peerDependencies": { - "@angular/common": ">= 14.x <= 18.x", - "@angular/core": ">= 14.x <= 18.x", - "@angular/router": ">= 14.x <= 18.x", + "@angular/common": ">= 14.x <= 19.x", + "@angular/core": ">= 14.x <= 19.x", + "@angular/router": ">= 14.x <= 19.x", "rxjs": "^6.5.5 || ^7.x" } }, "node_modules/@sentry/browser": { - "version": "8.37.1", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.37.1.tgz", - "integrity": "sha512-5ym+iGiIpjIKKpMWi9S3/tXh9xneS+jqxwRTJqed3cb8i4ydfMAAP8sM3U8xMCWWABpWyIUW+fpewC0tkhE1aQ==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.40.0.tgz", + "integrity": "sha512-m/Yor6IDBeDHtQochu8n6z4HXrXkrPhu6+o5Ouve0Zi3ptthSoK1FOGvJxVBat3nRq0ydQyuuPuTB6WfdWbwHQ==", "license": "MIT", "peer": true, "dependencies": { - "@sentry-internal/browser-utils": "8.37.1", - "@sentry-internal/feedback": "8.37.1", - "@sentry-internal/replay": "8.37.1", - "@sentry-internal/replay-canvas": "8.37.1", - "@sentry/core": "8.37.1", - "@sentry/types": "8.37.1", - "@sentry/utils": "8.37.1" + "@sentry-internal/browser-utils": "8.40.0", + "@sentry-internal/feedback": "8.40.0", + "@sentry-internal/replay": "8.40.0", + "@sentry-internal/replay-canvas": "8.40.0", + "@sentry/core": "8.40.0", + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/core": { - "version": "8.37.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.37.1.tgz", - "integrity": "sha512-82csXby589iDupM3VgCHJeWZagUyEEaDnbFcoZ/Z91QX2Sjq8FcF5OsforoXjw09i0XTFqlkFAnQVpDBmMXcpQ==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.40.0.tgz", + "integrity": "sha512-u/U2CJpG/+SmTR2bPM4ZZoPYTJAOUuxzj/0IURnvI0v9+rNu939J/fzrO9huA5IJVxS5TiYykhQm7o6I3Zuo3Q==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/types": "8.37.1", - "@sentry/utils": "8.37.1" + "@sentry/types": "8.40.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/types": { - "version": "8.37.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.37.1.tgz", - "integrity": "sha512-ryMOTROLSLINKFEbHWvi7GigNrsQhsaScw2NddybJGztJQ5UhxIGESnxGxWCufBmWFDwd7+5u0jDPCVUJybp7w==", - "license": "MIT", - "engines": { - "node": ">=14.18" - } - }, - "node_modules/@sentry/utils": { - "version": "8.37.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.37.1.tgz", - "integrity": "sha512-Qtn2IfpII12K17txG/ZtTci35XYjYi4CxbQ3j7nXY7toGv/+MqPXwV5q2i9g94XaSXlE5Wy9/hoCZoZpZs/djA==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.40.0.tgz", + "integrity": "sha512-nuCf3U3deolPM9BjNnwCc33UtFl9ec15/r74ngAkNccn+A2JXdIAsDkGJMO/9mgSFykLe1QyeJ0pQFRisCGOiA==", "license": "MIT", - "peer": true, - "dependencies": { - "@sentry/types": "8.37.1" - }, "engines": { "node": ">=14.18" } @@ -7305,13 +7335,13 @@ "license": "MIT" }, "node_modules/@stylistic/eslint-plugin": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.10.1.tgz", - "integrity": "sha512-U+4yzNXElTf9q0kEfnloI9XbOyD4cnEQCxjUI94q0+W++0GAEQvJ/slwEj9lwjDHfGADRSr+Tco/z0XJvmDfCQ==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.11.0.tgz", + "integrity": "sha512-PNRHbydNG5EH8NK4c+izdJlxajIR6GxcUhzsYNRsn6Myep4dsZt0qFCz3rCPnkvgO5FYibDcMqgNHUT+zvjYZw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.12.2", + "@typescript-eslint/utils": "^8.13.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "estraverse": "^5.3.0", @@ -7335,10 +7365,24 @@ "pnpm": ">=8.6.0" } }, + "node_modules/@thednp/position-observer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@thednp/position-observer/-/position-observer-1.0.5.tgz", + "integrity": "sha512-3ceT4kl8okq4HMMqQ3+7UGosf6u5p6n95kvYUqtgJGTSE69LcU4ep5NjeSChEmvk/I9V/3tNMMlXYKCSWYq61Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@thednp/shorty": "^2.0.9" + }, + "engines": { + "node": ">=16", + "pnpm": ">=8.6.0" + } + }, "node_modules/@thednp/shorty": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@thednp/shorty/-/shorty-2.0.7.tgz", - "integrity": "sha512-PQ388ZznrgnkikwkDCqqFfkGAYWXS2ijFmXD63Ej47Md6VrV5WJqhgQilhu3tSkzddtbDJlz4tQTj4RYVrWUoA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@thednp/shorty/-/shorty-2.0.9.tgz", + "integrity": "sha512-btulzTMSxSQxNipN5iLMtw6MaTrZ3P0feRUX/rl2fZ1m31RI56PC967lnN5bwUCpZLzry0pl9QoCKlT3GtU+mw==", "dev": true, "license": "MIT", "engines": { @@ -7815,9 +7859,9 @@ } }, "node_modules/@types/conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.1.tgz", + "integrity": "sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7862,9 +7906,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", - "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz", + "integrity": "sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==", "dev": true, "license": "MIT", "dependencies": { @@ -7932,6 +7976,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/jasminewd2": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.13.tgz", + "integrity": "sha512-aJ3wj8tXMpBrzQ5ghIaqMisD8C3FIrcO6sDKHqFbuqAsI7yOxj0fA7MrRCPLZHIVUjERIwsMmGn/vB0UQ9u0Hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/jasmine": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -7974,9 +8028,9 @@ } }, "node_modules/@types/node": { - "version": "20.17.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz", - "integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==", + "version": "20.17.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.8.tgz", + "integrity": "sha512-ahz2g6/oqbKalW9sPv6L2iRbhLnojxjYWspAqhjvqSWBgGebEJT5GvRmk0QXPj3sbC6rU0GTQjPLQkmR8CObvA==", "dev": true, "license": "MIT", "dependencies": { @@ -8135,17 +8189,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.13.0.tgz", - "integrity": "sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.16.0.tgz", + "integrity": "sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/type-utils": "8.13.0", - "@typescript-eslint/utils": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", + "@typescript-eslint/scope-manager": "8.16.0", + "@typescript-eslint/type-utils": "8.16.0", + "@typescript-eslint/utils": "8.16.0", + "@typescript-eslint/visitor-keys": "8.16.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -8168,17 +8222,27 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/@typescript-eslint/parser": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.13.0.tgz", - "integrity": "sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.16.0.tgz", + "integrity": "sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/typescript-estree": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", + "@typescript-eslint/scope-manager": "8.16.0", + "@typescript-eslint/types": "8.16.0", + "@typescript-eslint/typescript-estree": "8.16.0", + "@typescript-eslint/visitor-keys": "8.16.0", "debug": "^4.3.4" }, "engines": { @@ -8198,14 +8262,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz", - "integrity": "sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.16.0.tgz", + "integrity": "sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0" + "@typescript-eslint/types": "8.16.0", + "@typescript-eslint/visitor-keys": "8.16.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8216,14 +8280,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.13.0.tgz", - "integrity": "sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.16.0.tgz", + "integrity": "sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.13.0", - "@typescript-eslint/utils": "8.13.0", + "@typescript-eslint/typescript-estree": "8.16.0", + "@typescript-eslint/utils": "8.16.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -8234,6 +8298,9 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, "peerDependenciesMeta": { "typescript": { "optional": true @@ -8241,9 +8308,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.13.0.tgz", - "integrity": "sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.16.0.tgz", + "integrity": "sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==", "dev": true, "license": "MIT", "engines": { @@ -8255,14 +8322,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz", - "integrity": "sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.16.0.tgz", + "integrity": "sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", + "@typescript-eslint/types": "8.16.0", + "@typescript-eslint/visitor-keys": "8.16.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -8284,16 +8351,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.13.0.tgz", - "integrity": "sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.16.0.tgz", + "integrity": "sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/typescript-estree": "8.13.0" + "@typescript-eslint/scope-manager": "8.16.0", + "@typescript-eslint/types": "8.16.0", + "@typescript-eslint/typescript-estree": "8.16.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8304,17 +8371,22 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz", - "integrity": "sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.16.0.tgz", + "integrity": "sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.13.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "8.16.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8324,19 +8396,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@vitejs/plugin-basic-ssl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz", @@ -8351,52 +8410,52 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz", - "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.12", + "@vue/shared": "3.5.13", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz", - "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz", - "integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.12", - "@vue/compiler-dom": "3.5.12", - "@vue/compiler-ssr": "3.5.12", - "@vue/shared": "3.5.12", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", "estree-walker": "^2.0.2", "magic-string": "^0.30.11", - "postcss": "^8.4.47", + "postcss": "^8.4.48", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-sfc/node_modules/postcss": { - "version": "8.4.48", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.48.tgz", - "integrity": "sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "dev": true, "funding": [ { @@ -8423,20 +8482,20 @@ } }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz", - "integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", "dev": true, "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" } }, "node_modules/@vue/shared": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz", - "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", "dev": true, "license": "MIT" }, @@ -8895,17 +8954,17 @@ "license": "MIT" }, "node_modules/angular-eslint": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-18.4.0.tgz", - "integrity": "sha512-fEayKOZlux9YhnZfWN8zNU0VlBRB+G2m/2T+R2njWlGpD1+XhieCVZPB9dh5Jv/wEvcfPypEWE3DgH4MqIRxKA==", + "version": "18.4.2", + "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-18.4.2.tgz", + "integrity": "sha512-wRcUxbvlFVr1S+67MdOeE/UBIa7OA2OGsTs62LfRCojzP23vCSTIAlmlftdoiAk33gcagol7kc3lmuinaFHZ5g==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/builder": "18.4.0", - "@angular-eslint/eslint-plugin": "18.4.0", - "@angular-eslint/eslint-plugin-template": "18.4.0", - "@angular-eslint/schematics": "18.4.0", - "@angular-eslint/template-parser": "18.4.0" + "@angular-eslint/builder": "18.4.2", + "@angular-eslint/eslint-plugin": "18.4.2", + "@angular-eslint/eslint-plugin-template": "18.4.2", + "@angular-eslint/schematics": "18.4.2", + "@angular-eslint/template-parser": "18.4.2" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", @@ -9309,14 +9368,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", + "@babel/helper-define-polyfill-provider": "^0.6.3", "semver": "^6.3.1" }, "peerDependencies": { @@ -9348,13 +9407,13 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" + "@babel/helper-define-polyfill-provider": "^0.6.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -9578,9 +9637,9 @@ } }, "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", "dev": true, "license": "MIT", "dependencies": { @@ -9596,14 +9655,15 @@ "license": "ISC" }, "node_modules/bootstrap.native": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/bootstrap.native/-/bootstrap.native-5.0.13.tgz", - "integrity": "sha512-SiiTxaK3LjuOjPaXEnDBQNY3w0t28Qdx6I8drortuFg6Ch3q6cWoOxlFHThcGOPewziVarQAA4WPE00GFQmbWQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bootstrap.native/-/bootstrap.native-5.1.1.tgz", + "integrity": "sha512-QlFMbaCSo1AvfoiiI3jdJk8Rh3BZIXh7UjVcR9/wo+aVTZqOrCrePA4f2chpXLZxwbHitWyMgl1CJSSSqqx8/w==", "dev": true, "license": "MIT", "dependencies": { - "@thednp/event-listener": "^2.0.4", - "@thednp/shorty": "^2.0.0" + "@thednp/event-listener": "^2.0.8", + "@thednp/position-observer": "^1.0.4", + "@thednp/shorty": "^2.0.9" }, "engines": { "node": ">=16", @@ -9910,9 +9970,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001680", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", - "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", + "version": "1.0.30001684", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==", "dev": true, "funding": [ { @@ -10103,9 +10163,9 @@ } }, "node_modules/ci-info": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", - "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz", + "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==", "dev": true, "funding": [ { @@ -11290,6 +11350,16 @@ "node": ">= 0.10" } }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -11399,9 +11469,9 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", - "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -11544,9 +11614,9 @@ "license": "MIT" }, "node_modules/cypress": { - "version": "13.15.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.2.tgz", - "integrity": "sha512-ARbnUorjcCM3XiPwgHKuqsyr5W9Qn+pIIBPaoilnoBkLdSC2oLQjV1BUpnmc7KR+b7Avah3Ly2RMFnfxr96E/A==", + "version": "13.16.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.16.0.tgz", + "integrity": "sha512-g6XcwqnvzXrqiBQR/5gN+QsyRmKRhls1y5E42fyOvsmU7JuY+wM6uHJWj4ZPttjabzbnRvxcik2WemR8+xT6FA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -12225,6 +12295,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/del/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -12278,6 +12358,16 @@ "node": ">=18" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -12530,6 +12620,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/detective-typescript/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/detective-typescript/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -12750,9 +12850,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.55", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.55.tgz", - "integrity": "sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==", + "version": "1.5.65", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.65.tgz", + "integrity": "sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw==", "dev": true, "license": "ISC" }, @@ -13280,27 +13380,27 @@ } }, "node_modules/eslint": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.14.0.tgz", - "integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==", + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.15.0.tgz", + "integrity": "sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.18.0", - "@eslint/core": "^0.7.0", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.14.0", - "@eslint/plugin-kit": "^0.2.0", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.9.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.15.0", + "@eslint/plugin-kit": "^0.2.3", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.0", + "@humanwhocodes/retry": "^0.4.1", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.5", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.2.0", @@ -13319,8 +13419,7 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" @@ -13448,6 +13547,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -14378,9 +14487,9 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", "dev": true, "license": "ISC" }, @@ -15295,6 +15404,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globby/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/globby/node_modules/path-type": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", @@ -15474,6 +15593,16 @@ "node": ">= 0.4" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, "node_modules/highlight.js": { "version": "10.7.3", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", @@ -15530,6 +15659,19 @@ "wbuf": "^1.1.0" } }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/html-entities": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", @@ -15718,43 +15860,137 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/http-signature": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", - "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", "dev": true, "license": "MIT", "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2", - "sshpk": "^1.18.0" + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" }, "engines": { - "node": ">=0.10" + "node": ">=12" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "node_modules/http-server/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 14" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "node_modules/http-server/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=18.18.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/http-server/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/http-server/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-server/node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-signature": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", + "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.18.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" } }, "node_modules/hyperdyperid": { @@ -15768,9 +16004,9 @@ } }, "node_modules/i18next": { - "version": "23.16.5", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.5.tgz", - "integrity": "sha512-KTlhE3EP9x6pPTAW7dy0WKIhoCpfOGhRQlO+jttQLgzVaoOjWwBWramu7Pp0i+8wDNduuzXfe3kkVbzrKyrbTA==", + "version": "23.16.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", + "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", "dev": true, "funding": [ { @@ -15845,9 +16081,9 @@ "license": "MIT" }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz", + "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==", "dev": true, "license": "MIT", "engines": { @@ -15867,6 +16103,10 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/igo": { + "resolved": "projects/igo2", + "link": true + }, "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", @@ -15888,9 +16128,9 @@ "license": "MIT" }, "node_modules/immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", + "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", "dev": true, "license": "MIT" }, @@ -18869,9 +19109,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, "funding": [ { @@ -19158,9 +19398,9 @@ } }, "node_modules/ngx-indexed-db": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/ngx-indexed-db/-/ngx-indexed-db-19.1.0.tgz", - "integrity": "sha512-QFLjrslVp1v2UTYer3q3H4rceQ29u4sMTD/GwHNyYnlhbx/O7wThrRJBac+Wo5tmxzc1e9vOFkWxo9XkpIXILw==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/ngx-indexed-db/-/ngx-indexed-db-19.2.0.tgz", + "integrity": "sha512-5XDL2Honha9SoBMpZDYRtW3KnLsgKuA9qTzh6769dwUYnfelBatcBQwgOFgkmjICpo+QX9NlFNXVvaTlm90Hqg==", "license": "ISC", "dependencies": { "tslib": "^2.0.0" @@ -19267,9 +19507,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", - "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", "dev": true, "license": "MIT", "optional": true, @@ -19472,9 +19712,9 @@ "license": "MIT" }, "node_modules/npm": { - "version": "10.9.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.0.tgz", - "integrity": "sha512-ZanDioFylI9helNhl2LNd+ErmVD+H5I53ry41ixlLyCBgkuYb+58CvbAp99hW+zr5L9W4X7CchSoeqKdngOLSw==", + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.1.tgz", + "integrity": "sha512-yJUw03xLqjiv1D52oHeoS5qmOEC5hkJlhP1cWlSrCgshuxWVyFEEK3M3hLC0NwbTaklLTYrhoIanYsuNP5WUKg==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -19561,21 +19801,21 @@ "@npmcli/fs": "^4.0.0", "@npmcli/map-workspaces": "^4.0.1", "@npmcli/package-json": "^6.0.1", - "@npmcli/promise-spawn": "^8.0.1", + "@npmcli/promise-spawn": "^8.0.2", "@npmcli/redact": "^3.0.0", "@npmcli/run-script": "^9.0.1", - "@sigstore/tuf": "^2.3.4", + "@sigstore/tuf": "^3.0.0", "abbrev": "^3.0.0", "archy": "~1.0.0", "cacache": "^19.0.1", "chalk": "^5.3.0", - "ci-info": "^4.0.0", + "ci-info": "^4.1.0", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", "glob": "^10.4.5", "graceful-fs": "^4.2.11", - "hosted-git-info": "^8.0.0", + "hosted-git-info": "^8.0.2", "ini": "^5.0.0", "init-package-json": "^7.0.1", "is-cidr": "^5.1.0", @@ -19587,11 +19827,11 @@ "libnpmhook": "^11.0.0", "libnpmorg": "^7.0.0", "libnpmpack": "^8.0.0", - "libnpmpublish": "^10.0.0", + "libnpmpublish": "^10.0.1", "libnpmsearch": "^8.0.0", "libnpmteam": "^7.0.0", "libnpmversion": "^7.0.0", - "make-fetch-happen": "^14.0.1", + "make-fetch-happen": "^14.0.3", "minimatch": "^9.0.5", "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", @@ -19600,14 +19840,14 @@ "nopt": "^8.0.0", "normalize-package-data": "^7.0.0", "npm-audit-report": "^6.0.0", - "npm-install-checks": "^7.1.0", + "npm-install-checks": "^7.1.1", "npm-package-arg": "^12.0.0", "npm-pick-manifest": "^10.0.0", "npm-profile": "^11.0.1", - "npm-registry-fetch": "^18.0.1", + "npm-registry-fetch": "^18.0.2", "npm-user-validate": "^3.0.0", "p-map": "^4.0.0", - "pacote": "^19.0.0", + "pacote": "^19.0.1", "parse-conflict-json": "^4.0.0", "proc-log": "^5.0.0", "qrcode-terminal": "^0.12.0", @@ -19794,7 +20034,7 @@ } }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -20009,14 +20249,14 @@ } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "8.0.0", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "cacache": "^19.0.0", "json-parse-even-better-errors": "^4.0.0", - "pacote": "^19.0.0", + "pacote": "^20.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5" }, @@ -20024,6 +20264,37 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { + "version": "20.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { "version": "3.0.0", "dev": true, @@ -20061,7 +20332,7 @@ } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "8.0.1", + "version": "8.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -20120,27 +20391,6 @@ "node": ">=14" } }, - "node_modules/npm/node_modules/@sigstore/bundle": { - "version": "2.3.2", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@sigstore/core": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { "version": "0.3.2", "dev": true, @@ -20150,271 +20400,91 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/@sigstore/sign": { - "version": "2.3.2", + "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "3.0.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^13.0.1", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1" + "tuf-js": "^3.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/@npmcli/agent": { - "version": "2.2.2", + "node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, + "license": "MIT", "engines": { "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/@npmcli/fs": { - "version": "3.1.1", + "node_modules/npm/node_modules/abbrev": { + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/cacache": { - "version": "18.0.4", + "node_modules/npm/node_modules/agent-base": { + "version": "7.1.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "debug": "^4.3.4" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 14" } }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/make-fetch-happen": { - "version": "13.0.1", + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/minipass-fetch": { - "version": "3.0.5", + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" + "node": ">=8" } }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/proc-log": { - "version": "4.2.0", + "node_modules/npm/node_modules/ansi-styles": { + "version": "6.2.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/ssri": { - "version": "10.0.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" + "node": ">=12" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/unique-filename": { - "version": "3.0.0", + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "license": "ISC" }, - "node_modules/npm/node_modules/@sigstore/sign/node_modules/unique-slug": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "2.3.4", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^2.2.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@sigstore/verify": { - "version": "1.2.1", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.1.0", - "@sigstore/protobuf-specs": "^0.3.2" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@tufjs/canonical-json": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@tufjs/models": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/abbrev": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/agent-base": { - "version": "7.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/npm/node_modules/aggregate-error": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/ansi-styles": { - "version": "6.2.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/npm/node_modules/aproba": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/archy": { - "version": "1.0.0", + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", "dev": true, "inBundle": true, "license": "MIT" @@ -20582,7 +20652,7 @@ } }, "node_modules/npm/node_modules/ci-info": { - "version": "4.0.0", + "version": "4.1.0", "dev": true, "funding": [ { @@ -20664,7 +20734,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/cross-spawn": { - "version": "7.0.3", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", @@ -20705,12 +20775,12 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.6", + "version": "4.3.7", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -20721,12 +20791,6 @@ } } }, - "node_modules/npm/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/diff": { "version": "5.2.0", "dev": true, @@ -20843,7 +20907,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "8.0.0", + "version": "8.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -21181,7 +21245,7 @@ } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "10.0.0", + "version": "10.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -21192,7 +21256,7 @@ "npm-registry-fetch": "^18.0.1", "proc-log": "^5.0.0", "semver": "^7.3.7", - "sigstore": "^2.2.0", + "sigstore": "^3.0.0", "ssri": "^12.0.0" }, "engines": { @@ -21247,7 +21311,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "14.0.1", + "version": "14.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -21259,7 +21323,7 @@ "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", + "negotiator": "^1.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "ssri": "^12.0.0" @@ -21268,6 +21332,15 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/npm/node_modules/minimatch": { "version": "9.0.5", "dev": true, @@ -21459,7 +21532,7 @@ } }, "node_modules/npm/node_modules/negotiator": { - "version": "0.6.3", + "version": "0.6.4", "dev": true, "inBundle": true, "license": "MIT", @@ -21735,7 +21808,7 @@ } }, "node_modules/npm/node_modules/npm-install-checks": { - "version": "7.1.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -21811,7 +21884,7 @@ } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "18.0.1", + "version": "18.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -21867,13 +21940,13 @@ } }, "node_modules/npm/node_modules/package-json-from-dist": { - "version": "1.0.0", + "version": "1.0.1", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0" }, "node_modules/npm/node_modules/pacote": { - "version": "19.0.0", + "version": "19.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -21892,7 +21965,7 @@ "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "sigstore": "^2.2.0", + "sigstore": "^3.0.0", "ssri": "^12.0.0", "tar": "^6.1.11" }, @@ -21983,7 +22056,7 @@ } }, "node_modules/npm/node_modules/promise-call-limit": { - "version": "3.0.1", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -22141,20 +22214,72 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "2.3.1", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", + "@sigstore/bundle": "^3.0.0", + "@sigstore/core": "^2.0.0", "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^2.3.2", - "@sigstore/tuf": "^2.3.4", - "@sigstore/verify": "^1.2.1" + "@sigstore/sign": "^3.0.0", + "@sigstore/tuf": "^3.0.0", + "@sigstore/verify": "^2.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.0.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "make-fetch-happen": "^14.0.1", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.0.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/smart-buffer": { @@ -22232,7 +22357,7 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.18", + "version": "3.0.20", "dev": true, "inBundle": true, "license": "CC0-1.0" @@ -22393,177 +22518,54 @@ } }, "node_modules/npm/node_modules/tuf-js": { - "version": "2.2.1", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tufjs/models": "2.0.1", - "debug": "^4.3.4", - "make-fetch-happen": "^13.0.1" + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/tuf-js/node_modules/@npmcli/agent": { - "version": "2.2.2", + "node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { + "version": "3.0.1", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/tuf-js/node_modules/@npmcli/fs": { - "version": "3.1.1", + "node_modules/npm/node_modules/unique-filename": { + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "semver": "^7.3.5" + "unique-slug": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/tuf-js/node_modules/cacache": { - "version": "18.0.4", + "node_modules/npm/node_modules/unique-slug": { + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "imurmurhash": "^0.1.4" }, "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/tuf-js/node_modules/make-fetch-happen": { - "version": "13.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/tuf-js/node_modules/minipass-fetch": { - "version": "3.0.5", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/npm/node_modules/tuf-js/node_modules/proc-log": { - "version": "4.2.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/tuf-js/node_modules/ssri": { - "version": "10.0.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/tuf-js/node_modules/unique-filename": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/tuf-js/node_modules/unique-slug": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/unique-filename": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm/node_modules/unique-slug": { - "version": "5.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/util-deprecate": { @@ -22682,7 +22684,7 @@ } }, "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -22902,6 +22904,16 @@ "opencollective-postinstall": "index.js" } }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -23201,9 +23213,9 @@ } }, "node_modules/p-retry": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", - "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, "license": "MIT", "dependencies": { @@ -23737,6 +23749,41 @@ "node": ">=4" } }, + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, "node_modules/postcss": { "version": "8.4.41", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", @@ -23819,14 +23866,14 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", + "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", "dev": true, "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", + "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "engines": { @@ -23852,20 +23899,6 @@ "postcss": "^8.1.0" } }, - "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", @@ -23883,9 +23916,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", "dev": true, "license": "MIT", "dependencies": { @@ -23969,9 +24002,9 @@ } }, "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.1.tgz", + "integrity": "sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==", "dev": true, "license": "MIT", "bin": { @@ -23998,9 +24031,9 @@ } }, "node_modules/pretty-ms": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", - "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", "dev": true, "license": "MIT", "dependencies": { @@ -24050,14 +24083,14 @@ "license": "MIT" }, "node_modules/proj4": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.14.0.tgz", - "integrity": "sha512-fumDL50ThQ3issOLxaLYwv1j4LePEzYleY6vqsX+2uWOcvKzqpzHhtTTH18CvIDg+nf8MYl0/XF6yYyESKDi4w==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.15.0.tgz", + "integrity": "sha512-LqCNEcPdI03BrCHxPLj29vsd5afsm+0sV1H/O3nTDKrv8/LA01ea1z4QADDMjUqxSXWnrmmQDjqFm1J/uZ5RLw==", "license": "MIT", "peer": true, "dependencies": { "mgrs": "1.0.0", - "wkt-parser": "^1.3.3" + "wkt-parser": "^1.4.0" } }, "node_modules/promise-inflight": { @@ -24350,9 +24383,9 @@ } }, "node_modules/read-package-up/node_modules/type-fest": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", + "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -24382,6 +24415,116 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/read-pkg-up": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz", + "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0", + "read-pkg": "^8.1.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/read-pkg-up/node_modules/parse-json": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", + "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/parse-json/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", + "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/read-pkg/node_modules/parse-json": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", @@ -24401,9 +24544,9 @@ } }, "node_modules/read-pkg/node_modules/type-fest": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", + "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -24511,16 +24654,16 @@ "license": "MIT" }, "node_modules/regexpu-core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", - "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, "license": "MIT", "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.0", "regjsgen": "^0.8.0", - "regjsparser": "^0.11.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -24549,9 +24692,9 @@ "license": "MIT" }, "node_modules/regjsparser": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz", - "integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -24984,14 +25127,14 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.80.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz", - "integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==", + "version": "1.81.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.81.0.tgz", + "integrity": "sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA==", "dev": true, "license": "MIT", "dependencies": { "chokidar": "^4.0.0", - "immutable": "^4.0.0", + "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { @@ -25146,6 +25289,13 @@ "compute-scroll-into-view": "^3.0.2" } }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true, + "license": "MIT" + }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -25328,9 +25478,9 @@ } }, "node_modules/semantic-release/node_modules/hosted-git-info": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.0.tgz", - "integrity": "sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.2.tgz", + "integrity": "sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==", "dev": true, "license": "ISC", "dependencies": { @@ -27090,13 +27240,6 @@ "utrie": "^1.0.2" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", @@ -27213,22 +27356,22 @@ } }, "node_modules/tldts": { - "version": "6.1.60", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.60.tgz", - "integrity": "sha512-TYVHm7G9NCnhgqOsFalbX6MG1Po5F4efF+tLfoeiOGQq48Oqgwcgz8upY2R1BHWa4aDrj28RYx0dkYJ63qCFMg==", + "version": "6.1.64", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.64.tgz", + "integrity": "sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.60" + "tldts-core": "^6.1.64" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.60", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.60.tgz", - "integrity": "sha512-XHjoxak8SFQnHnmYHb3PcnW5TZ+9ErLZemZei3azuIRhQLw4IExsVbL3VZJdHcLeNaXq6NqawgpDPpjBOg4B5g==", + "version": "6.1.64", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.64.tgz", + "integrity": "sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q==", "dev": true, "license": "MIT" }, @@ -27352,9 +27495,9 @@ } }, "node_modules/ts-api-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz", - "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.2.tgz", + "integrity": "sha512-ZF5gQIQa/UmzfvxbHZI3JXN0/Jt+vnAfAviNRAMc491laiK6YCLpCW9ft8oaCRFOTxCZtUTE6XB0ZQAe3olntw==", "dev": true, "license": "MIT", "engines": { @@ -27557,15 +27700,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.13.0.tgz", - "integrity": "sha512-vIMpDRJrQd70au2G8w34mPps0ezFSPMEX4pXkTzUkrNbRX+36ais2ksGWN0esZL+ZMaFJEneOBHzCgSqle7DHw==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.16.0.tgz", + "integrity": "sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.13.0", - "@typescript-eslint/parser": "8.13.0", - "@typescript-eslint/utils": "8.13.0" + "@typescript-eslint/eslint-plugin": "8.16.0", + "@typescript-eslint/parser": "8.16.0", + "@typescript-eslint/utils": "8.16.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -27574,6 +27717,9 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, "peerDependenciesMeta": { "typescript": { "optional": true @@ -27702,7 +27848,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unique-filename": { + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", @@ -28447,9 +28605,9 @@ } }, "node_modules/vite/node_modules/postcss": { - "version": "8.4.48", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.48.tgz", - "integrity": "sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "dev": true, "funding": [ { @@ -28963,6 +29121,32 @@ "node": ">=0.8.0" } }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -29540,6 +29724,557 @@ "@angular/platform-browser": "^18.0.0" } }, - "projects/demo": {} + "projects/demo": {}, + "projects/igo2": { + "name": "igo", + "version": "17.0.1", + "license": "LiLiQ-R", + "dependencies": { + "@angular/animations": "^18.2.1", + "@angular/cdk": "^18.2.1", + "@angular/common": "^18.2.1", + "@angular/compiler": "^18.2.1", + "@angular/core": "^18.2.1", + "@angular/forms": "^18.2.1", + "@angular/material": "^18.2.1", + "@angular/platform-browser": "^18.2.1", + "@angular/platform-browser-dynamic": "^18.2.1", + "@angular/router": "^18.2.1", + "@angular/service-worker": "^18.2.1", + "@igo2/auth": "^18.0.0-next.5", + "@igo2/common": "^18.0.0-next.5", + "@igo2/context": "^18.0.0-next.5", + "@igo2/core": "^18.0.0-next.5", + "@igo2/geo": "^18.0.0-next.5", + "@igo2/integration": "^18.0.0-next.5", + "@igo2/utils": "^18.0.0-next.5", + "core-js": "^3.32.2", + "hammerjs": "^2.0.8", + "ol": "9.1.0", + "rxjs": "^7.8.0", + "tslib": "^2.6.0", + "zone.js": "~0.14.2" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^18.2.1", + "@angular/cli": "^18.2.1", + "@angular/compiler-cli": "^18.2.1", + "@cypress/schematic": "^2.5.1", + "@stylistic/eslint-plugin": "^2.6.4", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/geojson": "^7946.0.10", + "@types/hammerjs": "^2.0.41", + "@types/jasmine": "^4.3.5", + "@types/jasminewd2": "~2.0.10", + "@types/node": "^20.6.2", + "angular-cli-ghpages": "^2.0.0", + "angular-eslint": "18.3.0", + "conventional-changelog-cli": "^4.1.0", + "cypress": "^13.2.0", + "eslint": "^9.9.0", + "execa": "^9.3.0", + "http-server": "^14.1.0", + "jasmine-core": "~5.1.0", + "jasmine-spec-reporter": "~7.0.0", + "karma": "~6.4.2", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "prettier": "^3.3.0", + "tsx": "^4.17.0", + "typescript": "~5.5.4", + "typescript-eslint": "^8.2.0" + }, + "engines": { + "node": ">=18.13.0" + } + }, + "projects/igo2/node_modules/@angular-eslint/bundled-angular-compiler": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.3.0.tgz", + "integrity": "sha512-v/59FxUKnMzymVce99gV43huxoqXWMb85aKvzlNvLN+ScDu6ZE4YMiTQNpfapVL2lkxhs0uwB3jH17EYd5TcsA==", + "dev": true, + "license": "MIT" + }, + "projects/igo2/node_modules/@angular-eslint/schematics": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.3.0.tgz", + "integrity": "sha512-rQ4DEWwf3f5n096GAK6JvXD0SRzRJ52WRaIyKg8MMkk6qvUDfZI8seOkcbjDtZoIe6Ds7DfqSfJgNVte75qvPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/eslint-plugin": "18.3.0", + "@angular-eslint/eslint-plugin-template": "18.3.0", + "ignore": "5.3.2", + "semver": "7.6.3", + "strip-json-comments": "3.1.1" + }, + "peerDependencies": { + "@angular-devkit/core": ">= 18.0.0 < 19.0.0", + "@angular-devkit/schematics": ">= 18.0.0 < 19.0.0" + } + }, + "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", + "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "@angular-eslint/utils": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin-template": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", + "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "@angular-eslint/utils": "18.3.0", + "aria-query": "5.3.0", + "axobject-query": "4.1.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/utils": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", + "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-18.3.0.tgz", + "integrity": "sha512-neBE3BUtxj1EPPNVww3i/e8DKh/gb+fT/WpDEsRZM//8vS+qb0pMC04dn4bqeUriM05Nq/oUESdwkLuyadJE9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/builder": "18.3.0", + "@angular-eslint/eslint-plugin": "18.3.0", + "@angular-eslint/eslint-plugin-template": "18.3.0", + "@angular-eslint/schematics": "18.3.0", + "@angular-eslint/template-parser": "18.3.0" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*", + "typescript-eslint": "^8.0.0" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/builder": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.3.0.tgz", + "integrity": "sha512-httEQyqyBw3+0CRtAa7muFxHrauRfkEfk/jmrh5fn2Eiu+I53hAqFPgrwVi1V6AP/kj2zbAiWhd5xM3pMJdoRQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", + "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "@angular-eslint/utils": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", + "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "@angular-eslint/utils": "18.3.0", + "aria-query": "5.3.0", + "axobject-query": "4.1.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/utils": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", + "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/utils": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", + "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/template-parser": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.3.0.tgz", + "integrity": "sha512-1mUquqcnugI4qsoxcYZKZ6WMi6RPelDcJZg2YqGyuaIuhWmi3ZqJZLErSSpjP60+TbYZu7wM8Kchqa1bwJtEaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "eslint-scope": "^8.0.2" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "projects/igo2/node_modules/conventional-changelog": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-5.1.0.tgz", + "integrity": "sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-changelog-angular": "^7.0.0", + "conventional-changelog-atom": "^4.0.0", + "conventional-changelog-codemirror": "^4.0.0", + "conventional-changelog-conventionalcommits": "^7.0.2", + "conventional-changelog-core": "^7.0.0", + "conventional-changelog-ember": "^4.0.0", + "conventional-changelog-eslint": "^5.0.0", + "conventional-changelog-express": "^4.0.0", + "conventional-changelog-jquery": "^5.0.0", + "conventional-changelog-jshint": "^4.0.0", + "conventional-changelog-preset-loader": "^4.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-atom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-4.0.0.tgz", + "integrity": "sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-cli": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-4.1.0.tgz", + "integrity": "sha512-MscvILWZ6nWOoC+p/3Nn3D2cVLkjeQjyZPUr0bQ+vUORE/SPrkClJh8BOoMNpS4yk+zFJ5LlgXACxH6XGQoRXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog": "^5.1.0", + "meow": "^12.0.1", + "tempfile": "^5.0.0" + }, + "bin": { + "conventional-changelog": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-codemirror": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-4.0.0.tgz", + "integrity": "sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-core": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-7.0.0.tgz", + "integrity": "sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hutson/parse-repository-url": "^5.0.0", + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^7.0.0", + "conventional-commits-parser": "^5.0.0", + "git-raw-commits": "^4.0.0", + "git-semver-tags": "^7.0.0", + "hosted-git-info": "^7.0.0", + "normalize-package-data": "^6.0.0", + "read-pkg": "^8.0.0", + "read-pkg-up": "^10.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-ember": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-4.0.0.tgz", + "integrity": "sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-eslint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-5.0.0.tgz", + "integrity": "sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-express": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-4.0.0.tgz", + "integrity": "sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-jquery": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-5.0.0.tgz", + "integrity": "sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-jshint": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-4.0.0.tgz", + "integrity": "sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-preset-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-4.1.0.tgz", + "integrity": "sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-writer": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", + "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-commits-filter": "^4.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "meow": "^12.0.1", + "semver": "^7.5.2", + "split2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-commits-filter": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", + "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/git-semver-tags": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-7.0.1.tgz", + "integrity": "sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "meow": "^12.0.1", + "semver": "^7.5.2" + }, + "bin": { + "git-semver-tags": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "projects/igo2/node_modules/lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "projects/igo2/node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/parse-json": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", + "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/parse-json/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/type-fest": { + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", + "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } } } diff --git a/packages/geo/src/lib/offline/offline.provider.ts b/packages/geo/src/lib/offline/offline.provider.ts index 60cdb6e04..33dbfcfd8 100644 --- a/packages/geo/src/lib/offline/offline.provider.ts +++ b/packages/geo/src/lib/offline/offline.provider.ts @@ -1,6 +1,6 @@ -import { Provider } from '@angular/core'; +import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core'; -import { CONFIG_TOKEN, DBConfig, NgxIndexedDBService } from 'ngx-indexed-db'; +import { DBConfig, provideIndexedDb } from 'ngx-indexed-db'; import { ConfigFileToGeoDBService, GeoDBService } from './geoDB'; import { LayerDBService } from './layerDB'; @@ -39,9 +39,9 @@ const dbConfig: DBConfig = { export function provideOffline( options: IOfflineOptions | undefined -): Provider[] { +): EnvironmentProviders { if (!options?.enable) { - return []; + return; } const dbConfigFormatted = {}; @@ -49,12 +49,11 @@ export function provideOffline( Object.assign(dbConfigFormatted, { [config.name]: dbConfig }); } - return [ - { provide: CONFIG_TOKEN, useValue: dbConfigFormatted }, - NgxIndexedDBService, + return makeEnvironmentProviders([ + provideIndexedDb(dbConfig), LayerDBService, GeoDBService, GeoNetworkService, ConfigFileToGeoDBService - ]; + ]); } From 3f2255d29a6ec7dd5261b8c7c0ae6f061643f7b7 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 27 Nov 2024 13:04:59 +0000 Subject: [PATCH 13/16] chore(release): 18.0.0-next.6 [skip ci] # [18.0.0-next.6](https://github.com/infra-geo-ouverte/igo2-lib/compare/v18.0.0-next.5...v18.0.0-next.6) (2024-11-27) ### Bug Fixes * **geo:** use the new ngx-indexed-db API ([8fee5c4](https://github.com/infra-geo-ouverte/igo2-lib/commit/8fee5c4810d576acf29472ee7097ba8fd352ee93)) --- package-lock.json | 859 +--------------------------- package.json | 2 +- packages/auth/package.json | 2 +- packages/common/package.json | 2 +- packages/context/package.json | 2 +- packages/core/config/src/version.ts | 4 +- packages/core/package.json | 2 +- packages/geo/package.json | 2 +- packages/integration/package.json | 2 +- packages/utils/package.json | 2 +- 10 files changed, 23 insertions(+), 856 deletions(-) diff --git a/package-lock.json b/package-lock.json index 16e6df8c1..1b6f54b4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "igo2-lib", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "igo2-lib", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -848,7 +848,10 @@ "version": "18.2.13", "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-18.2.13.tgz", "integrity": "sha512-fVC943qEqGNUy923NMmSSzfoIqNw2k2UbG/3Y4QEmel/nZFWHA3PhiYr+lE7J3RhRHFMmnNP1bmXDJgy+R+pzA==", + "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -7976,16 +7979,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/jasminewd2": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.13.tgz", - "integrity": "sha512-aJ3wj8tXMpBrzQ5ghIaqMisD8C3FIrcO6sDKHqFbuqAsI7yOxj0fA7MrRCPLZHIVUjERIwsMmGn/vB0UQ9u0Hg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/jasmine": "*" - } - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -11350,16 +11343,6 @@ "node": ">= 0.10" } }, - "node_modules/corser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", - "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -12358,16 +12341,6 @@ "node": ">=18" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -15593,16 +15566,6 @@ "node": ">= 0.4" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, "node_modules/highlight.js": { "version": "10.7.3", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", @@ -15659,19 +15622,6 @@ "wbuf": "^1.1.0" } }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/html-entities": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", @@ -15860,100 +15810,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/http-server": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", - "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "basic-auth": "^2.0.1", - "chalk": "^4.1.2", - "corser": "^2.0.1", - "he": "^1.2.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy": "^1.18.1", - "mime": "^1.6.0", - "minimist": "^1.2.6", - "opener": "^1.5.1", - "portfinder": "^1.0.28", - "secure-compare": "3.0.1", - "union": "~0.5.0", - "url-join": "^4.0.1" - }, - "bin": { - "http-server": "bin/http-server" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/http-server/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/http-server/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/http-server/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/http-server/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/http-server/node_modules/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true, - "license": "MIT" - }, "node_modules/http-signature": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", @@ -16103,10 +15959,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/igo": { - "resolved": "projects/igo2", - "link": true - }, "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", @@ -22904,16 +22756,6 @@ "opencollective-postinstall": "index.js" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -23749,41 +23591,6 @@ "node": ">=4" } }, - "node_modules/portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/postcss": { "version": "8.4.41", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", @@ -24415,116 +24222,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz", - "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0", - "read-pkg": "^8.1.0", - "type-fest": "^4.2.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/lines-and-columns": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/read-pkg-up/node_modules/parse-json": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", - "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/parse-json/node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", - "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/read-pkg/node_modules/parse-json": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", @@ -25289,13 +24986,6 @@ "compute-scroll-into-view": "^3.0.2" } }, - "node_modules/secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", - "dev": true, - "license": "MIT" - }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -27848,18 +27538,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "dev": true, - "dependencies": { - "qs": "^6.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", @@ -29121,32 +28799,6 @@ "node": ">=0.8.0" } }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -29530,7 +29182,7 @@ }, "packages/auth": { "name": "@igo2/auth", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "license": "MIT", "dependencies": { "jwt-decode": "^4.0.0", @@ -29558,7 +29210,7 @@ }, "packages/common": { "name": "@igo2/common", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29586,7 +29238,7 @@ }, "packages/context": { "name": "@igo2/context", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29612,7 +29264,7 @@ }, "packages/core": { "name": "@igo2/core", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29639,7 +29291,7 @@ }, "packages/geo": { "name": "@igo2/geo", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "license": "MIT", "dependencies": { "@turf/helpers": "^6.5.0", @@ -29687,7 +29339,7 @@ }, "packages/integration": { "name": "@igo2/integration", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29709,7 +29361,7 @@ }, "packages/utils": { "name": "@igo2/utils", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "license": "MIT", "dependencies": { "bowser": "^2.11.0", @@ -29728,6 +29380,7 @@ "projects/igo2": { "name": "igo", "version": "17.0.1", + "extraneous": true, "license": "LiLiQ-R", "dependencies": { "@angular/animations": "^18.2.1", @@ -29789,492 +29442,6 @@ "engines": { "node": ">=18.13.0" } - }, - "projects/igo2/node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.3.0.tgz", - "integrity": "sha512-v/59FxUKnMzymVce99gV43huxoqXWMb85aKvzlNvLN+ScDu6ZE4YMiTQNpfapVL2lkxhs0uwB3jH17EYd5TcsA==", - "dev": true, - "license": "MIT" - }, - "projects/igo2/node_modules/@angular-eslint/schematics": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.3.0.tgz", - "integrity": "sha512-rQ4DEWwf3f5n096GAK6JvXD0SRzRJ52WRaIyKg8MMkk6qvUDfZI8seOkcbjDtZoIe6Ds7DfqSfJgNVte75qvPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/eslint-plugin": "18.3.0", - "@angular-eslint/eslint-plugin-template": "18.3.0", - "ignore": "5.3.2", - "semver": "7.6.3", - "strip-json-comments": "3.1.1" - }, - "peerDependencies": { - "@angular-devkit/core": ">= 18.0.0 < 19.0.0", - "@angular-devkit/schematics": ">= 18.0.0 < 19.0.0" - } - }, - "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", - "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin-template": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", - "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0", - "aria-query": "5.3.0", - "axobject-query": "4.1.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/utils": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", - "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-18.3.0.tgz", - "integrity": "sha512-neBE3BUtxj1EPPNVww3i/e8DKh/gb+fT/WpDEsRZM//8vS+qb0pMC04dn4bqeUriM05Nq/oUESdwkLuyadJE9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/builder": "18.3.0", - "@angular-eslint/eslint-plugin": "18.3.0", - "@angular-eslint/eslint-plugin-template": "18.3.0", - "@angular-eslint/schematics": "18.3.0", - "@angular-eslint/template-parser": "18.3.0" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*", - "typescript-eslint": "^8.0.0" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/builder": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.3.0.tgz", - "integrity": "sha512-httEQyqyBw3+0CRtAa7muFxHrauRfkEfk/jmrh5fn2Eiu+I53hAqFPgrwVi1V6AP/kj2zbAiWhd5xM3pMJdoRQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", - "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", - "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0", - "aria-query": "5.3.0", - "axobject-query": "4.1.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/utils": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", - "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/utils": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", - "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/template-parser": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.3.0.tgz", - "integrity": "sha512-1mUquqcnugI4qsoxcYZKZ6WMi6RPelDcJZg2YqGyuaIuhWmi3ZqJZLErSSpjP60+TbYZu7wM8Kchqa1bwJtEaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "eslint-scope": "^8.0.2" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "projects/igo2/node_modules/conventional-changelog": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-5.1.0.tgz", - "integrity": "sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-changelog-angular": "^7.0.0", - "conventional-changelog-atom": "^4.0.0", - "conventional-changelog-codemirror": "^4.0.0", - "conventional-changelog-conventionalcommits": "^7.0.2", - "conventional-changelog-core": "^7.0.0", - "conventional-changelog-ember": "^4.0.0", - "conventional-changelog-eslint": "^5.0.0", - "conventional-changelog-express": "^4.0.0", - "conventional-changelog-jquery": "^5.0.0", - "conventional-changelog-jshint": "^4.0.0", - "conventional-changelog-preset-loader": "^4.1.0" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-atom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-4.0.0.tgz", - "integrity": "sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-cli": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-4.1.0.tgz", - "integrity": "sha512-MscvILWZ6nWOoC+p/3Nn3D2cVLkjeQjyZPUr0bQ+vUORE/SPrkClJh8BOoMNpS4yk+zFJ5LlgXACxH6XGQoRXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog": "^5.1.0", - "meow": "^12.0.1", - "tempfile": "^5.0.0" - }, - "bin": { - "conventional-changelog": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-codemirror": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-4.0.0.tgz", - "integrity": "sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-7.0.0.tgz", - "integrity": "sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@hutson/parse-repository-url": "^5.0.0", - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^7.0.0", - "conventional-commits-parser": "^5.0.0", - "git-raw-commits": "^4.0.0", - "git-semver-tags": "^7.0.0", - "hosted-git-info": "^7.0.0", - "normalize-package-data": "^6.0.0", - "read-pkg": "^8.0.0", - "read-pkg-up": "^10.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-ember": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-4.0.0.tgz", - "integrity": "sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-eslint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-5.0.0.tgz", - "integrity": "sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-express": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-4.0.0.tgz", - "integrity": "sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-jquery": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-5.0.0.tgz", - "integrity": "sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-jshint": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-4.0.0.tgz", - "integrity": "sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg==", - "dev": true, - "license": "ISC", - "dependencies": { - "compare-func": "^2.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-preset-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-4.1.0.tgz", - "integrity": "sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-writer": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", - "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-commits-filter": "^4.0.0", - "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "meow": "^12.0.1", - "semver": "^7.5.2", - "split2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-commits-filter": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", - "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/git-semver-tags": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-7.0.1.tgz", - "integrity": "sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "meow": "^12.0.1", - "semver": "^7.5.2" - }, - "bin": { - "git-semver-tags": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "projects/igo2/node_modules/lines-and-columns": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "projects/igo2/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/parse-json": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", - "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/parse-json/node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/type-fest": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", - "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } } } diff --git a/package.json b/package.json index 6fbb0afbe..e067c83a3 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "packages/*", "projects/*" ], - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "description": "IGO Library", "author": "IGO Community", "license": "MIT", diff --git a/packages/auth/package.json b/packages/auth/package.json index fe115488a..2d3c67fde 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/auth", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/common/package.json b/packages/common/package.json index 16f46abab..791d4605d 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/common", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/context/package.json b/packages/context/package.json index 1da0c1c19..67b501ad6 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/context", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/core/config/src/version.ts b/packages/core/config/src/version.ts index 069fc7296..f7a912f97 100644 --- a/packages/core/config/src/version.ts +++ b/packages/core/config/src/version.ts @@ -6,6 +6,6 @@ export interface Version { } export const version: Version = { - lib: '18.0.0-next.5', - releaseDate: 1731449362073 + lib: '18.0.0-next.6', + releaseDate: 1732712605164 }; diff --git a/packages/core/package.json b/packages/core/package.json index 30cb96c38..ad6537ddf 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/core", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/geo/package.json b/packages/geo/package.json index 964b4a3ac..9cac82fa8 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/geo", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/integration/package.json b/packages/integration/package.json index 2276c67d4..6b40799fe 100644 --- a/packages/integration/package.json +++ b/packages/integration/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/integration", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index be57ac411..65b2d4dd2 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/utils", - "version": "18.0.0-next.5", + "version": "18.0.0-next.6", "description": "IGO Library", "author": "IGO Community", "keywords": [ From 1b51fabe491adcbed4f60225f42c3e1fb28f01f0 Mon Sep 17 00:00:00 2001 From: Alexandre Caron Date: Wed, 27 Nov 2024 08:31:35 -0500 Subject: [PATCH 14/16] chore: update dev dependencies --- package-lock.json | 1229 +++++++++++++++++++++++++++++++++++---------- package.json | 36 +- 2 files changed, 977 insertions(+), 288 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1b6f54b4e..284cd8a36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,33 +50,33 @@ "@angular-devkit/build-angular": "^18.2.1", "@angular/cli": "^18.2.1", "@angular/compiler-cli": "^18.2.1", - "@commitlint/cli": "^19.4.0", - "@commitlint/config-conventional": "^19.2.2", - "@commitlint/format": "^19.3.0", - "@commitlint/types": "^19.0.3", + "@commitlint/cli": "^19.6.0", + "@commitlint/config-conventional": "^19.6.0", + "@commitlint/format": "^19.5.0", + "@commitlint/types": "^19.5.0", "@compodoc/compodoc": "^1.1.15", "@cypress/schematic": "^2.5.1", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/github": "^10.1.0", - "@sentry/types": "^8.26.0", - "@stylistic/eslint-plugin": "^2.6.4", + "@semantic-release/github": "^11.0.0", + "@sentry/types": "^8.41.0", + "@stylistic/eslint-plugin": "^2.11.0", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/flexsearch": "^0.7.6", "@types/geojson": "^7946.0.10", "@types/hammerjs": "^2.0.36", - "@types/jasmine": "~4.3.0", + "@types/jasmine": "~5.1.0", "@types/lodash-es": "^4.17.0", "@types/node": "^20.10.0", "@types/tinycolor2": "^1.4.4", "angular-cli-ghpages": "^2.0.0", - "angular-eslint": "^18.3.0", + "angular-eslint": "^18.4.0", "conventional-changelog-cli": "^5.0.0", "copy-newer": "^2.1.2", - "cypress": "^13.13.0", - "del": "^7.1.0", - "eslint": "^9.9.0", - "execa": "^9.3.0", + "cypress": "^13.16.0", + "del": "^8.0.0", + "eslint": "^9.15.0", + "execa": "^9.5.0", "jasmine-core": "~5.1.0", "jasmine-spec-reporter": "~7.0.0", "karma": "~6.4.2", @@ -87,12 +87,12 @@ "lodash-es": "^4.17.21", "madge": "^8.0.0", "ng-packagr": "^18.2.1", - "prettier": "^3.3.0", - "sass": "^1.77.0", - "semantic-release": "^24.1.0", - "tsx": "^4.17.0", + "prettier": "^3.4.0", + "sass": "^1.81.0", + "semantic-release": "^24.2.0", + "tsx": "^4.19.0", "typescript": "~5.5.4", - "typescript-eslint": "^8.2.0" + "typescript-eslint": "^8.16.0" }, "engines": { "node": ">=18.13.0" @@ -848,10 +848,7 @@ "version": "18.2.13", "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-18.2.13.tgz", "integrity": "sha512-fVC943qEqGNUy923NMmSSzfoIqNw2k2UbG/3Y4QEmel/nZFWHA3PhiYr+lE7J3RhRHFMmnNP1bmXDJgy+R+pzA==", - "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -6841,9 +6838,9 @@ } }, "node_modules/@semantic-release/github": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.3.5.tgz", - "integrity": "sha512-svvRglGmvqvxjmDgkXhrjf0lC88oZowFhOfifTldbgX9Dzj0inEtMLaC+3/MkDEmxmaQjWmF5Q/0CMIvPNSVdQ==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.1.tgz", + "integrity": "sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==", "dev": true, "license": "MIT", "dependencies": { @@ -6868,7 +6865,7 @@ "node": ">=20.8.1" }, "peerDependencies": { - "semantic-release": ">=20.1.0" + "semantic-release": ">=24.1.0" } }, "node_modules/@semantic-release/github/node_modules/@semantic-release/error": { @@ -7105,73 +7102,73 @@ } }, "node_modules/@sentry-internal/browser-utils": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.40.0.tgz", - "integrity": "sha512-tx7gb/PWMbTEyil/XPETVeRUeS3nKHIvQY2omyebw30TbhyLnibPZsUmXJiaIysL5PcY3k9maub3W/o0Y37T7Q==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.41.0.tgz", + "integrity": "sha512-nU7Bn3jEUmf1QXRUT3j2ewUBlFJpe9vnAnjqpeVPDWTsVI52BwVNcJHuE37PrGs66OZ1ZkGMfKnQk43oCAa+oQ==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/core": "8.40.0", - "@sentry/types": "8.40.0" + "@sentry/core": "8.41.0", + "@sentry/types": "8.41.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.40.0.tgz", - "integrity": "sha512-1O9F3z80HNE0VfepKS+v+dixdatNqWlrlwgvvWl4BGzzoA+XhqvZo+HWxiOt7yx7+k1TuZNrB6Gy3u/QvpozXA==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.41.0.tgz", + "integrity": "sha512-bw+BrSNw8abOnu/IpD8YSbYubXkkT8jyNS7TM4e4UPZMuXcbtia7/r5d7kAiUfKv/sV5PNMlZLOk+EYJeLTANg==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/core": "8.40.0", - "@sentry/types": "8.40.0" + "@sentry/core": "8.41.0", + "@sentry/types": "8.41.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.40.0.tgz", - "integrity": "sha512-0SaDsBCSWxNVgNmPKu23frrHEXzN/MKl0hIkfuO55vL5TgjLTwpgkf0Ne4rNvaZQ5omIKk9Qd63HuQP3PHAMaw==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.41.0.tgz", + "integrity": "sha512-ByXEY7JI95y4Qr9fS3d28l9uuVU5Qa0HgL+xDmYElNx7CXz3Q9hFN6ibgUeC3h8BO5pDULxWNgAppl7FRY8N5w==", "license": "MIT", "peer": true, "dependencies": { - "@sentry-internal/browser-utils": "8.40.0", - "@sentry/core": "8.40.0", - "@sentry/types": "8.40.0" + "@sentry-internal/browser-utils": "8.41.0", + "@sentry/core": "8.41.0", + "@sentry/types": "8.41.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.40.0.tgz", - "integrity": "sha512-Zr+m/le0SH4RowZB7rBCM0aRnvH3wZTaOFhwUk03/oGf2BRcgKuDCUMjnXKC9MyOpmey7UYXkzb8ro+81R6Q8w==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.41.0.tgz", + "integrity": "sha512-lpgOBHWr1ZNxidD72A2pfoUMjIpwonOPYoQZWAHr86Oa3eIVQOyfklZlHW+gKPFl2/IEl9Lbtcke0JiDp3dkIQ==", "license": "MIT", "peer": true, "dependencies": { - "@sentry-internal/replay": "8.40.0", - "@sentry/core": "8.40.0", - "@sentry/types": "8.40.0" + "@sentry-internal/replay": "8.41.0", + "@sentry/core": "8.41.0", + "@sentry/types": "8.41.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/angular": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.40.0.tgz", - "integrity": "sha512-zHq+wI353AmsWuJv7usWY2/EhYfQdS1cao8/88ygKiPp/zUgqZbBQY/qDKpRdRadeosyyd1is53necGN61B1gg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.41.0.tgz", + "integrity": "sha512-ANumkjO2NSFQa8x6gznm7cDzZSKceaWjoQyM+1fnNc3SO9NCg00kFlbVTm+okZC11v/QmQKOhD5QzF6xJ1CGLw==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/browser": "8.40.0", - "@sentry/core": "8.40.0", - "@sentry/types": "8.40.0", + "@sentry/browser": "8.41.0", + "@sentry/core": "8.41.0", + "@sentry/types": "8.41.0", "tslib": "^2.4.1" }, "engines": { @@ -7185,40 +7182,40 @@ } }, "node_modules/@sentry/browser": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.40.0.tgz", - "integrity": "sha512-m/Yor6IDBeDHtQochu8n6z4HXrXkrPhu6+o5Ouve0Zi3ptthSoK1FOGvJxVBat3nRq0ydQyuuPuTB6WfdWbwHQ==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.41.0.tgz", + "integrity": "sha512-FfAU55eYwW2lG4M3dEw2472RvHrD5YWSfHCZvuRf/4skX38kFvKghZQ+epL+CVHTzvIRHOrbj8qQK6YLTGl9ew==", "license": "MIT", "peer": true, "dependencies": { - "@sentry-internal/browser-utils": "8.40.0", - "@sentry-internal/feedback": "8.40.0", - "@sentry-internal/replay": "8.40.0", - "@sentry-internal/replay-canvas": "8.40.0", - "@sentry/core": "8.40.0", - "@sentry/types": "8.40.0" + "@sentry-internal/browser-utils": "8.41.0", + "@sentry-internal/feedback": "8.41.0", + "@sentry-internal/replay": "8.41.0", + "@sentry-internal/replay-canvas": "8.41.0", + "@sentry/core": "8.41.0", + "@sentry/types": "8.41.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/core": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.40.0.tgz", - "integrity": "sha512-u/U2CJpG/+SmTR2bPM4ZZoPYTJAOUuxzj/0IURnvI0v9+rNu939J/fzrO9huA5IJVxS5TiYykhQm7o6I3Zuo3Q==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.41.0.tgz", + "integrity": "sha512-3v7u3t4LozCA5SpZY4yqUN2U3jSrkXNoLgz6L2SUUiydyCuSwXZIFEwpLJfgQyidpNDifeQbBI5E1O910XkPsA==", "license": "MIT", "peer": true, "dependencies": { - "@sentry/types": "8.40.0" + "@sentry/types": "8.41.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/types": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.40.0.tgz", - "integrity": "sha512-nuCf3U3deolPM9BjNnwCc33UtFl9ec15/r74ngAkNccn+A2JXdIAsDkGJMO/9mgSFykLe1QyeJ0pQFRisCGOiA==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.41.0.tgz", + "integrity": "sha512-eqdnGr9k9H++b9CjVUoTNUVahPVWeNnMy0YGkqS5+cjWWC+x43p56202oidGFmWo6702ub/xwUNH6M5PC4kq6A==", "license": "MIT", "engines": { "node": ">=14.18" @@ -7523,9 +7520,9 @@ } }, "node_modules/@ts-graphviz/adapter": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@ts-graphviz/adapter/-/adapter-2.0.5.tgz", - "integrity": "sha512-K/xd2SJskbSLcUz9uYW9IDy26I3Oyutj/LREjJgcuLMxT3um4sZfy9LiUhGErHjxLRaNcaDVGSsmWeiNuhidXg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@ts-graphviz/adapter/-/adapter-2.0.6.tgz", + "integrity": "sha512-kJ10lIMSWMJkLkkCG5gt927SnGZcBuG0s0HHswGzcHTgvtUe7yk5/3zTEr0bafzsodsOq5Gi6FhQeV775nC35Q==", "dev": true, "funding": [ { @@ -7539,16 +7536,16 @@ ], "license": "MIT", "dependencies": { - "@ts-graphviz/common": "^2.1.4" + "@ts-graphviz/common": "^2.1.5" }, "engines": { "node": ">=18" } }, "node_modules/@ts-graphviz/ast": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@ts-graphviz/ast/-/ast-2.0.5.tgz", - "integrity": "sha512-HVT+Bn/smDzmKNJFccwgrpJaEUMPzXQ8d84JcNugzTHNUVgxAIe2Vbf4ug351YJpowivQp6/N7XCluQMjtgi5w==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@ts-graphviz/ast/-/ast-2.0.6.tgz", + "integrity": "sha512-JbOnw6+Pm+C9jRQlNV+qJG0/VTan4oCeZ0sClm++SjaaMBJ0q86O13i6wbcWKY2x8kKt9GP2hVCgM/p/BXtXWQ==", "dev": true, "funding": [ { @@ -7562,16 +7559,16 @@ ], "license": "MIT", "dependencies": { - "@ts-graphviz/common": "^2.1.4" + "@ts-graphviz/common": "^2.1.5" }, "engines": { "node": ">=18" } }, "node_modules/@ts-graphviz/common": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@ts-graphviz/common/-/common-2.1.4.tgz", - "integrity": "sha512-PNEzOgE4vgvorp/a4Ev26jVNtiX200yODoyPa8r6GfpPZbxWKW6bdXF6xWqzMkQoO1CnJOYJx2VANDbGqCqCCw==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ts-graphviz/common/-/common-2.1.5.tgz", + "integrity": "sha512-S6/9+T6x8j6cr/gNhp+U2olwo1n0jKj/682QVqsh7yXWV6ednHYqxFw0ZsY3LyzT0N8jaZ6jQY9YD99le3cmvg==", "dev": true, "funding": [ { @@ -7589,9 +7586,9 @@ } }, "node_modules/@ts-graphviz/core": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@ts-graphviz/core/-/core-2.0.5.tgz", - "integrity": "sha512-YwaCGAG3Hs0nhxl+2lVuwuTTAK3GO2XHqOGvGIwXQB16nV858rrR5w2YmWCw9nhd11uLTStxLsCAhI9koWBqDA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@ts-graphviz/core/-/core-2.0.6.tgz", + "integrity": "sha512-0hvrluFirC0ph3Dn2o1B0O1fI2n7Hre1HlScfmRcO6DDDq/05Vizg5UMI0LfvkJulLuz80RPjUHluh+QfBUBKw==", "dev": true, "funding": [ { @@ -7605,8 +7602,8 @@ ], "license": "MIT", "dependencies": { - "@ts-graphviz/ast": "^2.0.5", - "@ts-graphviz/common": "^2.1.4" + "@ts-graphviz/ast": "^2.0.6", + "@ts-graphviz/common": "^2.1.5" }, "engines": { "node": ">=18" @@ -7973,12 +7970,22 @@ } }, "node_modules/@types/jasmine": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.6.tgz", - "integrity": "sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", + "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", "dev": true, "license": "MIT" }, + "node_modules/@types/jasminewd2": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.13.tgz", + "integrity": "sha512-aJ3wj8tXMpBrzQ5ghIaqMisD8C3FIrcO6sDKHqFbuqAsI7yOxj0fA7MrRCPLZHIVUjERIwsMmGn/vB0UQ9u0Hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/jasmine": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -11343,6 +11350,16 @@ "node": ">= 0.10" } }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -12236,58 +12253,26 @@ } }, "node_modules/del": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-7.1.0.tgz", - "integrity": "sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-8.0.0.tgz", + "integrity": "sha512-R6ep6JJ+eOBZsBr9esiNN1gxFbZE4Q2cULkUSFumGYecAiS6qodDvcPx/sFuWHMNul7DWmrtoEOpYSm7o6tbSA==", "dev": true, "license": "MIT", "dependencies": { - "globby": "^13.1.2", - "graceful-fs": "^4.2.10", + "globby": "^14.0.2", "is-glob": "^4.0.3", "is-path-cwd": "^3.0.0", "is-path-inside": "^4.0.0", - "p-map": "^5.5.0", - "rimraf": "^3.0.2", - "slash": "^4.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "p-map": "^7.0.2", + "slash": "^5.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/del/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -12341,6 +12326,16 @@ "node": ">=18" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -15400,19 +15395,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gonzales-pe": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", @@ -15566,6 +15548,16 @@ "node": ">= 0.4" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, "node_modules/highlight.js": { "version": "10.7.3", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", @@ -15622,6 +15614,19 @@ "wbuf": "^1.1.0" } }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/html-entities": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", @@ -15810,6 +15815,100 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-server/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/http-server/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/http-server/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/http-server/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-server/node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true, + "license": "MIT" + }, "node_modules/http-signature": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", @@ -15959,6 +16058,10 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/igo": { + "resolved": "projects/igo2", + "link": true + }, "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", @@ -22756,6 +22859,16 @@ "opencollective-postinstall": "index.js" } }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -22914,19 +23027,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-filter/node_modules/p-map": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", - "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-is-promise": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", @@ -22970,75 +23070,13 @@ } }, "node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map/node_modules/aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map/node_modules/clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", + "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -23591,15 +23629,50 @@ "node": ">=4" } }, - "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "license": "MIT", + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, { "type": "tidelift", @@ -24222,6 +24295,116 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/read-pkg-up": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz", + "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0", + "read-pkg": "^8.1.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/read-pkg-up/node_modules/parse-json": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", + "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/parse-json/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", + "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/read-pkg/node_modules/parse-json": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", @@ -24986,6 +25169,13 @@ "compute-scroll-into-view": "^3.0.2" } }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true, + "license": "MIT" + }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -25061,37 +25251,6 @@ "node": ">=18" } }, - "node_modules/semantic-release/node_modules/@semantic-release/github": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.1.tgz", - "integrity": "sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/core": "^6.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-retry": "^7.0.0", - "@octokit/plugin-throttling": "^9.0.0", - "@semantic-release/error": "^4.0.0", - "aggregate-error": "^5.0.0", - "debug": "^4.3.4", - "dir-glob": "^3.0.1", - "globby": "^14.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "issue-parser": "^7.0.0", - "lodash-es": "^4.17.21", - "mime": "^4.0.0", - "p-filter": "^4.0.0", - "url-join": "^5.0.0" - }, - "engines": { - "node": ">=20.8.1" - }, - "peerDependencies": { - "semantic-release": ">=24.1.0" - } - }, "node_modules/semantic-release/node_modules/aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", @@ -25803,13 +25962,13 @@ } }, "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -27207,9 +27366,9 @@ } }, "node_modules/ts-graphviz": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/ts-graphviz/-/ts-graphviz-2.1.4.tgz", - "integrity": "sha512-0g465/ES70H0h5rcLUqaenKqNYekQaR9W0m0xUGy3FxueGujpGr+0GN2YWlgLIYSE2Xg0W7Uq1Qqnn7Cg+Af2w==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/ts-graphviz/-/ts-graphviz-2.1.5.tgz", + "integrity": "sha512-IigMCo40QZvyyURRdYFh0DV6DGDt7OqkPM/TBGXSJKfNKnYmOfRg0tzSlnJS1TQCWFSTEtpBQsqmAZcziXJrWg==", "dev": true, "funding": [ { @@ -27223,10 +27382,10 @@ ], "license": "MIT", "dependencies": { - "@ts-graphviz/adapter": "^2.0.5", - "@ts-graphviz/ast": "^2.0.5", - "@ts-graphviz/common": "^2.1.4", - "@ts-graphviz/core": "^2.0.5" + "@ts-graphviz/adapter": "^2.0.6", + "@ts-graphviz/ast": "^2.0.6", + "@ts-graphviz/common": "^2.1.5", + "@ts-graphviz/core": "^2.0.6" }, "engines": { "node": ">=18" @@ -27538,6 +27697,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", @@ -28799,6 +28970,32 @@ "node": ">=0.8.0" } }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -29380,7 +29577,6 @@ "projects/igo2": { "name": "igo", "version": "17.0.1", - "extraneous": true, "license": "LiLiQ-R", "dependencies": { "@angular/animations": "^18.2.1", @@ -29442,6 +29638,499 @@ "engines": { "node": ">=18.13.0" } + }, + "projects/igo2/node_modules/@angular-eslint/bundled-angular-compiler": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.3.0.tgz", + "integrity": "sha512-v/59FxUKnMzymVce99gV43huxoqXWMb85aKvzlNvLN+ScDu6ZE4YMiTQNpfapVL2lkxhs0uwB3jH17EYd5TcsA==", + "dev": true, + "license": "MIT" + }, + "projects/igo2/node_modules/@angular-eslint/schematics": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.3.0.tgz", + "integrity": "sha512-rQ4DEWwf3f5n096GAK6JvXD0SRzRJ52WRaIyKg8MMkk6qvUDfZI8seOkcbjDtZoIe6Ds7DfqSfJgNVte75qvPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/eslint-plugin": "18.3.0", + "@angular-eslint/eslint-plugin-template": "18.3.0", + "ignore": "5.3.2", + "semver": "7.6.3", + "strip-json-comments": "3.1.1" + }, + "peerDependencies": { + "@angular-devkit/core": ">= 18.0.0 < 19.0.0", + "@angular-devkit/schematics": ">= 18.0.0 < 19.0.0" + } + }, + "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", + "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "@angular-eslint/utils": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin-template": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", + "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "@angular-eslint/utils": "18.3.0", + "aria-query": "5.3.0", + "axobject-query": "4.1.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/utils": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", + "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/@types/jasmine": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.6.4.tgz", + "integrity": "sha512-qCw5sVW+ylTnrEhe5kfX4l6MgU9REXIVDa/lWEcvTOUmd+LqDYwyjovDq+Zk9blElaEHOj1URDQ/djEBVRf+pw==", + "dev": true, + "license": "MIT" + }, + "projects/igo2/node_modules/angular-eslint": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-18.3.0.tgz", + "integrity": "sha512-neBE3BUtxj1EPPNVww3i/e8DKh/gb+fT/WpDEsRZM//8vS+qb0pMC04dn4bqeUriM05Nq/oUESdwkLuyadJE9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/builder": "18.3.0", + "@angular-eslint/eslint-plugin": "18.3.0", + "@angular-eslint/eslint-plugin-template": "18.3.0", + "@angular-eslint/schematics": "18.3.0", + "@angular-eslint/template-parser": "18.3.0" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*", + "typescript-eslint": "^8.0.0" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/builder": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.3.0.tgz", + "integrity": "sha512-httEQyqyBw3+0CRtAa7muFxHrauRfkEfk/jmrh5fn2Eiu+I53hAqFPgrwVi1V6AP/kj2zbAiWhd5xM3pMJdoRQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", + "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "@angular-eslint/utils": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", + "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "@angular-eslint/utils": "18.3.0", + "aria-query": "5.3.0", + "axobject-query": "4.1.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/utils": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", + "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/utils": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", + "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/template-parser": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.3.0.tgz", + "integrity": "sha512-1mUquqcnugI4qsoxcYZKZ6WMi6RPelDcJZg2YqGyuaIuhWmi3ZqJZLErSSpjP60+TbYZu7wM8Kchqa1bwJtEaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "18.3.0", + "eslint-scope": "^8.0.2" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": "*" + } + }, + "projects/igo2/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "projects/igo2/node_modules/conventional-changelog": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-5.1.0.tgz", + "integrity": "sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-changelog-angular": "^7.0.0", + "conventional-changelog-atom": "^4.0.0", + "conventional-changelog-codemirror": "^4.0.0", + "conventional-changelog-conventionalcommits": "^7.0.2", + "conventional-changelog-core": "^7.0.0", + "conventional-changelog-ember": "^4.0.0", + "conventional-changelog-eslint": "^5.0.0", + "conventional-changelog-express": "^4.0.0", + "conventional-changelog-jquery": "^5.0.0", + "conventional-changelog-jshint": "^4.0.0", + "conventional-changelog-preset-loader": "^4.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-atom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-4.0.0.tgz", + "integrity": "sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-cli": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-4.1.0.tgz", + "integrity": "sha512-MscvILWZ6nWOoC+p/3Nn3D2cVLkjeQjyZPUr0bQ+vUORE/SPrkClJh8BOoMNpS4yk+zFJ5LlgXACxH6XGQoRXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog": "^5.1.0", + "meow": "^12.0.1", + "tempfile": "^5.0.0" + }, + "bin": { + "conventional-changelog": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-codemirror": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-4.0.0.tgz", + "integrity": "sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-core": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-7.0.0.tgz", + "integrity": "sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hutson/parse-repository-url": "^5.0.0", + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^7.0.0", + "conventional-commits-parser": "^5.0.0", + "git-raw-commits": "^4.0.0", + "git-semver-tags": "^7.0.0", + "hosted-git-info": "^7.0.0", + "normalize-package-data": "^6.0.0", + "read-pkg": "^8.0.0", + "read-pkg-up": "^10.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-ember": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-4.0.0.tgz", + "integrity": "sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-eslint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-5.0.0.tgz", + "integrity": "sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-express": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-4.0.0.tgz", + "integrity": "sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-jquery": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-5.0.0.tgz", + "integrity": "sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-jshint": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-4.0.0.tgz", + "integrity": "sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-preset-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-4.1.0.tgz", + "integrity": "sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-changelog-writer": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", + "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-commits-filter": "^4.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "meow": "^12.0.1", + "semver": "^7.5.2", + "split2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/conventional-commits-filter": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", + "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/git-semver-tags": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-7.0.1.tgz", + "integrity": "sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "meow": "^12.0.1", + "semver": "^7.5.2" + }, + "bin": { + "git-semver-tags": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "projects/igo2/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "projects/igo2/node_modules/lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "projects/igo2/node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/parse-json": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", + "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/parse-json/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/type-fest": { + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", + "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index e067c83a3..a37b747c4 100644 --- a/package.json +++ b/package.json @@ -82,33 +82,33 @@ "@angular-devkit/build-angular": "^18.2.1", "@angular/cli": "^18.2.1", "@angular/compiler-cli": "^18.2.1", - "@commitlint/cli": "^19.4.0", - "@commitlint/config-conventional": "^19.2.2", - "@commitlint/format": "^19.3.0", - "@commitlint/types": "^19.0.3", + "@commitlint/cli": "^19.6.0", + "@commitlint/config-conventional": "^19.6.0", + "@commitlint/format": "^19.5.0", + "@commitlint/types": "^19.5.0", "@compodoc/compodoc": "^1.1.15", "@cypress/schematic": "^2.5.1", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/github": "^10.1.0", - "@sentry/types": "^8.26.0", - "@stylistic/eslint-plugin": "^2.6.4", + "@semantic-release/github": "^11.0.0", + "@sentry/types": "^8.41.0", + "@stylistic/eslint-plugin": "^2.11.0", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/flexsearch": "^0.7.6", "@types/geojson": "^7946.0.10", "@types/hammerjs": "^2.0.36", - "@types/jasmine": "~4.3.0", + "@types/jasmine": "~5.1.0", "@types/lodash-es": "^4.17.0", "@types/node": "^20.10.0", "@types/tinycolor2": "^1.4.4", "angular-cli-ghpages": "^2.0.0", - "angular-eslint": "^18.3.0", + "angular-eslint": "^18.4.0", "conventional-changelog-cli": "^5.0.0", "copy-newer": "^2.1.2", - "cypress": "^13.13.0", - "del": "^7.1.0", - "eslint": "^9.9.0", - "execa": "^9.3.0", + "cypress": "^13.16.0", + "del": "^8.0.0", + "eslint": "^9.15.0", + "execa": "^9.5.0", "jasmine-core": "~5.1.0", "jasmine-spec-reporter": "~7.0.0", "karma": "~6.4.2", @@ -119,12 +119,12 @@ "lodash-es": "^4.17.21", "madge": "^8.0.0", "ng-packagr": "^18.2.1", - "prettier": "^3.3.0", - "sass": "^1.77.0", - "semantic-release": "^24.1.0", - "tsx": "^4.17.0", + "prettier": "^3.4.0", + "sass": "^1.81.0", + "semantic-release": "^24.2.0", + "tsx": "^4.19.0", "typescript": "~5.5.4", - "typescript-eslint": "^8.2.0" + "typescript-eslint": "^8.16.0" }, "madge": { "detectiveOptions": { From ade4ba20e34dd915251cb6f5600feae3126c55ef Mon Sep 17 00:00:00 2001 From: Alexandre Caron Date: Thu, 6 Jun 2024 11:11:53 -0400 Subject: [PATCH 15/16] feat(geo): export to Excel - refact CSV and wfs --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 2 +- package-lock.json | 70 +- package.json | 3 +- .../context-manager/shared/context.service.ts | 2 +- packages/geo/ng-package.json | 4 +- packages/geo/package.json | 2 +- packages/geo/src/_index.scss | 3 +- .../datasources/arcgisrest-datasource.ts | 4 +- .../shared/datasources/carto-datasource.ts | 4 +- .../shared/datasources/cluster-datasource.ts | 4 +- .../shared/datasources/feature-datasource.ts | 4 +- .../datasources/imagearcgisrest-datasource.ts | 4 +- .../shared/datasources/mvt-datasource.ts | 4 +- .../shared/datasources/osm-datasource.ts | 4 +- .../datasources/tilearcgisrest-datasource.ts | 4 +- .../datasources/tiledebug-datasource.ts | 4 +- .../datasources/websocket-datasource.ts | 2 +- .../shared/datasources/wfs-datasource.ts | 110 ++- .../shared/datasources/wms-datasource.ts | 2 +- .../shared/datasources/wms-wfs.utils.ts | 11 +- .../shared/datasources/wmts-datasource.ts | 4 +- .../shared/datasources/xyz-datasource.ts | 4 +- .../geo/src/lib/filter/shared/ogc-filter.ts | 6 +- .../import-export.component.html | 106 +-- .../import-export/import-export.component.ts | 665 +++++++----------- .../import-export/shared/export.interface.ts | 15 +- .../import-export/shared/export.service.ts | 493 ++++++++++--- .../lib/import-export/shared/export.type.ts | 28 +- .../lib/import-export/shared/export.utils.ts | 6 + .../geo/src/lib/layer/shared/layer.service.ts | 2 + .../lib/layer/shared/layers/image-layer.ts | 6 +- .../src/lib/layer/shared/layers/tile-layer.ts | 6 +- .../lib/layer/shared/layers/vector-layer.ts | 30 +- .../layer/shared/layers/vectortile-layer.ts | 6 +- .../wake-lock-button.component.ts | 1 - packages/geo/src/locale/en.geo.json | 11 +- packages/geo/src/locale/fr.geo.json | 11 +- .../integration/src/lib/tool/tool.state.ts | 2 +- .../lib/workspace/shared/workspace.utils.ts | 3 +- packages/utils/src/lib/date.utils.ts | 14 + packages/utils/src/lib/file.ts | 5 + packages/utils/src/lib/index.ts | 1 + 43 files changed, 979 insertions(+), 695 deletions(-) create mode 100644 packages/utils/src/lib/date.utils.ts diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index c4800a797..e191892d1 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -31,7 +31,7 @@ jobs: run: npm audit --omit dev && npm audit signatures - name: Quality - run: npm run circular-deps & npm run lint & npm run format.check + run: npm run circular-deps & npm run lint.ci & npm run format.check - name: Test run: npm run e2e & npm run test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4e5c30483..e35397003 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,7 +37,7 @@ jobs: run: npm audit --omit dev && npm audit signatures - name: Quality - run: npm run circular-deps & npm run lint + run: npm run circular-deps & npm run lint.ci & npm run format.check - name: Test run: npm run e2e & npm run test diff --git a/package-lock.json b/package-lock.json index 284cd8a36..ea1abf237 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24393,9 +24393,9 @@ } }, "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", - "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.28.1.tgz", + "integrity": "sha512-LO/+yb3mf46YqfUC7QkkoAlpa7CTYh//V1Xy9+NQ+pKqDqXIq0NTfPfQRwFfCt+if4Qkwb9gzZfsl6E5TkXZGw==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -29253,6 +29253,18 @@ } } }, + "node_modules/xlsx": { + "version": "0.20.2", + "resolved": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz", + "integrity": "sha512-+nKZ39+nvK7Qq6i0PvWWRA4j/EkfWOtkP/YhMtupm+lJIiHxUrgTr1CcKv1nBk1rHtkRRQ3O2+Ih/q/sA+FXZA==", + "license": "Apache-2.0", + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/xml-utils": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.10.1.tgz", @@ -29498,7 +29510,7 @@ "ts-cacheable": "^1.0.6", "ts-md5": "^1.3.0", "tslib": "^2.6.0", - "windows-1252": "^3.0.4" + "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz" }, "devDependencies": { "typescript": "~5.5.4" @@ -30067,7 +30079,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "projects/igo2/node_modules/parse-json": { + "projects/igo2/node_modules/read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "projects/igo2/node_modules/read-pkg/node_modules/parse-json": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", @@ -30087,7 +30118,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "projects/igo2/node_modules/parse-json/node_modules/type-fest": { + "projects/igo2/node_modules/read-pkg/node_modules/parse-json/node_modules/type-fest": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", @@ -30100,29 +30131,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "projects/igo2/node_modules/read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/type-fest": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", - "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", + "projects/igo2/node_modules/read-pkg/node_modules/type-fest": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.28.1.tgz", + "integrity": "sha512-LO/+yb3mf46YqfUC7QkkoAlpa7CTYh//V1Xy9+NQ+pKqDqXIq0NTfPfQRwFfCt+if4Qkwb9gzZfsl6E5TkXZGw==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { diff --git a/package.json b/package.json index a37b747c4..020951f31 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,9 @@ "build.doc": "compodoc -p tsconfig.json --disablePrivate --disableProtected --disableInternal --disableLifeCycleHooks --theme material", "format.check": "prettier packages projects scripts --check --config .prettierrc", "format": "npm run format --workspaces --if-present && npm run format.scripts", - "format.scripts": "prettier --write ./scripts/src/**/*.{ts,js,json}", + "format.scripts": "prettier --write ./scripts/src/**/*.{mts,ts,js,json}", "lint": "ng lint", + "lint.ci": "ng lint --quiet", "lint.fix": "ng lint --fix", "e2e": "npm run prestart && npm run e2e -w demo", "e2e.local": "npm run prestart &&npm run e2e.local -w demo", diff --git a/packages/context/src/lib/context-manager/shared/context.service.ts b/packages/context/src/lib/context-manager/shared/context.service.ts index 52149a921..1788a6a07 100644 --- a/packages/context/src/lib/context-manager/shared/context.service.ts +++ b/packages/context/src/lib/context-manager/shared/context.service.ts @@ -623,7 +623,7 @@ export class ContextService { const source = layer.ol.getSource() as olVectorSource; olFeatures = source.getFeatures(); } - const cleanedOlFeatures = this.exportService.generateFeature( + const cleanedOlFeatures = this.exportService.cleanFeatures( olFeatures, 'GeoJSON', '_featureStore' diff --git a/packages/geo/ng-package.json b/packages/geo/ng-package.json index cd12d7465..c403594b1 100644 --- a/packages/geo/ng-package.json +++ b/packages/geo/ng-package.json @@ -6,12 +6,12 @@ }, "allowedNonPeerDependencies": [ "nosleep.js", - "windows-1252", "ts-cacheable", "ts-md5", "@turf/helpers", "@turf/line-intersect", - "@turf/point-on-feature" + "@turf/point-on-feature", + "xlsx" ], "assets": [ { "input": "", "glob": "**/*.them*.scss", "output": "" }, diff --git a/packages/geo/package.json b/packages/geo/package.json index 9cac82fa8..01927a54b 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -44,7 +44,7 @@ "ts-cacheable": "^1.0.6", "ts-md5": "^1.3.0", "tslib": "^2.6.0", - "windows-1252": "^3.0.4" + "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz" }, "peerDependencies": { "@angular/animations": "^18.0.0", diff --git a/packages/geo/src/_index.scss b/packages/geo/src/_index.scss index eabd4896d..21fde6375 100644 --- a/packages/geo/src/_index.scss +++ b/packages/geo/src/_index.scss @@ -1,2 +1,3 @@ -@forward './lib/search/search-bar/search-bar.theming.scss' as search-bar-* show search-bar-color, +@forward './lib/search/search-bar/search-bar.theming.scss' as search-bar-* show + search-bar-color, search-bar-density, search-bar-theme; diff --git a/packages/geo/src/lib/datasource/shared/datasources/arcgisrest-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/arcgisrest-datasource.ts index 757e48de8..b5913245e 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/arcgisrest-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/arcgisrest-datasource.ts @@ -7,8 +7,8 @@ import { DataSource } from './datasource'; import { Legend } from './datasource.interface'; export class ArcGISRestDataSource extends DataSource { - public declare ol: olSourceVector; - public declare options: ArcGISRestDataSourceOptions; + declare public ol: olSourceVector; + declare public options: ArcGISRestDataSourceOptions; protected createOlSource(): olSourceVector { const esrijsonFormat = new olFormatEsriJSON(); diff --git a/packages/geo/src/lib/datasource/shared/datasources/carto-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/carto-datasource.ts index 2140de223..db7a47c6f 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/carto-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/carto-datasource.ts @@ -6,8 +6,8 @@ import { DataSource } from './datasource'; import { Legend } from './datasource.interface'; export class CartoDataSource extends DataSource { - public declare ol: olSourceCarto; - public declare options: CartoDataSourceOptions; + declare public ol: olSourceCarto; + declare public options: CartoDataSourceOptions; get params(): any { return this.options.params as any; diff --git a/packages/geo/src/lib/datasource/shared/datasources/cluster-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/cluster-datasource.ts index 6f6abb6ce..843e0904e 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/cluster-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/cluster-datasource.ts @@ -6,8 +6,8 @@ import { ClusterDataSourceOptions } from './cluster-datasource.interface'; import { FeatureDataSource } from './feature-datasource'; export class ClusterDataSource extends FeatureDataSource { - public declare options: ClusterDataSourceOptions; - public declare ol: olSourceCluster; + declare public options: ClusterDataSourceOptions; + declare public ol: olSourceCluster; protected createOlSource(): olSourceCluster { this.options.format = this.getSourceFormatFromOptions(this.options); diff --git a/packages/geo/src/lib/datasource/shared/datasources/feature-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/feature-datasource.ts index b307292f7..848a40c6e 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/feature-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/feature-datasource.ts @@ -5,8 +5,8 @@ import { DataSource } from './datasource'; import { FeatureDataSourceOptions } from './feature-datasource.interface'; export class FeatureDataSource extends DataSource { - public declare options: FeatureDataSourceOptions; - public declare ol: olSourceVector; + declare public options: FeatureDataSourceOptions; + declare public ol: olSourceVector; protected createOlSource(): olSourceVector { const sourceOptions = { format: this.getSourceFormatFromOptions(this.options) diff --git a/packages/geo/src/lib/datasource/shared/datasources/imagearcgisrest-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/imagearcgisrest-datasource.ts index 1b8a93e94..a7e7b50a9 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/imagearcgisrest-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/imagearcgisrest-datasource.ts @@ -6,8 +6,8 @@ import { Legend } from './datasource.interface'; import { ArcGISRestImageDataSourceOptions } from './imagearcgisrest-datasource.interface'; export class ImageArcGISRestDataSource extends DataSource { - public declare ol: ImageArcGISRest; - public declare options: ArcGISRestImageDataSourceOptions; + declare public ol: ImageArcGISRest; + declare public options: ArcGISRestImageDataSourceOptions; get params(): any { return this.options.params as any; diff --git a/packages/geo/src/lib/datasource/shared/datasources/mvt-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/mvt-datasource.ts index 9974ea6c2..1cce2bb11 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/mvt-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/mvt-datasource.ts @@ -10,8 +10,8 @@ import { DataSource } from './datasource'; import { MVTDataSourceOptions } from './mvt-datasource.interface'; export class MVTDataSource extends DataSource { - public declare options: MVTDataSourceOptions; - public declare ol: olSourceVectorTile; + declare public options: MVTDataSourceOptions; + declare public ol: olSourceVectorTile; protected createOlSource(): olSourceVectorTile { let mvtFormat; diff --git a/packages/geo/src/lib/datasource/shared/datasources/osm-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/osm-datasource.ts index 08f409354..7fb30b349 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/osm-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/osm-datasource.ts @@ -4,8 +4,8 @@ import { DataSource } from './datasource'; import { OSMDataSourceOptions } from './osm-datasource.interface'; export class OSMDataSource extends DataSource { - public declare options: OSMDataSourceOptions; - public declare ol: olSourceOSM; + declare public options: OSMDataSourceOptions; + declare public ol: olSourceOSM; protected createOlSource(): olSourceOSM { if (!this.options.url) { diff --git a/packages/geo/src/lib/datasource/shared/datasources/tilearcgisrest-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/tilearcgisrest-datasource.ts index 884d68c22..a2f05d421 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/tilearcgisrest-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/tilearcgisrest-datasource.ts @@ -7,8 +7,8 @@ import { Legend } from './datasource.interface'; import { TileArcGISRestDataSourceOptions } from './tilearcgisrest-datasource.interface'; export class TileArcGISRestDataSource extends DataSource { - public declare ol: olSourceTileArcGISRest; - public declare options: TileArcGISRestDataSourceOptions; + declare public ol: olSourceTileArcGISRest; + declare public options: TileArcGISRestDataSourceOptions; get params(): any { return this.options.params as any; diff --git a/packages/geo/src/lib/datasource/shared/datasources/tiledebug-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/tiledebug-datasource.ts index cce3881b3..76a4d06d1 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/tiledebug-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/tiledebug-datasource.ts @@ -5,8 +5,8 @@ import { DataSource } from './datasource'; import { TileDebugDataSourceOptions } from './tiledebug-datasource.interface'; export class TileDebugDataSource extends DataSource { - public declare options: TileDebugDataSourceOptions; - public declare ol: TileDebug; + declare public options: TileDebugDataSourceOptions; + declare public ol: TileDebug; protected createOlSource(): TileDebug { const baseOptions = JSON.parse(JSON.stringify(this.options)); // to avoid to alter the original options diff --git a/packages/geo/src/lib/datasource/shared/datasources/websocket-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/websocket-datasource.ts index 7f4e057b0..c38963dcc 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/websocket-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/websocket-datasource.ts @@ -6,7 +6,7 @@ import { WebSocketDataSourceOptions } from './websocket-datasource.interface'; export class WebSocketDataSource extends FeatureDataSource { public ws: WebSocket; - public declare options: WebSocketDataSourceOptions; + declare public options: WebSocketDataSourceOptions; protected createOlSource(): olSourceVector { this.createWebSocket(); diff --git a/packages/geo/src/lib/datasource/shared/datasources/wfs-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/wfs-datasource.ts index 11f6838b0..66ca89136 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/wfs-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/wfs-datasource.ts @@ -1,8 +1,17 @@ +import type { HttpClient } from '@angular/common/http'; + import { AuthInterceptor } from '@igo2/auth'; +import OlFeature from 'ol/Feature'; +import { Extent } from 'ol/extent'; +import type { default as OlGeometry } from 'ol/geom/Geometry'; import * as OlLoadingStrategy from 'ol/loadingstrategy'; +import * as OlProj from 'ol/proj'; +import olProjection from 'ol/proj/Projection'; import olSourceVector from 'ol/source/Vector'; +import { Observable, catchError, map } from 'rxjs'; + import { OgcFilterWriter } from '../../../filter/shared/ogc-filter'; import { OgcFilterableDataSourceOptions, @@ -12,13 +21,21 @@ import { DataSource } from './datasource'; import { WFSDataSourceOptions } from './wfs-datasource.interface'; import { WFSService } from './wfs.service'; import { + buildUrl, checkWfsParams, defaultFieldNameGeometry, + defaultMaxFeatures, getFormatFromOptions } from './wms-wfs.utils'; +interface FetchFeatureOptions { + extent: Extent; + projection: olProjection; + httpClient: HttpClient; +} + export class WFSDataSource extends DataSource { - public declare ol: olSourceVector; + declare public ol: olSourceVector; set ogcFilters(value: OgcFiltersOptions) { (this.options as OgcFilterableDataSourceOptions).ogcFilters = value; @@ -92,4 +109,95 @@ export class WFSDataSource extends DataSource { public onUnwatch() { // empty } + + fetchFeatures({ + extent, + projection, + httpClient + }: FetchFeatureOptions): Observable[]> { + const paramsWFS = this.options.paramsWFS; + const wfsProj = paramsWFS.srsName + ? new olProjection({ code: paramsWFS.srsName }) + : projection; + + const currentExtent = extent + ? OlProj.transformExtent(extent, projection, wfsProj) + : undefined; + const ogcFilters = this.ogcFilters; + + paramsWFS.srsName = paramsWFS.srsName || projection.getCode(); + let url = buildUrl(this.options, currentExtent, wfsProj, ogcFilters); + + // Exportation want to fetch without extent/bbox restrictions + if (!extent && url.includes('bbox')) { + const [baseUrl, params] = url.split('?'); + const paramSegments = params.split('&'); + const paramsWithoutBbox = paramSegments.filter( + (segment) => !segment.includes('bbox') + ); + url = `${baseUrl}?${paramsWithoutBbox.join('&')}`; + } + + let startIndex = 0; + if ( + paramsWFS.version === '2.0.0' && + paramsWFS.maxFeatures > defaultMaxFeatures + ) { + const nbOfFeature = 1000; + while (startIndex < paramsWFS.maxFeatures) { + let alteredUrl = url.replace( + 'count=' + paramsWFS.maxFeatures, + 'count=' + nbOfFeature + ); + alteredUrl = alteredUrl.replace('startIndex=0', '0'); + alteredUrl += '&startIndex=' + startIndex; + alteredUrl.replace(/&&/g, '&'); + + return this._fetchFeatures(wfsProj, alteredUrl, { + extent: currentExtent, + projection, + httpClient + }).pipe( + map((res) => { + startIndex += nbOfFeature; + return res; + }) + ); + } + } else { + return this._fetchFeatures(wfsProj, url, { + extent: currentExtent, + projection, + httpClient + }); + } + } + + private _fetchFeatures( + featureProjection: olProjection, + url: string, + { extent, projection, httpClient }: FetchFeatureOptions + ): Observable[]> { + return httpClient.get(url, { responseType: 'text' }).pipe( + map((response) => { + return this._parseXmlFeatures(response, projection, featureProjection); + }), + catchError((e) => { + if (extent) this.ol.removeLoadedExtent(extent); + throw e; + }) + ); + } + + private _parseXmlFeatures( + xml: string, + dataProjection: olProjection, + featureProjection: olProjection + ): OlFeature[] { + const features = this.ol.getFormat().readFeatures(xml, { + dataProjection, + featureProjection + }) as OlFeature[]; + return features; + } } diff --git a/packages/geo/src/lib/datasource/shared/datasources/wms-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/wms-datasource.ts index 084e27db4..0c4735989 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/wms-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/wms-datasource.ts @@ -35,7 +35,7 @@ export interface TimeFilterableDataSource extends WMSDataSource { } export class WMSDataSource extends DataSource { - public declare ol: olSourceImageWMS; + declare public ol: olSourceImageWMS; get params(): any { return this.options.params as any; diff --git a/packages/geo/src/lib/datasource/shared/datasources/wms-wfs.utils.ts b/packages/geo/src/lib/datasource/shared/datasources/wms-wfs.utils.ts index 0ce44c68a..776fcf01a 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/wms-wfs.utils.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/wms-wfs.utils.ts @@ -59,14 +59,17 @@ export function buildUrl( ); let prefix = 'filter'; - if (!filterOrPush) { + if (extent && !filterOrPush) { prefix = 'bbox'; filterOrPush = extent.join(',') + ',' + proj.getCode(); } - paramsWFS.xmlFilter = ogcFilters?.advancedOgcFilters - ? filterOrBox - : `${prefix}=${filterOrPush}`; + if (ogcFilters?.advancedOgcFilters || filterOrPush) { + paramsWFS.xmlFilter = ogcFilters?.advancedOgcFilters + ? filterOrBox + : `${prefix}=${filterOrPush}`; + } + let baseUrl = queryStringValues.find((f) => f.name === 'getfeature').value; const patternFilter = /(filter|bbox)=.*/gi; baseUrl = patternFilter.test(paramsWFS.xmlFilter) diff --git a/packages/geo/src/lib/datasource/shared/datasources/wmts-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/wmts-datasource.ts index 44ee62744..e5d6bb032 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/wmts-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/wmts-datasource.ts @@ -6,8 +6,8 @@ import { DataSource } from './datasource'; import { WMTSDataSourceOptions } from './wmts-datasource.interface'; export class WMTSDataSource extends DataSource { - public declare options: WMTSDataSourceOptions; - public declare ol: olSourceWMTS; + declare public options: WMTSDataSourceOptions; + declare public ol: olSourceWMTS; constructor(options: WMTSDataSourceOptions) { super(options); diff --git a/packages/geo/src/lib/datasource/shared/datasources/xyz-datasource.ts b/packages/geo/src/lib/datasource/shared/datasources/xyz-datasource.ts index 054a45dd2..6bd0114ba 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/xyz-datasource.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/xyz-datasource.ts @@ -4,8 +4,8 @@ import { DataSource } from './datasource'; import { XYZDataSourceOptions } from './xyz-datasource.interface'; export class XYZDataSource extends DataSource { - public declare options: XYZDataSourceOptions; - public declare ol: olSourceXYZ; + declare public options: XYZDataSourceOptions; + declare public ol: olSourceXYZ; protected createOlSource(): olSourceXYZ { return new olSourceXYZ(this.options); diff --git a/packages/geo/src/lib/filter/shared/ogc-filter.ts b/packages/geo/src/lib/filter/shared/ogc-filter.ts index 595addbce..06fc25110 100644 --- a/packages/geo/src/lib/filter/shared/ogc-filter.ts +++ b/packages/geo/src/lib/filter/shared/ogc-filter.ts @@ -146,7 +146,11 @@ export class OgcFilterWriter { filterAssembly = this.bundleFilter(filters, options); } } else { - return 'bbox=' + extent.join(',') + ',' + proj.getCode(); + if (extent && proj) { + return 'bbox=' + extent.join(',') + ',' + proj.getCode(); + } else { + return undefined; + } } const wfsOptions: WriteGetFeatureOptions = { diff --git a/packages/geo/src/lib/import-export/import-export/import-export.component.html b/packages/geo/src/lib/import-export/import-export/import-export.component.html index 779ff394c..756533e3f 100644 --- a/packages/geo/src/lib/import-export/import-export/import-export.component.html +++ b/packages/geo/src/lib/import-export/import-export/import-export.component.html @@ -1,4 +1,4 @@ -
+
-

+ {{ 'igo.geo.importExportForm.projections.' + projection.translateKey | translate: projection }} -

-

+ + {{ projection.alias }} -

+ @@ -71,7 +71,7 @@ />
-
+

{{ 'igo.geo.importExportForm.importClarifications' | translate }}

    @@ -89,14 +89,12 @@

    {{ 'igo.geo.importExportForm.importClarifications' | translate }}

{{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }}

@@ -133,8 +131,8 @@

{{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }}

[value]="layer.id" (click)="$event.stopPropagation()" > -

{{ layer.title }}

-

+ {{ layer.title }} + {{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }} 'igo.geo.importExportForm.exportSelectedFeature' | translate }} -

+ @@ -158,11 +156,8 @@

{{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }}

}} - - {{ 'igo.geo.export.format.' + format.value | translate }} + + {{ 'igo.geo.export.format.' + format | translate }} @@ -187,62 +182,40 @@

{{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }}

-
- - {{ - 'igo.geo.importExportForm.encodingPlaceholder' | translate - }} - - + +
+ + {{ 'igo.geo.export.separator' | translate }} + - {{ 'igo.geo.export.encoding.' + encoding.value | translate }} + {{ 'igo.geo.export.csv.separator.' + separator | translate }} - - - -
+
+
+
+
+ + {{ 'igo.geo.importExportForm.exportCombineResults' | translate }} + +
-
- - {{ 'igo.geo.importExportForm.exportCombineResults' | translate }} - -
+ + {{ 'igo.geo.importExportForm.exportSeparator' | translate }} + + + -
- - {{ 'igo.geo.importExportForm.exportSeparator' | translate }} - -
- -
+
{{ 'igo.geo.importExportForm.exportNoLayersExportable' | translate }} diff --git a/packages/geo/src/lib/import-export/import-export/import-export.component.ts b/packages/geo/src/lib/import-export/import-export/import-export.component.ts index 39a1b662c..b2c2b02d2 100644 --- a/packages/geo/src/lib/import-export/import-export/import-export.component.ts +++ b/packages/geo/src/lib/import-export/import-export/import-export.component.ts @@ -1,6 +1,5 @@ import { AsyncPipe, KeyValuePipe, NgClass, NgFor, NgIf } from '@angular/common'; import { - ChangeDetectorRef, Component, EventEmitter, Input, @@ -9,6 +8,8 @@ import { Output } from '@angular/core'; import { + FormControl, + FormGroup, FormsModule, ReactiveFormsModule, UntypedFormBuilder, @@ -32,23 +33,19 @@ import { CustomHtmlComponent } from '@igo2/common/custom-html'; import { EntityRecord } from '@igo2/common/entity'; import { SpinnerComponent } from '@igo2/common/spinner'; import type { WorkspaceStore } from '@igo2/common/workspace'; -import { Workspace } from '@igo2/common/workspace'; import { ConfigService } from '@igo2/core/config'; import { LanguageService } from '@igo2/core/language'; import { IgoLanguageModule } from '@igo2/core/language'; import { MessageService } from '@igo2/core/message'; import { StorageService } from '@igo2/core/storage'; -import { strEnum } from '@igo2/utils'; +import type { default as OlFeature } from 'ol/Feature'; +import type { default as OlGeometry } from 'ol/geom/Geometry'; import olPoint from 'ol/geom/Point'; -import { circular } from 'ol/geom/Polygon'; -import olClusterSource from 'ol/source/Cluster'; -import olVectorSource from 'ol/source/Vector'; -import { BehaviorSubject, Subscription } from 'rxjs'; +import { BehaviorSubject, Subscription, lastValueFrom } from 'rxjs'; import { skipWhile } from 'rxjs/operators'; -import { ClusterDataSource } from '../../datasource/shared/datasources/cluster-datasource'; import { DataSourceOptions } from '../../datasource/shared/datasources/datasource.interface'; import { DownloadService } from '../../download/shared/download.service'; import { Feature } from '../../feature/shared/feature.interfaces'; @@ -61,15 +58,18 @@ import { computeProjectionsConstraints } from '../../map/shared'; import { IgoMap } from '../../map/shared/map'; import { StyleListService } from '../../style/style-list/style-list.service'; import { StyleService } from '../../style/style-service/style.service'; -import { EditionWorkspace } from '../../workspace/shared/edition-workspace'; -import { FeatureWorkspace } from '../../workspace/shared/feature-workspace'; -import { WfsWorkspace } from '../../workspace/shared/wfs-workspace'; -import { ExportOptions } from '../shared/export.interface'; +import { ExportOptions, GeometryCollection } from '../shared/export.interface'; import { ExportService } from '../shared/export.service'; -import { EncodingFormat, ExportFormat } from '../shared/export.type'; +import { + AnyExportFormat, + CsvSeparator, + ExportFormat, + ExportFormatLegacy +} from '../shared/export.type'; import { handleFileExportError, - handleFileExportSuccess + handleFileExportSuccess, + isCsvExport } from '../shared/export.utils'; import { ImportExportServiceOptions } from '../shared/import.interface'; import { ImportService } from '../shared/import.service'; @@ -78,6 +78,7 @@ import { handleFileImportSuccess } from '../shared/import.utils'; +type SelectMode = 'import' | 'export'; @Component({ selector: 'igo-import-export', templateUrl: './import-export.component.html', @@ -108,17 +109,18 @@ import { export class ImportExportComponent implements OnDestroy, OnInit { public form: UntypedFormGroup; public importForm: UntypedFormGroup; - public formats$ = new BehaviorSubject(undefined); - public encodings$ = new BehaviorSubject(undefined); + public formats$ = new BehaviorSubject(undefined); public exportableLayers$ = new BehaviorSubject([]); public loading$ = new BehaviorSubject(false); public forceNaming = false; public controlFormat = 'format'; + csvSeparators = CsvSeparator; + isCsvExport = isCsvExport; + private layers$$: Subscription; private exportableLayers$$: Subscription; private formats$$: Subscription; - private encodings$$: Subscription; private formLayer$$: Subscription; private exportOptions$$: Subscription; @@ -133,6 +135,7 @@ export class ImportExportComponent implements OnDestroy, OnInit { private projectionsConstraints: ProjectionsLimitationsOptions; public popupChecked = false; + private configFormats: AnyExportFormat[]; private previousLayerSpecs$ = new BehaviorSubject< { @@ -164,9 +167,9 @@ export class ImportExportComponent implements OnDestroy, OnInit { */ @Input() store: WorkspaceStore; - @Input() selectedMode = 'import'; + @Input() selectedMode: SelectMode = 'import'; - @Output() selectMode = new EventEmitter(); + @Output() selectMode = new EventEmitter(); @Input() exportOptions$ = new BehaviorSubject(undefined); @@ -205,7 +208,6 @@ export class ImportExportComponent implements OnDestroy, OnInit { private styleService: StyleService, private formBuilder: UntypedFormBuilder, private config: ConfigService, - private cdRef: ChangeDetectorRef, private storageService: StorageService, private downloadService: DownloadService, private layerService: LayerService, @@ -254,11 +256,10 @@ export class ImportExportComponent implements OnDestroy, OnInit { this.formLayer$$ = this.form .get('format') .valueChanges.subscribe((format) => { - const ogreFormats = Object.keys(ExportService.ogreFormats); if ( !this.popupChecked && this.form.get('layers').value?.length > 1 && - (ogreFormats.indexOf(format) >= 0 || format === ExportFormat.URL) + this.isOgreOrLink(format) ) { if (!this.handlePopup(true)) { this.form.patchValue({ format: undefined }, { emitEvent: false }); @@ -276,10 +277,7 @@ export class ImportExportComponent implements OnDestroy, OnInit { const layers = selectedLayers.map((l) => this.map.getLayerById(l)); this.computeFormats(layers); - if ( - Object.keys(this.formats$.value).indexOf(this.form.value.format) === - -1 - ) { + if (this.formats$.value.indexOf(this.form.value.format) === -1) { this.form.patchValue({ format: undefined }); } @@ -315,18 +313,8 @@ export class ImportExportComponent implements OnDestroy, OnInit { this.formats$$ = this.formats$ .pipe(skipWhile((formats) => !formats)) .subscribe((formats) => { - if (Object.keys(formats).length === 1) { - this.form.patchValue({ format: formats[Object.keys(formats)[0]] }); - } - }); - - this.encodings$$ = this.encodings$ - .pipe(skipWhile((encodings) => !encodings)) - .subscribe((encodings) => { - if (Object.keys(encodings).length === 1) { - this.form.patchValue({ - encoding: encodings[Object.keys(encodings)[0]] - }); + if (formats.length === 1) { + this.form.patchValue({ format: formats[0] }); } }); @@ -338,18 +326,6 @@ export class ImportExportComponent implements OnDestroy, OnInit { } }); - this.form.controls[this.controlFormat].valueChanges.subscribe((format) => { - if ( - format === ExportFormat.CSVcomma || - format === ExportFormat.CSVsemicolon - ) { - this.form.patchValue({ encoding: EncodingFormat.LATIN1 }); - } else { - this.form.patchValue({ encoding: EncodingFormat.UTF8 }); - } - this.cdRef.detectChanges(); - }); - if (this.selectFirstProj) { if (this.projections$.value.length === 0) { this.importForm.patchValue({ @@ -452,26 +428,15 @@ export class ImportExportComponent implements OnDestroy, OnInit { this.projections$.next(configProjection.concat(projections)); } - private getWorkspaceByLayerId(id: string): Workspace { - const wksFromLayerId = this.store - .all() - .find( - (workspace) => - (workspace as WfsWorkspace | FeatureWorkspace | EditionWorkspace) - .layer.id === id - ); - if (wksFromLayerId) { - return wksFromLayerId; - } - return; - } - public getLayerTitleById(id): string { return this.map.getLayerById(id)?.title; } layerHasSelectedFeatures(layer: Layer): boolean { - const wksFromLayer = this.getWorkspaceByLayerId(layer.id); + const wksFromLayer = this.exportService.getWorkspaceByLayerId( + layer.id, + this.store + ); if (wksFromLayer) { const recs = wksFromLayer.entityStore.stateView.firstBy( (record: EntityRecord) => { @@ -512,7 +477,6 @@ export class ImportExportComponent implements OnDestroy, OnInit { this.layers$$.unsubscribe(); this.exportableLayers$$.unsubscribe(); this.formats$$.unsubscribe(); - this.encodings$$.unsubscribe(); this.formLayer$$.unsubscribe(); if (this.exportOptions$$) { this.exportOptions$$.unsubscribe(); @@ -567,203 +531,65 @@ export class ImportExportComponent implements OnDestroy, OnInit { return this.popupAllowed; } - handleExportFormSubmit(data: ExportOptions) { + private isOgreOrLink(format: AnyExportFormat | null): boolean { + const ogreFormats = Object.keys(ExportService.ogreFormats); + return ogreFormats.indexOf(format) >= 0 || format === 'URL'; + } + + async handleExportFormSubmit(data: ExportOptions) { this.loading$.next(true); - const ogreFormats = Object.keys(ExportService.ogreFormats); if ( !this.popupChecked && data.layers.length > 1 && - (ogreFormats.indexOf(data.format) >= 0 || - data.format === ExportFormat.URL) && + this.isOgreOrLink(data.format) && !this.popupAllowed ) { this.handlePopup(); } - const geomTypesCSV: { geometryType: string; features: any[] }[] = []; - const featuresCSV: any[] = []; - let filename = ''; - - for (const [layerIndex, layer] of data.layers.entries()) { - const lay = this.map.getLayerById(layer); - if ( - !( - data.format === ExportFormat.CSVsemicolon || - data.format === ExportFormat.CSVcomma - ) || - !data.combineLayers || - data.layers.length === 1 - ) { - filename = lay.title; + const isCSV = isCsvExport(data.format); + + if (data.format === 'Excel') { + try { + await this.exportService.exportExcel(this.map, this.store, data); + this.loading$.next(false); + return this.onFileExportSuccess(); + } catch (error) { + this.onFileExportError(error); + throw error; + } + } + + let fileName = ''; + + for (const layerId of data.layers) { + this.loading$.next(true); + const layer = this.map.getLayerById(layerId); + const features = await lastValueFrom( + this.exportService.getFeatures(this.map, layer, data, this.store) + ).catch((error) => { + this.onFileExportError(error); + throw error; + }); + const geomTypes = this.exportService.getGeomTypes(features, data.format); + if (!isCSV || !data.combineLayers || data.layers.length === 1) { + fileName = layer.title; if (data.name) { - filename = data.name; + fileName = data.name; } } else { - filename = this.languageService.translate.instant( + fileName = this.languageService.translate.instant( 'igo.geo.export.combinedLayers' ); } - const dSOptions: DataSourceOptions = lay.dataSource.options; - if ( - data.format === ExportFormat.URL && - dSOptions.download && - (dSOptions.download.url || dSOptions.download.dynamicUrl) - ) { - setTimeout(() => { - // better look an feel - const url = dSOptions.download.url || dSOptions.download.dynamicUrl; - // eslint-disable-next-line @typescript-eslint/no-unused-expressions - url.match(/service=wfs/gi) - ? this.downloadService.open(lay) - : window.open(url, '_blank'); - this.loading$.next(false); - }, 500); - return; - } - const wks = this.getWorkspaceByLayerId(layer); - let olFeatures; - if (wks && wks.entityStore && wks.entityStore.stateView.all().length) { - if ( - data.layersWithSelection.indexOf(layer) !== -1 && - data.featureInMapExtent - ) { - // Only export selected feature && into map extent - olFeatures = wks.entityStore.stateView - .all() - .filter( - (e: EntityRecord) => - e.state.inMapExtent && e.state.selected - ) - .map((e) => (e.entity as Feature).ol); - } else if ( - data.layersWithSelection.indexOf(layer) !== -1 && - !data.featureInMapExtent - ) { - // Only export selected feature && (into map extent OR not) - olFeatures = wks.entityStore.stateView - .all() - .filter((e: EntityRecord) => e.state.selected) - .map((e) => (e.entity as Feature).ol); - } else if (data.featureInMapExtent) { - // Only into map extent - olFeatures = wks.entityStore.stateView - .all() - .filter((e: EntityRecord) => e.state.inMapExtent) - .map((e) => (e.entity as Feature).ol); - } else { - // All features - olFeatures = wks.entityStore.stateView - .all() - .map((e) => (e.entity as Feature).ol); - } - } else { - const ol = lay.dataSource.ol as olVectorSource | olClusterSource; - if (data.featureInMapExtent) { - olFeatures = ol.getFeaturesInExtent( - lay.map.viewController.getExtent() - ); - } else { - olFeatures = ol.getFeatures(); - } - if (lay.dataSource instanceof ClusterDataSource) { - olFeatures = olFeatures.flatMap((cluster: any) => - cluster.get('features') - ); - } - } - let geomTypes: { geometryType: string; features: any[] }[] = []; - if ( - data.format === ExportFormat.Shapefile || - data.format === ExportFormat.GPX - ) { - olFeatures.forEach((olFeature) => { - const featureGeomType = olFeature.getGeometry().getType(); - const currentGeomType = geomTypes.find( - (geomType) => geomType.geometryType === featureGeomType - ); - if (currentGeomType) { - currentGeomType.features.push(olFeature); - } else { - geomTypes.push({ - geometryType: featureGeomType, - features: [olFeature] - }); - } - }); - } else { - geomTypes = [{ geometryType: '', features: olFeatures }]; + if (data.format === 'URL') { + this.handleUrlExport(layer); } - geomTypes.forEach((geomType) => { - geomType.features.forEach((feature) => { - const radius: number = feature.get('rad'); - if (radius) { - const center4326: number[] = [ - feature.get('longitude'), - feature.get('latitude') - ]; - const circle = circular(center4326, radius, 500); - circle.transform('EPSG:4326', feature.get('_projection')); - feature.setGeometry(circle); - } - }); - }); - - if (data.format === ExportFormat.GPX) { - const gpxFeatureCnt = geomTypes.length; - geomTypes = geomTypes.filter((geomType) => - ['LineString', 'Point'].includes(geomType.geometryType) - ); - const gpxFeatureCntPointOrPoly = geomTypes.length; - if (gpxFeatureCnt > gpxFeatureCntPointOrPoly) { - this.messageService.error( - 'igo.geo.export.gpx.error.poly.text', - 'igo.geo.export.gpx.error.poly.title', - { timeOut: 20000 } - ); - } - } else if ( - (data.format === ExportFormat.CSVsemicolon || - data.format === ExportFormat.CSVcomma) && - data.combineLayers - ) { - geomTypes.forEach((geomType) => geomTypesCSV.push(geomType)); - - if (layerIndex !== data.layers.length - 1) { - continue; - } else { - let previousFeature = undefined; - geomTypesCSV.forEach((geomType) => { - geomType.features.forEach((currentFeature) => { - if (data.separator) { - if (previousFeature) { - if ( - currentFeature.get('_featureStore').layer.options.title !== - previousFeature.get('_featureStore').layer.options.title - ) { - const titleEmptyRows = this.createTitleEmptyRows( - previousFeature, - currentFeature - ); - featuresCSV.push(titleEmptyRows[2]); - featuresCSV.push(titleEmptyRows[0]); - featuresCSV.push(titleEmptyRows[1]); - } - } else { - const titleEmptyRows = this.createTitleEmptyRows( - currentFeature, - currentFeature - ); - featuresCSV.push(titleEmptyRows[0]); - } - } - featuresCSV.push(currentFeature); - previousFeature = currentFeature; - }); - }); - } + if (data.format === 'GPX') { + this.validateGpxExport(geomTypes); } if (geomTypes.length === 0) { @@ -773,65 +599,128 @@ export class ImportExportComponent implements OnDestroy, OnInit { 'igo.geo.export.nothing.title', { timeOut: 20000 } ); - } else { - if ( - !( - data.format === ExportFormat.CSVsemicolon || - data.format === ExportFormat.CSVcomma - ) || - !data.combineLayers - ) { - geomTypes.map((geomType) => - this.exportService - .export( - geomType.features, - data.format, - filename + geomType.geometryType, - data.encoding, - this.map.projection - ) - .subscribe({ - error: (error: Error) => this.onFileExportError(error), - complete: () => { - this.onFileExportSuccess(); - - geomType.features.forEach((feature) => { - this.circleToPoint(feature); - }); - - this.loading$.next(false); - } - }) - ); - } } + + if (!isCSV || !data.combineLayers) { + geomTypes.forEach((geomType) => { + if (geomType.type) { + fileName += geomType.type; + } + this.handleExport(geomType.features, data, fileName); + }); + } + this.loading$.next(false); } - if ( - (data.format === ExportFormat.CSVsemicolon || - data.format === ExportFormat.CSVcomma) && - data.combineLayers - ) { - this.exportService - .export( - featuresCSV, - data.format, - filename, - data.encoding, - this.map.projection - ) - .subscribe({ - error: (error: Error) => this.onFileExportError(error), - complete: () => { - this.onFileExportSuccess(); - featuresCSV.forEach((feature) => { - this.circleToPoint(feature); - }); + if (isCSV) { + this.handleCsvExport(data, fileName); + } + } + + private handleUrlExport(layer: Layer): void { + const { download = null }: DataSourceOptions = layer.dataSource.options; + if (download?.url || download?.dynamicUrl) { + setTimeout(() => { + const url = download.url ?? download.dynamicUrl; + url.match(/service=wfs/gi) + ? this.downloadService.open(layer) + : window.open(url, '_blank'); + this.loading$.next(false); + }, 500); + return; + } + } + + private validateGpxExport(geomTypes: GeometryCollection[]): void { + const gpxFeatureCnt = geomTypes.length; + geomTypes = geomTypes.filter((geomType) => + ['LineString', 'Point'].includes(geomType.type) + ); + const gpxFeatureCntPointOrPoly = geomTypes.length; + if (gpxFeatureCnt > gpxFeatureCntPointOrPoly) { + this.messageService.error( + 'igo.geo.export.gpx.error.poly.text', + 'igo.geo.export.gpx.error.poly.title', + { timeOut: 20000 } + ); + } + } + + private async handleCsvExport(data: ExportOptions, fileName: string) { + const featuresCSV = []; - this.loading$.next(false); + if (data.combineLayers) { + let previousFeature = undefined; + const geomTypes = await this.getAllLayerGeomTypes(data); + geomTypes.forEach((geomType) => { + geomType.features.forEach((currentFeature) => { + if (data.separator) { + if (previousFeature) { + if ( + currentFeature.get('_featureStore').layer.options.title !== + previousFeature.get('_featureStore').layer.options.title + ) { + const titleEmptyRows = this.createTitleEmptyRows( + previousFeature, + currentFeature + ); + featuresCSV.push(titleEmptyRows[2]); + featuresCSV.push(titleEmptyRows[0]); + featuresCSV.push(titleEmptyRows[1]); + } + } else { + const titleEmptyRows = this.createTitleEmptyRows( + currentFeature, + currentFeature + ); + featuresCSV.push(titleEmptyRows[0]); + } } + featuresCSV.push(currentFeature); + previousFeature = currentFeature; }); + }); } + + this.handleExport(featuresCSV, data, fileName); + } + + private handleExport( + features: OlFeature[], + options: ExportOptions, + fileName: string + ) { + this.exportService + .export(features, options, fileName, this.map.projectionCode) + .subscribe({ + error: (error: Error) => this.onFileExportError(error), + complete: () => { + this.onFileExportSuccess(); + + features.forEach((feature) => { + this.circleToPoint(feature); + }); + + this.loading$.next(false); + } + }); + } + + private async getAllLayerGeomTypes( + data: ExportOptions + ): Promise { + return data.layers.reduce(async (typesPromise, layerId) => { + const types = await typesPromise; + const layer = this.map.getLayerById(layerId); + const features = await lastValueFrom( + this.exportService.getFeatures(this.map, layer, data, this.store) + ).catch((error) => { + this.onFileExportError(error); + throw error; + }); + const geomTypes = this.exportService.getGeomTypes(features, data.format); + return types.concat(geomTypes); + }, Promise.resolve([])); } private createTitleEmptyRows(previousFeature, currentFeature) { @@ -918,7 +807,7 @@ export class ImportExportComponent implements OnDestroy, OnInit { return titleEmptyRows; } - private circleToPoint(feature) { + private circleToPoint(feature: OlFeature) { const radius: number = feature.get('rad'); if (radius) { @@ -936,28 +825,35 @@ export class ImportExportComponent implements OnDestroy, OnInit { inputProj: ['', [Validators.required]] }); + const form = this.formBuilder.group({ + format: ['', [Validators.required]], + layers: [[], [Validators.required]], + layersWithSelection: [[]], + combineLayers: [true, [Validators.required]], + separator: [false, [Validators.required]], + featureInMapExtent: [false, [Validators.required]] + }); + if (this.forceNaming) { - this.form = this.formBuilder.group({ - format: ['', [Validators.required]], - layers: [[], [Validators.required]], - layersWithSelection: [[]], - encoding: [EncodingFormat.UTF8, [Validators.required]], - combineLayers: [true, [Validators.required]], - separator: [false, [Validators.required]], - featureInMapExtent: [false, [Validators.required]], - name: ['', [Validators.required]] - }); - } else { - this.form = this.formBuilder.group({ - format: ['', [Validators.required]], - layers: [[], [Validators.required]], - layersWithSelection: [[]], - encoding: [EncodingFormat.UTF8, [Validators.required]], - combineLayers: [true, [Validators.required]], - separator: [false, [Validators.required]], - featureInMapExtent: [false, [Validators.required]] - }); + form.addControl('name', new FormControl('', [Validators.required])); } + + form + .get('format') + .valueChanges.subscribe((format: ExportFormat) => + this.handleCsvForm(form, format) + ); + + this.form = form; + } + + private handleCsvForm(form: FormGroup, format: ExportFormat): void { + format === 'CSV' + ? form.addControl( + 'csvSeparator', + new FormControl('auto', [Validators.required]) + ) + : form.removeControl('csvSeparator'); } private onFileImportSuccess(file: File, features: Feature[]) { @@ -1020,29 +916,12 @@ export class ImportExportComponent implements OnDestroy, OnInit { this.forceNaming = forceNamingConfig !== undefined ? forceNamingConfig : false; + this.configFormats = this.config.getConfig('importExport.formats'); this.computeFormats(); - this.loadEncodings(); - } - - public encodingDefaultValue(format: ExportFormat) { - if ( - format === ExportFormat.CSVcomma || - format === ExportFormat.CSVsemicolon - ) { - this.form.patchValue({ encoding: EncodingFormat.LATIN1 }); - return EncodingFormat.LATIN1; - } else { - this.form.patchValue({ encoding: EncodingFormat.UTF8 }); - return EncodingFormat.UTF8; - } - } - - private loadEncodings() { - this.encodings$.next(EncodingFormat); } private computeFormats(layers?: AnyLayer[]) { - let appliedformats: string[] = Object.keys(ExportFormat); + let appliedformats: ExportFormat[] = [...ExportFormat]; const formatsType = { onlyUrl: false, onlyVector: false, @@ -1050,7 +929,7 @@ export class ImportExportComponent implements OnDestroy, OnInit { customList: false }; const customList = []; - if (layers && layers.length) { + if (layers?.length) { layers.forEach((layer) => { if (!layer) { return; @@ -1079,6 +958,7 @@ export class ImportExportComponent implements OnDestroy, OnInit { formatsType.onlyVector = true; } }); + const hasUrl = this.formats$.value.includes('URL'); if (formatsType.onlyUrl === true && formatsType.onlyVector === false) { appliedformats = ['URL']; @@ -1087,11 +967,10 @@ export class ImportExportComponent implements OnDestroy, OnInit { formatsType.onlyUrl === false ) { this.computeFormats(); // reset - if (ExportFormat.URL in this.formats$.value) { - const keys = Object.keys(this.formats$.value).filter( + if (hasUrl) { + appliedformats = [...this.formats$.value].filter( (key) => key !== 'URL' ); - appliedformats = keys; } } else if ( formatsType.vectorAndUrl === true && @@ -1099,24 +978,16 @@ export class ImportExportComponent implements OnDestroy, OnInit { formatsType.onlyVector === false ) { this.computeFormats(); // reset - if (!(ExportFormat.URL in this.formats$.value)) { - const keys = Object.keys(this.formats$.value); + if (!hasUrl) { + const keys = [...this.formats$.value]; keys.push('URL'); appliedformats = keys; } } } - const configImportExportFormats = this.config.getConfig( - 'importExport.formats' - ); - if (configImportExportFormats) { - const validatedListFormat = this.validateListFormat( - configImportExportFormats - ); - appliedformats = appliedformats.filter((af) => - validatedListFormat.includes(af) - ); - } + + appliedformats = this.getAvailableFormats(appliedformats); + if (formatsType.customList) { let commonFormats; const layersWithCustomFormats = []; @@ -1132,7 +1003,7 @@ export class ImportExportComponent implements OnDestroy, OnInit { appliedformats.includes(value) ); if (finalFormats.length > 0) { - this.formats$.next(strEnum(finalFormats)); + this.formats$.next(finalFormats); if (layers && layers.length) { if (layers.length > 1) { @@ -1153,64 +1024,60 @@ export class ImportExportComponent implements OnDestroy, OnInit { } return; } else { - this.formats$.next(strEnum(appliedformats)); + this.formats$.next(appliedformats); + } + } + + private getAvailableFormats(layerFormats: ExportFormat[]): ExportFormat[] { + if (!this.configFormats) { + return layerFormats; } + const availableFormats = this.validateListFormat(this.configFormats); + return layerFormats.filter((layerFormat) => + availableFormats.includes(layerFormat) + ); } - private validateListFormat(formats: string[]): string[] { + private validateListFormat(formats: AnyExportFormat[]): ExportFormat[] { + const allUppercaseFormats = [...ExportFormat, ...ExportFormatLegacy].map( + (f) => f.toUpperCase() + ); + return formats .filter((format) => { - if ( - format.toUpperCase() === ExportFormat.CSVcomma.toUpperCase() || - format.toUpperCase() === ExportFormat.CSVsemicolon.toUpperCase() || - format.toUpperCase() === ExportFormat.GML.toUpperCase() || - format.toUpperCase() === ExportFormat.GPX.toUpperCase() || - format.toUpperCase() === ExportFormat.GeoJSON.toUpperCase() || - format.toUpperCase() === ExportFormat.KML.toUpperCase() || - format.toUpperCase() === ExportFormat.Shapefile.toUpperCase() || - format.toUpperCase() === ExportFormat.URL.toUpperCase() - ) { + if (allUppercaseFormats.includes(format.toUpperCase())) { return format; } }) .map((format) => { - if (format.toUpperCase() === ExportFormat.CSVcomma.toUpperCase()) { - format = ExportFormat.CSVcomma; - return format; - } - if (format.toUpperCase() === ExportFormat.CSVsemicolon.toUpperCase()) { - format = ExportFormat.CSVsemicolon; - return format; - } - if (format.toUpperCase() === ExportFormat.GML.toUpperCase()) { - format = ExportFormat.GML; - return format; - } - if (format.toUpperCase() === ExportFormat.GPX.toUpperCase()) { - format = ExportFormat.GPX; - return format; - } - if (format.toUpperCase() === ExportFormat.GeoJSON.toUpperCase()) { - format = ExportFormat.GeoJSON; - return format; - } - if (format.toUpperCase() === ExportFormat.KML.toUpperCase()) { - format = ExportFormat.KML; - return format; - } - if (format.toUpperCase() === ExportFormat.Shapefile.toUpperCase()) { - format = ExportFormat.Shapefile; - return format; - } - - if (format.toUpperCase() === ExportFormat.URL.toUpperCase()) { - format = ExportFormat.URL; - return format; + const csvFormats: string[] = ( + ['CSV', 'CSVcomma', 'CSVsemicolon'] satisfies AnyExportFormat[] + ).map((f) => f.toUpperCase()); + if (csvFormats.includes(format.toUpperCase())) { + return 'CSV'; + } else if (this.compareString('Excel', format)) { + return 'Excel'; + } else if (this.compareString('GML', format)) { + return 'GML'; + } else if (this.compareString('GPX', format)) { + return 'GPX'; + } else if (this.compareString('GeoJSON', format)) { + return 'GeoJSON'; + } else if (this.compareString('KML', format)) { + return 'KML'; + } else if (this.compareString('Shapefile', format)) { + return 'Shapefile'; + } else if (this.compareString('URL', format)) { + return 'URL'; } }); } - public modeChanged(mode) { + private compareString(value1: T, value2: string): boolean { + return value1.toUpperCase() === value2.toUpperCase(); + } + + public modeChanged(mode: SelectMode) { this.selectMode.emit(mode); } diff --git a/packages/geo/src/lib/import-export/shared/export.interface.ts b/packages/geo/src/lib/import-export/shared/export.interface.ts index 38f67868f..88cff6d15 100644 --- a/packages/geo/src/lib/import-export/shared/export.interface.ts +++ b/packages/geo/src/lib/import-export/shared/export.interface.ts @@ -1,12 +1,21 @@ -import { EncodingFormat, ExportFormat } from './export.type'; +import type { default as OlFeature } from 'ol/Feature'; +import type { Type } from 'ol/geom/Geometry'; + +import { AnyExportFormat, CsvSeparator } from './export.type'; export interface ExportOptions { - format?: ExportFormat; - encoding?: EncodingFormat; + format?: AnyExportFormat; layers: string[]; layersWithSelection?: string[]; name?: string; combineLayers?: boolean; separator?: boolean; + csvSeparator?: CsvSeparator; featureInMapExtent?: boolean; } + +export interface GeometryCollection { + /** The geometry type */ + type: Type | null; + features: OlFeature[]; +} diff --git a/packages/geo/src/lib/import-export/shared/export.service.ts b/packages/geo/src/lib/import-export/shared/export.service.ts index f116dc600..e400f0315 100644 --- a/packages/geo/src/lib/import-export/shared/export.service.ts +++ b/packages/geo/src/lib/import-export/shared/export.service.ts @@ -1,20 +1,36 @@ +import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; +import { EntityRecord } from '@igo2/common/entity'; +import { Workspace, WorkspaceStore } from '@igo2/common/workspace'; import { ConfigService } from '@igo2/core/config'; -import { downloadContent } from '@igo2/utils'; +import { downloadBlob, downloadContent, isIsoDate } from '@igo2/utils'; import OlFeature from 'ol/Feature'; import * as olformat from 'ol/format'; import type { default as OlGeometry } from 'ol/geom/Geometry'; +import { circular } from 'ol/geom/Polygon'; -import { Observable, Observer } from 'rxjs'; -import { encode } from 'windows-1252'; +import { FeatureCollection } from 'geojson'; +import { Observable, Observer, catchError, lastValueFrom, of, tap } from 'rxjs'; +import type { ColInfo, WorkBook } from 'xlsx'; +import { ClusterDataSource, WFSDataSource } from '../../datasource'; +import { Feature } from '../../feature'; +import { AnyLayer, VectorLayer } from '../../layer'; +import { IgoMap } from '../../map'; +import { + EditionWorkspace, + FeatureWorkspace, + WfsWorkspace +} from '../../workspace'; import { ExportInvalidFileError, ExportNothingToExportError } from './export.errors'; -import { EncodingFormat, ExportFormat } from './export.type'; +import { ExportOptions, GeometryCollection } from './export.interface'; +import { AnyExportFormat, ExportOgreFormat } from './export.type'; +import { isCsvExport } from './export.utils'; const SHAPEFILE_FIELD_MAX_LENGHT = 255; @@ -22,21 +38,27 @@ const SHAPEFILE_FIELD_MAX_LENGHT = 255; providedIn: 'root' }) export class ExportService { - static ogreFormats = { + static ogreFormats: Record = { GML: 'gml', GPX: 'gpx', KML: 'kml', Shapefile: 'ESRI Shapefile', + CSV: 'CSV', + /** @deprecated use CSV */ CSVcomma: 'CSVcomma', + /** @deprecated use CSV */ CSVsemicolon: 'CSVsemicolon' }; - static noOgreFallbacks = ['GML', 'GPX', 'KML']; + static noOgreFallbacks: Partial = ['GML', 'GPX', 'KML']; private ogreUrl: string; private aggregateInComment = true; - constructor(private config: ConfigService) { + constructor( + private config: ConfigService, + private httpClient: HttpClient + ) { this.ogreUrl = this.config.getConfig('importExport.url'); const gpxAggregateInComment = this.config.getConfig( 'importExport.gpxAggregateInComment' @@ -48,34 +70,32 @@ export class ExportService { export( olFeatures: OlFeature[], - format: ExportFormat, + options: ExportOptions, title: string, - encoding: EncodingFormat, projectionIn = 'EPSG:4326', projectionOut = 'EPSG:4326' ): Observable { - const exportOlFeatures = this.generateFeature( + const exportOlFeatures = this.cleanFeatures( olFeatures, - format, + options.format, '_featureStore' ); return this.exportAsync( exportOlFeatures, - format, + options, title, - encoding, projectionIn, projectionOut ); } - public generateFeature( + public cleanFeatures( olFeatures: OlFeature[], - format: ExportFormat, + format: AnyExportFormat, excludePrefix = '_' ): OlFeature[] { - if (format === ExportFormat.GPX && this.aggregateInComment) { + if (format === 'GPX' && this.aggregateInComment) { return this.generateAggregatedFeature(olFeatures); } @@ -84,7 +104,7 @@ export class ExportService { .getKeys() .filter((key: string) => !key.startsWith(excludePrefix)); - if (format === ExportFormat.Shapefile && olFeature.get('_style')) { + if (format === 'Shapefile' && olFeature.get('_style')) { const style = JSON.stringify(olFeature.get('_style')); if (style.length > SHAPEFILE_FIELD_MAX_LENGHT) keys = keys.filter((key) => key !== '_style'); @@ -134,13 +154,13 @@ export class ExportService { private exportAsync( olFeatures: OlFeature[], - format: ExportFormat, + options: ExportOptions, title: string, - encoding: EncodingFormat, projectionIn: string, projectionOut: string ): Observable { - const doExport = (observer: Observer) => { + const { format } = options; + return new Observable((observer: Observer) => { const nothingToExport = this.nothingToExport(olFeatures, format); if (nothingToExport) { observer.error(new ExportNothingToExportError()); @@ -153,12 +173,12 @@ export class ExportService { if (ExportService.noOgreFallbacks.indexOf(format) >= 0) { this.exportToFile( olFeatures, - observer, format, title, projectionIn, projectionOut ); + observer.complete(); } else { observer.error(new ExportInvalidFileError()); } @@ -166,142 +186,239 @@ export class ExportService { } this.exportWithOgre( olFeatures, - observer, - format, + options, title, - encoding, projectionIn, projectionOut - ); + ).subscribe({ + complete: () => observer.complete(), + error: (error) => observer.error(error) + }); } else { this.exportToFile( olFeatures, - observer, format, title, projectionIn, projectionOut ); + observer.complete(); } - }; - - return new Observable(doExport); + }); } - protected exportToFile( + protected async exportToFile( olFeatures: OlFeature[], - observer: Observer, - format: ExportFormat, + format: AnyExportFormat, title: string, projectionIn: string, projectionOut: string ) { - const olFormat = new olformat[format](); - const featuresText = olFormat.writeFeatures(olFeatures, { + const features = this.formatFeatures( + olFeatures, + format, + projectionIn, + projectionOut + ); + + const fileName = `${title}.${format.toLowerCase()}`; + downloadContent(features, 'attachment/plain;charset=utf-8', fileName); + } + + private formatFeatures( + features: OlFeature[], + format: AnyExportFormat, + projectionIn = 'EPSG:4326', + projectionOut = 'EPSG:4326' + ) { + const formatter = this.getFormatter(format); + const cleanFeatures = this.cleanFeatures(features, format, '_featureStore'); + return formatter.writeFeatures(cleanFeatures, { dataProjection: projectionOut, - featureProjection: projectionIn, - featureType: 'feature', - featureNS: 'http://example.com/feature' + featureProjection: projectionIn }); + } - const fileName = `${title}.${format.toLowerCase()}`; + getFormatter(format: AnyExportFormat) { + switch (format) { + case 'GPX': + return new olformat.GPX(); + case 'GML': + return new olformat.GML(); + case 'KML': + return new olformat.KML(); + default: + return new olformat.GeoJSON(); + } + } + + async exportExcel(map: IgoMap, store: WorkspaceStore, data: ExportOptions) { + const { utils, writeFile } = await import('xlsx'); + + const workbook = utils.book_new(); + + for (const layerName of data.layers) { + const layer = map.getLayerById(layerName); + const features = await lastValueFrom( + this.getFeatures(map, layer, data, store) + ); + + const formattedFeatures = features?.length + ? this.formatFeatures(features, 'GeoJSON') + : null; + await this.addExcelSheet(layer.title, formattedFeatures, workbook); + } + + const title = this.getTitleFromLayers(data.layers, map); + writeFile(workbook, `${title}.xlsx`, { compression: true }); + } + + private getTitleFromLayers(layers: string[], map: IgoMap): string { + return layers.length === 1 + ? this.getLayerTitleFromId(layers[0], map) + : 'igo'; + } + + private getLayerTitleFromId(id: string, map: IgoMap): string { + const layer = map.getLayerById(id); + return layer.title; + } + + private async addExcelSheet( + title: string, + features: string | null, + workbook: WorkBook + ): Promise { + const { utils } = await import('xlsx'); + + const collection: FeatureCollection = features + ? JSON.parse(features) + : { + features: [] + }; + const rows = collection.features.map((feature) => + this.formatRecord(feature.properties) + ); + + const worksheet = utils.json_to_sheet(rows); + + /* calculate column width */ + if (rows?.length) { + worksheet['!cols'] = this.getColumnsInfo(rows); + } + + const SHEET_NAME_MAX_LENGTH = 31; + let sheetName = + title.length >= SHEET_NAME_MAX_LENGTH + ? title.substring(0, SHEET_NAME_MAX_LENGTH) + : title; + + if (workbook.SheetNames.includes(sheetName)) { + sheetName = `${sheetName.substring(0, SHEET_NAME_MAX_LENGTH - 3)}_${workbook.SheetNames.length}`; + } + + utils.book_append_sheet(workbook, worksheet, sheetName); + } + + private formatRecord(record: Record): Record { + return Object.entries(record).reduce((formatted, [key, value]) => { + formatted[key] = this.formatDataType(value); + return formatted; + }, {}); + } + + private formatDataType(value: unknown): unknown { + switch (true) { + case typeof value === 'string': { + if (isIsoDate(value as string)) { + return new Date(value as string).toLocaleString(); + } + + return value; + } + case typeof value === 'object': + case value instanceof Array: { + return JSON.stringify(value); + } + default: + return value; + } + } + + private getColumnsInfo(rows: Record[]): ColInfo[] { + const columns = Object.keys(rows[0]); + return columns.map((column) => ({ + wch: this.getColumnMaxWidth(column, rows) + })); + } - downloadContent(featuresText, 'attachment/plain;charset=utf-8', fileName); - observer.complete(); + private getColumnMaxWidth( + column: string, + rows: Record[] + ): number { + return rows.reduce( + (width, row) => Math.max(width, row[column]?.length ?? 0), + column.length + ); } private exportWithOgre( olFeatures: OlFeature[], - observer: Observer, - format: string, + { format, csvSeparator = null }: ExportOptions, title: string, - encodingType: EncodingFormat, projectionIn: string, projectionOut: string ) { - let featuresText: string = new olformat.GeoJSON().writeFeatures( - olFeatures, - { - dataProjection: projectionOut, - featureProjection: projectionIn - } - ); - + const featuresText = new olformat.GeoJSON().writeFeatures(olFeatures, { + dataProjection: projectionOut, + featureProjection: projectionIn + }); const url = `${this.ogreUrl}/convertJson`; - const form = document.createElement('form'); - form.style.display = 'none'; - document.body.appendChild(form); - form.setAttribute('method', 'post'); - form.setAttribute('target', '_blank'); - form.setAttribute('action', url); - - if (encodingType === EncodingFormat.UTF8) { - form.acceptCharset = 'UTF-8'; - form.enctype = 'application/x-www-form-urlencoded; charset=utf-8;'; - } else if (encodingType === EncodingFormat.LATIN1) { - const enctype = 'ISO-8859-1'; - const featuresJson = JSON.parse(featuresText); - featuresJson.features.map((f) => { - const encodedProperties = String.fromCharCode.apply( - null, - encode(JSON.stringify(f.properties), { mode: 'replacement' }) - ); - f.properties = JSON.parse(encodedProperties); - }); - featuresText = JSON.stringify(featuresJson); - const encoding = document.createElement('input'); - encoding.setAttribute('type', 'hidden'); - encoding.setAttribute('name', 'encoding'); - encoding.setAttribute('value', enctype); - form.appendChild(encoding); - } - if (format === 'CSVsemicolon') { - const options = document.createElement('input'); - options.setAttribute('type', 'hidden'); - options.setAttribute('name', 'lco'); - options.setAttribute('value', 'SEPARATOR=SEMICOLON'); - form.appendChild(options); - } + const formData = new FormData(); - const geojsonField = document.createElement('input'); - geojsonField.setAttribute('type', 'hidden'); - geojsonField.setAttribute('name', 'json'); - geojsonField.setAttribute('value', featuresText); - form.appendChild(geojsonField); + formData.append('json', featuresText); - const outputNameField = document.createElement('input'); let outputName = format === 'Shapefile' ? `${title}.zip` : `${title}.${format.toLowerCase()}`; - if (format === 'CSVcomma' || format === 'CSVsemicolon') { + let ogreFormat = ExportService.ogreFormats[format]; + + if (isCsvExport(format)) { outputName = `${title}.csv`; - } - outputName = outputName.replace(' ', '_'); - outputName = outputName - .normalize('NFD') - .replace(/[\u0300-\u036f]/g, '') - .replace(/’/g, "'"); - outputNameField.setAttribute('type', 'hidden'); - outputNameField.setAttribute('name', 'outputName'); - outputNameField.setAttribute('value', outputName); - form.appendChild(outputNameField); - let ogreFormat = ExportService.ogreFormats[format]; - if (format === 'CSVcomma' || format === 'CSVsemicolon') { - ogreFormat = 'CSV'; + if (format === 'CSVcomma' || format === 'CSVsemicolon') { + ogreFormat = 'CSV'; + } + + formData.append('lco', `SEPARATOR=${csvSeparator}`); + + if (format === 'CSVsemicolon') { + formData.append('lco', `SEPARATOR=${csvSeparator}`); + } } - const outputFormatField = document.createElement('input'); - outputFormatField.setAttribute('type', 'hidden'); - outputFormatField.setAttribute('name', 'format'); - outputFormatField.setAttribute('value', ogreFormat); - form.appendChild(outputFormatField); - form.submit(); - document.body.removeChild(form); + formData.append('outputName', this.formatFilename(outputName)); + formData.append('format', ogreFormat); + + return this.httpClient + .post(url, formData, { + responseType: 'blob' + }) + .pipe( + tap((value) => { + downloadBlob(value, outputName); + }) + ); + } - observer.complete(); + private formatFilename(name: string): string { + return name + .replaceAll(' ', '_') + .normalize('NFD') + .replace(/[\u0300-\u036f]/g, '') + .replace(/’/g, "'"); } private nothingToExport( @@ -323,4 +440,154 @@ export class ExportService { } return false; } + + private getFeaturesFromMap( + layer: VectorLayer, + options: ExportOptions + ): OlFeature[] { + const dataSource = layer.dataSource.ol; + const extent = layer.map.viewController.getExtent(); + + let features: OlFeature[] = options.featureInMapExtent + ? dataSource.getFeaturesInExtent(extent) + : dataSource.getFeatures(); + + if (layer.dataSource instanceof ClusterDataSource) { + features = features.flatMap((cluster) => cluster.get('features')); + } + return features; + } + + private getFeaturesFromWorkspace( + wks: Workspace, + layerName: string, + data: ExportOptions + ): OlFeature[] { + const hasSelection = data.layersWithSelection.indexOf(layerName) !== -1; + const isInMapExtent = data.featureInMapExtent; + if (hasSelection && isInMapExtent) { + // Only export selected feature && into map extent + return wks.entityStore.stateView + .all() + .filter( + (e: EntityRecord) => e.state.inMapExtent && e.state.selected + ) + .map((e) => (e.entity as Feature).ol as OlFeature); + } else if (hasSelection && !isInMapExtent) { + // Only export selected feature && (into map extent OR not) + return wks.entityStore.stateView + .all() + .filter((e: EntityRecord) => e.state.selected) + .map((e) => (e.entity as Feature).ol as OlFeature); + } else if (isInMapExtent) { + // Only into map extent + return wks.entityStore.stateView + .all() + .filter((e: EntityRecord) => e.state.inMapExtent) + .map((e) => (e.entity as Feature).ol as OlFeature); + } else { + // All features + return wks.entityStore.stateView + .all() + .map((e) => (e.entity as Feature).ol as OlFeature); + } + } + + getFeatures( + map: IgoMap, + layer: AnyLayer, + data: ExportOptions, + store: WorkspaceStore + ): Observable { + const projection = map.viewController.getOlProjection(); + const extent = data.featureInMapExtent + ? map.viewController.getExtent() + : undefined; + + if (layer.dataSource instanceof WFSDataSource) { + return layer.dataSource + .fetchFeatures({ + extent, + projection, + httpClient: this.httpClient + }) + .pipe( + catchError((e) => { + throw e; + }) + ); + } + // Filter spatial use external API to make query and use Workspace to store data + else if (layer.options.workspace?.enabled) { + const wks = this.getWorkspaceByLayerId(layer.id, store); + if (wks?.entityStore?.stateView.all().length) { + const features = this.getFeaturesFromWorkspace(wks, layer.id, data); + return of(features).pipe( + catchError((e) => { + throw e; + }) + ); + } + } else if (layer instanceof VectorLayer) { + return of(this.getFeaturesFromMap(layer, data)); + } + + return of([]); + } + + getWorkspaceByLayerId(id: string, store: WorkspaceStore): Workspace { + const wksFromLayerId = store + .all() + .find( + (workspace) => + (workspace as WfsWorkspace | FeatureWorkspace | EditionWorkspace) + .layer.id === id + ); + if (wksFromLayerId) { + return wksFromLayerId; + } + return; + } + + getGeomTypes( + features: OlFeature[], + format?: AnyExportFormat + ): GeometryCollection[] { + let geomTypes: GeometryCollection[] = []; + if (format === 'Shapefile' || format === 'GPX') { + features.forEach((olFeature) => { + const featureGeomType = olFeature.getGeometry().getType(); + const currentGeomType = geomTypes.find( + (geomType) => geomType.type === featureGeomType + ); + if (currentGeomType) { + currentGeomType.features.push(olFeature); + } else { + geomTypes.push({ + type: featureGeomType, + features: [olFeature] + }); + } + }); + } else { + geomTypes = [{ type: null, features: features }]; + } + + geomTypes.forEach((geomType) => { + geomType.features.forEach((feature) => { + const radius: number = feature.get('rad'); + if (radius) { + const center4326: Array = [ + feature.get('longitude'), + feature.get('latitude') + ]; + const circle = circular(center4326, radius, 500); + circle.transform('EPSG:4326', feature.get('_projection')); + feature.setGeometry(circle); + } + }); + }); + + return geomTypes; + } } diff --git a/packages/geo/src/lib/import-export/shared/export.type.ts b/packages/geo/src/lib/import-export/shared/export.type.ts index 18a6159d1..bd7ddb6a7 100644 --- a/packages/geo/src/lib/import-export/shared/export.type.ts +++ b/packages/geo/src/lib/import-export/shared/export.type.ts @@ -1,16 +1,24 @@ -import { strEnum } from '@igo2/utils'; +export type AnyExportFormat = ExportFormat | ExportFormatLegacy; -export const ExportFormat = strEnum([ - 'URL', +export const ExportFormat = [ 'GeoJSON', + 'Excel', + 'Shapefile', 'GML', 'GPX', 'KML', - 'Shapefile', - 'CSVcomma', - 'CSVsemicolon' -]); -export type ExportFormat = keyof typeof ExportFormat; + 'CSV', + 'URL' +] as const; +export type ExportFormat = (typeof ExportFormat)[number]; + +export const ExportFormatLegacy = ['CSVcomma', 'CSVsemicolon'] as const; +export type ExportFormatLegacy = (typeof ExportFormatLegacy)[number]; + +export const CsvSeparator = ['auto', 'comma', 'semicolon'] as const; +export type CsvSeparator = (typeof CsvSeparator)[number]; -export const EncodingFormat = strEnum(['UTF8', 'LATIN1']); -export type EncodingFormat = keyof typeof EncodingFormat; +export type ExportOgreFormat = Extract< + AnyExportFormat, + 'GML' | 'GPX' | 'KML' | 'Shapefile' | 'CSVcomma' | 'CSVsemicolon' | 'CSV' +>; diff --git a/packages/geo/src/lib/import-export/shared/export.utils.ts b/packages/geo/src/lib/import-export/shared/export.utils.ts index 5455f0d06..e9d98e762 100644 --- a/packages/geo/src/lib/import-export/shared/export.utils.ts +++ b/packages/geo/src/lib/import-export/shared/export.utils.ts @@ -7,6 +7,7 @@ import { MessageService } from '@igo2/core/message'; import { downloadContent } from '@igo2/utils'; import { ExportNothingToExportError } from './export.errors'; +import { AnyExportFormat, ExportFormatLegacy } from './export.type'; export function handleFileExportError( error: Error, @@ -72,3 +73,8 @@ export function entitiesToRowData( }); }); } + +export function isCsvExport(format: AnyExportFormat): boolean { + const legacyCsv: Partial[] = ['CSVsemicolon', 'CSVcomma']; + return format === 'CSV' || legacyCsv.includes(format as ExportFormatLegacy); +} diff --git a/packages/geo/src/lib/layer/shared/layer.service.ts b/packages/geo/src/lib/layer/shared/layer.service.ts index 59d7fbce8..d60b80401 100644 --- a/packages/geo/src/lib/layer/shared/layer.service.ts +++ b/packages/geo/src/lib/layer/shared/layer.service.ts @@ -199,6 +199,7 @@ export class LayerService { resolution ); }; + igoLayer = new VectorLayer( layerOptions, this.messageService, @@ -220,6 +221,7 @@ export class LayerService { baseStyle ); }; + igoLayer = new VectorLayer( layerOptions, this.messageService, diff --git a/packages/geo/src/lib/layer/shared/layers/image-layer.ts b/packages/geo/src/lib/layer/shared/layers/image-layer.ts index ab8b05032..1463bfb7c 100644 --- a/packages/geo/src/lib/layer/shared/layers/image-layer.ts +++ b/packages/geo/src/lib/layer/shared/layers/image-layer.ts @@ -12,9 +12,9 @@ import { ImageLayerOptions } from './image-layer.interface'; import { Layer } from './layer'; export class ImageLayer extends Layer { - public declare dataSource: WMSDataSource | ImageArcGISRestDataSource; - public declare options: ImageLayerOptions; - public declare ol: olLayerImage; + declare public dataSource: WMSDataSource | ImageArcGISRestDataSource; + declare public options: ImageLayerOptions; + declare public ol: olLayerImage; private watcher: ImageWatcher; diff --git a/packages/geo/src/lib/layer/shared/layers/tile-layer.ts b/packages/geo/src/lib/layer/shared/layers/tile-layer.ts index e92acfac1..362f05a2b 100644 --- a/packages/geo/src/lib/layer/shared/layers/tile-layer.ts +++ b/packages/geo/src/lib/layer/shared/layers/tile-layer.ts @@ -17,15 +17,15 @@ import { Layer } from './layer'; import { TileLayerOptions } from './tile-layer.interface'; export class TileLayer extends Layer { - public declare dataSource: + declare public dataSource: | OSMDataSource | WMTSDataSource | XYZDataSource | TileDebugDataSource | CartoDataSource | TileArcGISRestDataSource; - public declare options: TileLayerOptions; - public declare ol: olLayerTile; + declare public options: TileLayerOptions; + declare public ol: olLayerTile; private watcher: TileWatcher; diff --git a/packages/geo/src/lib/layer/shared/layers/vector-layer.ts b/packages/geo/src/lib/layer/shared/layers/vector-layer.ts index ee486a302..88c38717f 100644 --- a/packages/geo/src/lib/layer/shared/layers/vector-layer.ts +++ b/packages/geo/src/lib/layer/shared/layers/vector-layer.ts @@ -61,14 +61,14 @@ export class VectorLayer extends Layer { private previousLoadResolution: number; private previousOgcFilters: OgcFiltersOptions; private xhrAccumulator: XMLHttpRequest[] = []; - public declare dataSource: + declare public dataSource: | FeatureDataSource | WFSDataSource | ArcGISRestDataSource | WebSocketDataSource | ClusterDataSource; - public declare options: VectorLayerOptions; - public declare ol: olLayerVector; + declare public options: VectorLayerOptions; + declare public ol: olLayerVector; private watcher: VectorWatcher; private trackFeatureListenerId; @@ -200,7 +200,6 @@ export class VectorLayer extends Layer { this.customLoader( vectorSource, url, - this.authInterceptor, extent, resolution, proj, @@ -481,6 +480,7 @@ export class VectorLayer extends Layer { this.previousOgcFilters = ogcFilters; paramsWFS.srsName = paramsWFS.srsName || proj.getCode(); + const url = buildUrl( options, currentExtent, @@ -504,7 +504,6 @@ export class VectorLayer extends Layer { alteredUrl.replace(/&&/g, '&'); this.getFeatures( vectorSource, - interceptor, currentExtent, wfsProj, proj, @@ -517,7 +516,6 @@ export class VectorLayer extends Layer { } else { this.getFeatures( vectorSource, - interceptor, currentExtent, wfsProj, proj, @@ -533,7 +531,6 @@ export class VectorLayer extends Layer { * Custom loader to get feature from a WFS datasource * @internal * @param vectorSource the vector source to be created - * @param interceptor the interceptor of the data * @param extent the extent of the requested data * @param dataProjection the projection of the retrieved data * @param featureProjection the projection of the created features @@ -543,7 +540,6 @@ export class VectorLayer extends Layer { */ private getFeatures( vectorSource: olSourceVector, - interceptor: AuthInterceptor, extent: Extent, dataProjection: olProjection, featureProjection: olProjection, @@ -552,20 +548,22 @@ export class VectorLayer extends Layer { failure: () => void ) { const xhr = new XMLHttpRequest(); - const alteredUrlWithKeyAuth = interceptor.alterUrlWithKeyAuth(url); + const alteredUrlWithKeyAuth = this.authInterceptor.alterUrlWithKeyAuth(url); let modifiedUrl = url; if (alteredUrlWithKeyAuth) { modifiedUrl = alteredUrlWithKeyAuth; } + xhr.open('GET', modifiedUrl); - if (interceptor) { - interceptor.interceptXhr(xhr, modifiedUrl); + if (this.authInterceptor) { + this.authInterceptor.interceptXhr(xhr, modifiedUrl); } const onError = () => { vectorSource.removeLoadedExtent(extent); failure(); }; xhr.onerror = onError; + xhr.onload = () => { if (xhr.status === 200 && xhr.responseText.length > 0) { const features = vectorSource @@ -593,7 +591,6 @@ export class VectorLayer extends Layer { * @internal * @param vectorSource the vector source to be created * @param url the url string or function to retrieve the data - * @param interceptor the interceptor of the data * @param extent the extent of the requested data * @param resolution the current resolution * @param projection the projection to retrieve the data @@ -601,7 +598,6 @@ export class VectorLayer extends Layer { private customLoader( vectorSource: olSourceVector, url: string, - interceptor: AuthInterceptor, extent: Extent, resolution: number, projection: olProjection, @@ -611,7 +607,8 @@ export class VectorLayer extends Layer { const xhr = new XMLHttpRequest(); let modifiedUrl = url; if (typeof url !== 'function') { - const alteredUrlWithKeyAuth = interceptor.alterUrlWithKeyAuth(url); + const alteredUrlWithKeyAuth = + this.authInterceptor.alterUrlWithKeyAuth(url); if (alteredUrlWithKeyAuth) { modifiedUrl = alteredUrlWithKeyAuth; } @@ -680,8 +677,8 @@ export class VectorLayer extends Layer { if (format.getType() === 'arraybuffer') { xhr.responseType = 'arraybuffer'; } - if (interceptor) { - interceptor.interceptXhr(xhr, modifiedUrl as string); + if (this.authInterceptor) { + this.authInterceptor.interceptXhr(xhr, modifiedUrl as string); } const onError = () => { @@ -730,7 +727,6 @@ export class VectorLayer extends Layer { * @internal * @param vectorSource the vector source to be created * @param layerID the url string or function to retrieve the data - * @param interceptor the interceptor of the data * @param extent the extent of the requested data * @param resolution the current resolution * @param projection the projection to retrieve the data diff --git a/packages/geo/src/lib/layer/shared/layers/vectortile-layer.ts b/packages/geo/src/lib/layer/shared/layers/vectortile-layer.ts index ee134cc6d..b4abd3dce 100644 --- a/packages/geo/src/lib/layer/shared/layers/vectortile-layer.ts +++ b/packages/geo/src/lib/layer/shared/layers/vectortile-layer.ts @@ -12,9 +12,9 @@ import { Layer } from './layer'; import { VectorTileLayerOptions } from './vectortile-layer.interface'; export class VectorTileLayer extends Layer { - public declare dataSource: MVTDataSource; - public declare options: VectorTileLayerOptions; - public declare ol: olLayerVectorTile; + declare public dataSource: MVTDataSource; + declare public options: VectorTileLayerOptions; + declare public ol: olLayerVectorTile; private watcher: TileWatcher; diff --git a/packages/geo/src/lib/map/wake-lock-button/wake-lock-button.component.ts b/packages/geo/src/lib/map/wake-lock-button/wake-lock-button.component.ts index 53168edfc..31be14c2c 100644 --- a/packages/geo/src/lib/map/wake-lock-button/wake-lock-button.component.ts +++ b/packages/geo/src/lib/map/wake-lock-button/wake-lock-button.component.ts @@ -66,7 +66,6 @@ export class WakeLockButtonComponent { this.enabled = false; }); } - // eslint-disable-next-line @typescript-eslint/no-unused-expressions this.enabled ? this.enableWakeLock() : this.disableWakeLock(); } diff --git a/packages/geo/src/locale/en.geo.json b/packages/geo/src/locale/en.geo.json index 49e8b3338..3b51b7722 100644 --- a/packages/geo/src/locale/en.geo.json +++ b/packages/geo/src/locale/en.geo.json @@ -103,16 +103,21 @@ "GPX": "GPX", "KML": "KML", "Shapefile": "Shapefile", - "CSVcomma": "CSV (comma delimited)", - "CSVsemicolon": "CSV (Excel compatible)", + "CSV": "CSV", + "Excel": "Excel", "URL": "External link" }, + "separator": "Separator", + "csv.separator": { + "auto": "Auto detection", + "comma": "Comma", + "semicolon": "Semicolon" + }, "gpx.error.poly": { "title": "GPX error", "text": "GPX format do now allow polygon features" }, "encoding": { - "LATIN1": "LATIN-1", "UTF8": "UTF-8" }, "combinedLayers": "combinedLayers" diff --git a/packages/geo/src/locale/fr.geo.json b/packages/geo/src/locale/fr.geo.json index 0a9922da1..9ae4ad182 100644 --- a/packages/geo/src/locale/fr.geo.json +++ b/packages/geo/src/locale/fr.geo.json @@ -103,16 +103,21 @@ "GPX": "GPX", "KML": "KML", "Shapefile": "Shapefile", - "CSVcomma": "CSV (séparateur virgule)", - "CSVsemicolon": "CSV (compatible Excel)", + "CSV": "CSV", + "Excel": "Excel", "URL": "Lien externe" }, + "separator": "Séparateur", + "csv.separator": { + "auto": "Détection Automatique", + "comma": "Virgule", + "semicolon": "Point-virgule" + }, "gpx.error.poly": { "title": "GPX en erreur", "text": "Le format GPX ne permet pas de stocker les polygones" }, "encoding": { - "LATIN1": "LATIN-1", "UTF8": "UTF-8" }, "combinedLayers": "couchesCombinees" diff --git a/packages/integration/src/lib/tool/tool.state.ts b/packages/integration/src/lib/tool/tool.state.ts index 43404ad1d..fa2605666 100644 --- a/packages/integration/src/lib/tool/tool.state.ts +++ b/packages/integration/src/lib/tool/tool.state.ts @@ -30,7 +30,7 @@ export class ToolState { toolToActivateFromOptions(toolToActivate: { tool: string; - options: Record; + options: ExportOptions; }) { if (!toolToActivate) { return; diff --git a/packages/integration/src/lib/workspace/shared/workspace.utils.ts b/packages/integration/src/lib/workspace/shared/workspace.utils.ts index 30e807857..1fd56ba5f 100644 --- a/packages/integration/src/lib/workspace/shared/workspace.utils.ts +++ b/packages/integration/src/lib/workspace/shared/workspace.utils.ts @@ -9,7 +9,6 @@ import { MediaService } from '@igo2/core/media'; import { StorageService } from '@igo2/core/storage'; import { EditionWorkspace, - ExportOptions, FeatureMotion, FeatureStoreSelectionStrategy, FeatureWorkspace, @@ -122,7 +121,7 @@ export function getWorkspaceActions( layers: [ws.layer.id], featureInMapExtent: filterStrategy.active, layersWithSelection - } as ExportOptions + } }); }, args: [workspace] diff --git a/packages/utils/src/lib/date.utils.ts b/packages/utils/src/lib/date.utils.ts new file mode 100644 index 000000000..a8abb5d16 --- /dev/null +++ b/packages/utils/src/lib/date.utils.ts @@ -0,0 +1,14 @@ +const ISO8601_REGEX = new RegExp( + '(d{4}-[01]d-[0-3]dT[0-2]d:[0-5]d:[0-5]d.d+)|(d{4}-[01]d-[0-3]dT[0-2]d:[0-5]d:[0-5]d)|(d{4}-[01]d-[0-3]dT[0-2]d:[0-5]d)' +); +const ISO8601_UTCTIME_REGEX = new RegExp( + '(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z)?' +); + +export function isIsoDate(value: string): boolean { + if (!ISO8601_REGEX.test(value) && !ISO8601_UTCTIME_REGEX.test(value)) { + return false; + } + const d = new Date(value); + return d instanceof Date && !isNaN(d.getTime()); +} diff --git a/packages/utils/src/lib/file.ts b/packages/utils/src/lib/file.ts index 9053a3717..e75fb5614 100644 --- a/packages/utils/src/lib/file.ts +++ b/packages/utils/src/lib/file.ts @@ -14,6 +14,11 @@ export function downloadContent( downloadFromUri(uri, fileName); } +export function downloadBlob(blob: Blob, fileName: string) { + const url = window.URL.createObjectURL(blob); + downloadFromUri(url, fileName); +} + /** * Trigger download of a file * diff --git a/packages/utils/src/lib/index.ts b/packages/utils/src/lib/index.ts index 3b2896fc3..a550c3100 100644 --- a/packages/utils/src/lib/index.ts +++ b/packages/utils/src/lib/index.ts @@ -4,6 +4,7 @@ export * from './clipboard'; export * from './compression'; export * from './change'; export * from './change.interface'; +export * from './date.utils'; export * from './dom.utils'; export * from './file'; export * from './object-utils'; From d6480be55587a07f5c0f901c71ced26b48ea3495 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 28 Nov 2024 13:37:06 +0000 Subject: [PATCH 16/16] chore(release): 18.0.0-next.7 [skip ci] # [18.0.0-next.7](https://github.com/infra-geo-ouverte/igo2-lib/compare/v18.0.0-next.6...v18.0.0-next.7) (2024-11-28) ### Features * **geo:** export to Excel ([ade4ba2](https://github.com/infra-geo-ouverte/igo2-lib/commit/ade4ba20e34dd915251cb6f5600feae3126c55ef)) --- package-lock.json | 866 +--------------------------- package.json | 2 +- packages/auth/package.json | 2 +- packages/common/package.json | 2 +- packages/context/package.json | 2 +- packages/core/config/src/version.ts | 4 +- packages/core/package.json | 2 +- packages/geo/package.json | 2 +- packages/integration/package.json | 2 +- packages/utils/package.json | 2 +- 10 files changed, 23 insertions(+), 863 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea1abf237..96c733a2e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "igo2-lib", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "igo2-lib", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -848,7 +848,10 @@ "version": "18.2.13", "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-18.2.13.tgz", "integrity": "sha512-fVC943qEqGNUy923NMmSSzfoIqNw2k2UbG/3Y4QEmel/nZFWHA3PhiYr+lE7J3RhRHFMmnNP1bmXDJgy+R+pzA==", + "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -7976,16 +7979,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/jasminewd2": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.13.tgz", - "integrity": "sha512-aJ3wj8tXMpBrzQ5ghIaqMisD8C3FIrcO6sDKHqFbuqAsI7yOxj0fA7MrRCPLZHIVUjERIwsMmGn/vB0UQ9u0Hg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/jasmine": "*" - } - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -11350,16 +11343,6 @@ "node": ">= 0.10" } }, - "node_modules/corser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", - "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -12326,16 +12309,6 @@ "node": ">=18" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -15548,16 +15521,6 @@ "node": ">= 0.4" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, "node_modules/highlight.js": { "version": "10.7.3", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", @@ -15614,19 +15577,6 @@ "wbuf": "^1.1.0" } }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/html-entities": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", @@ -15815,100 +15765,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/http-server": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", - "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "basic-auth": "^2.0.1", - "chalk": "^4.1.2", - "corser": "^2.0.1", - "he": "^1.2.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy": "^1.18.1", - "mime": "^1.6.0", - "minimist": "^1.2.6", - "opener": "^1.5.1", - "portfinder": "^1.0.28", - "secure-compare": "3.0.1", - "union": "~0.5.0", - "url-join": "^4.0.1" - }, - "bin": { - "http-server": "bin/http-server" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/http-server/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/http-server/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/http-server/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/http-server/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/http-server/node_modules/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true, - "license": "MIT" - }, "node_modules/http-signature": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", @@ -16058,10 +15914,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/igo": { - "resolved": "projects/igo2", - "link": true - }, "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", @@ -22859,16 +22711,6 @@ "opencollective-postinstall": "index.js" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -23629,41 +23471,6 @@ "node": ">=4" } }, - "node_modules/portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/postcss": { "version": "8.4.41", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", @@ -24295,116 +24102,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz", - "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0", - "read-pkg": "^8.1.0", - "type-fest": "^4.2.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/lines-and-columns": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/read-pkg-up/node_modules/parse-json": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", - "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/parse-json/node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.28.1.tgz", - "integrity": "sha512-LO/+yb3mf46YqfUC7QkkoAlpa7CTYh//V1Xy9+NQ+pKqDqXIq0NTfPfQRwFfCt+if4Qkwb9gzZfsl6E5TkXZGw==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/read-pkg/node_modules/parse-json": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", @@ -25169,13 +24866,6 @@ "compute-scroll-into-view": "^3.0.2" } }, - "node_modules/secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", - "dev": true, - "license": "MIT" - }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -27697,18 +27387,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "dev": true, - "dependencies": { - "qs": "^6.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", @@ -28970,32 +28648,6 @@ "node": ">=0.8.0" } }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -29391,7 +29043,7 @@ }, "packages/auth": { "name": "@igo2/auth", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "license": "MIT", "dependencies": { "jwt-decode": "^4.0.0", @@ -29419,7 +29071,7 @@ }, "packages/common": { "name": "@igo2/common", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29447,7 +29099,7 @@ }, "packages/context": { "name": "@igo2/context", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29473,7 +29125,7 @@ }, "packages/core": { "name": "@igo2/core", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29500,7 +29152,7 @@ }, "packages/geo": { "name": "@igo2/geo", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "license": "MIT", "dependencies": { "@turf/helpers": "^6.5.0", @@ -29548,7 +29200,7 @@ }, "packages/integration": { "name": "@igo2/integration", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "license": "MIT", "dependencies": { "tslib": "^2.6.0" @@ -29570,7 +29222,7 @@ }, "packages/utils": { "name": "@igo2/utils", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "license": "MIT", "dependencies": { "bowser": "^2.11.0", @@ -29589,6 +29241,7 @@ "projects/igo2": { "name": "igo", "version": "17.0.1", + "extraneous": true, "license": "LiLiQ-R", "dependencies": { "@angular/animations": "^18.2.1", @@ -29650,499 +29303,6 @@ "engines": { "node": ">=18.13.0" } - }, - "projects/igo2/node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.3.0.tgz", - "integrity": "sha512-v/59FxUKnMzymVce99gV43huxoqXWMb85aKvzlNvLN+ScDu6ZE4YMiTQNpfapVL2lkxhs0uwB3jH17EYd5TcsA==", - "dev": true, - "license": "MIT" - }, - "projects/igo2/node_modules/@angular-eslint/schematics": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.3.0.tgz", - "integrity": "sha512-rQ4DEWwf3f5n096GAK6JvXD0SRzRJ52WRaIyKg8MMkk6qvUDfZI8seOkcbjDtZoIe6Ds7DfqSfJgNVte75qvPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/eslint-plugin": "18.3.0", - "@angular-eslint/eslint-plugin-template": "18.3.0", - "ignore": "5.3.2", - "semver": "7.6.3", - "strip-json-comments": "3.1.1" - }, - "peerDependencies": { - "@angular-devkit/core": ">= 18.0.0 < 19.0.0", - "@angular-devkit/schematics": ">= 18.0.0 < 19.0.0" - } - }, - "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", - "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin-template": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", - "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0", - "aria-query": "5.3.0", - "axobject-query": "4.1.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/utils": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", - "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/@types/jasmine": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.6.4.tgz", - "integrity": "sha512-qCw5sVW+ylTnrEhe5kfX4l6MgU9REXIVDa/lWEcvTOUmd+LqDYwyjovDq+Zk9blElaEHOj1URDQ/djEBVRf+pw==", - "dev": true, - "license": "MIT" - }, - "projects/igo2/node_modules/angular-eslint": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-18.3.0.tgz", - "integrity": "sha512-neBE3BUtxj1EPPNVww3i/e8DKh/gb+fT/WpDEsRZM//8vS+qb0pMC04dn4bqeUriM05Nq/oUESdwkLuyadJE9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/builder": "18.3.0", - "@angular-eslint/eslint-plugin": "18.3.0", - "@angular-eslint/eslint-plugin-template": "18.3.0", - "@angular-eslint/schematics": "18.3.0", - "@angular-eslint/template-parser": "18.3.0" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*", - "typescript-eslint": "^8.0.0" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/builder": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.3.0.tgz", - "integrity": "sha512-httEQyqyBw3+0CRtAa7muFxHrauRfkEfk/jmrh5fn2Eiu+I53hAqFPgrwVi1V6AP/kj2zbAiWhd5xM3pMJdoRQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz", - "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz", - "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "@angular-eslint/utils": "18.3.0", - "aria-query": "5.3.0", - "axobject-query": "4.1.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/utils": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", - "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/utils": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz", - "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/angular-eslint/node_modules/@angular-eslint/template-parser": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.3.0.tgz", - "integrity": "sha512-1mUquqcnugI4qsoxcYZKZ6WMi6RPelDcJZg2YqGyuaIuhWmi3ZqJZLErSSpjP60+TbYZu7wM8Kchqa1bwJtEaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.3.0", - "eslint-scope": "^8.0.2" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": "*" - } - }, - "projects/igo2/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "projects/igo2/node_modules/conventional-changelog": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-5.1.0.tgz", - "integrity": "sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-changelog-angular": "^7.0.0", - "conventional-changelog-atom": "^4.0.0", - "conventional-changelog-codemirror": "^4.0.0", - "conventional-changelog-conventionalcommits": "^7.0.2", - "conventional-changelog-core": "^7.0.0", - "conventional-changelog-ember": "^4.0.0", - "conventional-changelog-eslint": "^5.0.0", - "conventional-changelog-express": "^4.0.0", - "conventional-changelog-jquery": "^5.0.0", - "conventional-changelog-jshint": "^4.0.0", - "conventional-changelog-preset-loader": "^4.1.0" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-atom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-4.0.0.tgz", - "integrity": "sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-cli": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-4.1.0.tgz", - "integrity": "sha512-MscvILWZ6nWOoC+p/3Nn3D2cVLkjeQjyZPUr0bQ+vUORE/SPrkClJh8BOoMNpS4yk+zFJ5LlgXACxH6XGQoRXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog": "^5.1.0", - "meow": "^12.0.1", - "tempfile": "^5.0.0" - }, - "bin": { - "conventional-changelog": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-codemirror": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-4.0.0.tgz", - "integrity": "sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-7.0.0.tgz", - "integrity": "sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@hutson/parse-repository-url": "^5.0.0", - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^7.0.0", - "conventional-commits-parser": "^5.0.0", - "git-raw-commits": "^4.0.0", - "git-semver-tags": "^7.0.0", - "hosted-git-info": "^7.0.0", - "normalize-package-data": "^6.0.0", - "read-pkg": "^8.0.0", - "read-pkg-up": "^10.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-ember": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-4.0.0.tgz", - "integrity": "sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-eslint": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-5.0.0.tgz", - "integrity": "sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-express": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-4.0.0.tgz", - "integrity": "sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-jquery": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-5.0.0.tgz", - "integrity": "sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-jshint": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-4.0.0.tgz", - "integrity": "sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg==", - "dev": true, - "license": "ISC", - "dependencies": { - "compare-func": "^2.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-preset-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-4.1.0.tgz", - "integrity": "sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-changelog-writer": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", - "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-commits-filter": "^4.0.0", - "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "meow": "^12.0.1", - "semver": "^7.5.2", - "split2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/conventional-commits-filter": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", - "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/git-semver-tags": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-7.0.1.tgz", - "integrity": "sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "meow": "^12.0.1", - "semver": "^7.5.2" - }, - "bin": { - "git-semver-tags": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "projects/igo2/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "projects/igo2/node_modules/lines-and-columns": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "projects/igo2/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/read-pkg/node_modules/parse-json": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", - "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/read-pkg/node_modules/parse-json/node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "projects/igo2/node_modules/read-pkg/node_modules/type-fest": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.28.1.tgz", - "integrity": "sha512-LO/+yb3mf46YqfUC7QkkoAlpa7CTYh//V1Xy9+NQ+pKqDqXIq0NTfPfQRwFfCt+if4Qkwb9gzZfsl6E5TkXZGw==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } } } diff --git a/package.json b/package.json index 020951f31..e98fcc8d7 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "packages/*", "projects/*" ], - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "description": "IGO Library", "author": "IGO Community", "license": "MIT", diff --git a/packages/auth/package.json b/packages/auth/package.json index 2d3c67fde..163f25987 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/auth", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/common/package.json b/packages/common/package.json index 791d4605d..7f85ffde1 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/common", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/context/package.json b/packages/context/package.json index 67b501ad6..b137dad44 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/context", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/core/config/src/version.ts b/packages/core/config/src/version.ts index f7a912f97..4946ce14a 100644 --- a/packages/core/config/src/version.ts +++ b/packages/core/config/src/version.ts @@ -6,6 +6,6 @@ export interface Version { } export const version: Version = { - lib: '18.0.0-next.6', - releaseDate: 1732712605164 + lib: '18.0.0-next.7', + releaseDate: 1732800931298 }; diff --git a/packages/core/package.json b/packages/core/package.json index ad6537ddf..0f114b7b8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/core", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/geo/package.json b/packages/geo/package.json index 01927a54b..cf7f4b835 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/geo", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/integration/package.json b/packages/integration/package.json index 6b40799fe..c8ceb109d 100644 --- a/packages/integration/package.json +++ b/packages/integration/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/integration", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "description": "IGO Library", "author": "IGO Community", "keywords": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index 65b2d4dd2..817dd9b2b 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@igo2/utils", - "version": "18.0.0-next.6", + "version": "18.0.0-next.7", "description": "IGO Library", "author": "IGO Community", "keywords": [