diff --git a/back/.classpath b/back/.classpath index 3b18167..69aed91 100644 --- a/back/.classpath +++ b/back/.classpath @@ -25,7 +25,7 @@ - + diff --git a/back/env_dev/docker-compose.yaml b/back/env_dev/docker-compose.yaml index c2f60db..ec35aed 100644 --- a/back/env_dev/docker-compose.yaml +++ b/back/env_dev/docker-compose.yaml @@ -1,10 +1,10 @@ services: - kar_db_service: + db_service: image: mysql:latest restart: always environment: - MYSQL_ROOT_PASSWORD=base_db_password - volumes: # !!!! the folder is not the default set it on ssh not on long-storage data + volumes: - ./data:/var/lib/mysql #- /workspace/data/global/db:/var/lib/mysql mem_limit: 300m @@ -16,13 +16,13 @@ services: retries: 5 start_period: 20s - kar_adminer_service: + adminer_service: image: adminer:latest restart: always ports: - - 18079:8080 + - 5079:8080 links: - - kar_db_service:db + - db_service:db #read_only: true mem_limit: 100m diff --git a/back/pom.xml b/back/pom.xml index b179338..bc40d14 100644 --- a/back/pom.xml +++ b/back/pom.xml @@ -20,7 +20,7 @@ kangaroo-and-rabbit archidata - 0.8.9 + 0.10.2 org.slf4j diff --git a/back/src/org/kar/karso/WebLauncher.java b/back/src/org/kar/karso/WebLauncher.java index ca14901..7cea58c 100755 --- a/back/src/org/kar/karso/WebLauncher.java +++ b/back/src/org/kar/karso/WebLauncher.java @@ -36,6 +36,7 @@ import org.kar.karso.filter.KarsoAuthenticationFilter; import org.kar.karso.migration.Initialization; import org.kar.karso.migration.Migration20231015; import org.kar.karso.migration.Migration20231126; +import org.kar.karso.migration.Migration20240515; import org.kar.karso.model.Application; import org.kar.karso.model.ApplicationToken; import org.kar.karso.model.Right; @@ -79,6 +80,7 @@ public class WebLauncher { WebLauncher.LOGGER.info("Add migration since last version"); migrationEngine.add(new Migration20231015()); migrationEngine.add(new Migration20231126()); + migrationEngine.add(new Migration20240515()); WebLauncher.LOGGER.info("Migrate the DB [START]"); migrationEngine.migrateWaitAdmin(GlobalConfiguration.dbConfig); WebLauncher.LOGGER.info("Migrate the DB [STOP]"); diff --git a/back/src/org/kar/karso/WebLauncherLocal.java b/back/src/org/kar/karso/WebLauncherLocal.java index fc6438e..c820bd8 100755 --- a/back/src/org/kar/karso/WebLauncherLocal.java +++ b/back/src/org/kar/karso/WebLauncherLocal.java @@ -4,7 +4,8 @@ package org.kar.karso; import java.util.List; import org.kar.archidata.api.DataResource; -import org.kar.archidata.dataAccess.DataFactoryTsApi; +import org.kar.archidata.externalRestApi.AnalyzeApi; +import org.kar.archidata.externalRestApi.TsGenerateApi; import org.kar.archidata.tools.ConfigBaseVariable; import org.kar.karso.api.ApplicationResource; import org.kar.karso.api.ApplicationTokenResource; @@ -13,7 +14,6 @@ import org.kar.karso.api.PublicKeyResource; import org.kar.karso.api.RightResource; import org.kar.karso.api.SystemConfigResource; import org.kar.karso.api.UserResource; -import org.kar.karso.migration.Initialization; import org.kar.karso.util.ConfigVariable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,11 +23,19 @@ public class WebLauncherLocal extends WebLauncher { private WebLauncherLocal() {} + public static void generateObjects() throws Exception { + LOGGER.info("Generate APIs"); + final List> listOfResources = List.of(Front.class, DataResource.class, ApplicationResource.class, + ApplicationTokenResource.class, PublicKeyResource.class, RightResource.class, UserResource.class, + SystemConfigResource.class); + final AnalyzeApi api = new AnalyzeApi(); + api.addAllApi(listOfResources); + TsGenerateApi.generateApi(api, "../front/src/back-api/"); + LOGGER.info("Generate APIs (DONE)"); + } + public static void main(final String[] args) throws Exception { - DataFactoryTsApi.generatePackage( - List.of(Front.class, DataResource.class, ApplicationResource.class, ApplicationTokenResource.class, - PublicKeyResource.class, RightResource.class, UserResource.class, SystemConfigResource.class), - Initialization.CLASSES_BASE, "../front/src/back-api/"); + generateObjects(); final WebLauncherLocal launcher = new WebLauncherLocal(); launcher.process(); LOGGER.info("end-configure the server & wait finish process:"); diff --git a/back/src/org/kar/karso/api/ApplicationResource.java b/back/src/org/kar/karso/api/ApplicationResource.java index 83c3e69..d5da5b5 100755 --- a/back/src/org/kar/karso/api/ApplicationResource.java +++ b/back/src/org/kar/karso/api/ApplicationResource.java @@ -126,7 +126,8 @@ public class ApplicationResource { application.createdAt = null; application.deleted = null; application.updatedAt = null; - return DataAccess.insert(application); + final Application tmp = DataAccess.insert(application); + return get(tmp.id); } //////////////////////////////////////////////////////////////////////////////////////// diff --git a/back/src/org/kar/karso/api/SystemConfigResource.java b/back/src/org/kar/karso/api/SystemConfigResource.java index 704fcdf..5414948 100755 --- a/back/src/org/kar/karso/api/SystemConfigResource.java +++ b/back/src/org/kar/karso/api/SystemConfigResource.java @@ -91,7 +91,7 @@ public class SystemConfigResource { public void setKey( @Context final SecurityContext sc, @PathParam("key") final String key, - @AsyncType(Map.class) final String jsonRequest) throws Exception { + @AsyncType(Object.class) final String jsonRequest) throws Exception { Settings res = null; try { res = DataAccess.getWhere(Settings.class, new Condition(new QueryCondition("key", "=", key))); diff --git a/back/src/org/kar/karso/migration/Migration20240515.java b/back/src/org/kar/karso/migration/Migration20240515.java new file mode 100644 index 0000000..5397ff3 --- /dev/null +++ b/back/src/org/kar/karso/migration/Migration20240515.java @@ -0,0 +1,69 @@ +package org.kar.karso.migration; + +import java.util.List; + +import org.kar.archidata.dataAccess.DataAccess; +import org.kar.archidata.dataAccess.options.AccessDeletedItems; +import org.kar.archidata.dataAccess.options.OverrideTableName; +import org.kar.archidata.migration.MigrationSqlStep; +import org.kar.archidata.tools.UuidUtils; +import org.kar.karso.migration.model.UUIDConversion; + +public class Migration20240515 extends MigrationSqlStep { + + public static final int KARSO_INITIALISATION_ID = 1; + + @Override + public String getName() { + return "migration-2024-05-15: Update the link user application and the cover"; + } + + public Migration20240515() { + + } + + @Override + public void generateStep() throws Exception { + // update migration update (last one) + addAction(""" + ALTER TABLE `user_link_application` ADD `uuid` binary(16) AFTER `id`; + """); + addAction(() -> { + final List datas = DataAccess.gets(UUIDConversion.class, new AccessDeletedItems(), + new OverrideTableName("user_link_application")); + for (final UUIDConversion elem : datas) { + elem.uuid = UuidUtils.nextUUID(); + } + for (final UUIDConversion elem : datas) { + DataAccess.update(elem, elem.id, List.of("uuid"), new OverrideTableName("data")); + } + }); + addAction(""" + ALTER TABLE `user_link_application` DROP PRIMARY KEY; + """); + addAction(""" + ALTER TABLE `user_link_application` + CHANGE `uuid` `uuid` binary(16) DEFAULT (UUID_TO_BIN(UUID(), TRUE)); + """); + addAction(""" + ALTER TABLE `user_link_application` + ADD PRIMARY KEY `uuid` (`uuid`); + """); + + addAction(""" + ALTER TABLE `user_link_application` + ADD `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Deleted state' AFTER `uuid`; + """); + + addAction(""" + DROP TABLE `user_link_cover`; + """); + + addAction(""" + ALTER TABLE `user` + ADD `covers` json DEFAULT NULL COMMENT 'List of Id of the specific covers' AFTER `removed`; + """); + + } + +} diff --git a/back/src/org/kar/karso/migration/model/UUIDConversion.java b/back/src/org/kar/karso/migration/model/UUIDConversion.java new file mode 100644 index 0000000..ea03e1a --- /dev/null +++ b/back/src/org/kar/karso/migration/model/UUIDConversion.java @@ -0,0 +1,11 @@ +package org.kar.karso.migration.model; + +import java.util.UUID; + +import jakarta.persistence.Id; + +public class UUIDConversion { + @Id + public Long id = null; + public UUID uuid = null; +} diff --git a/back/src/org/kar/karso/model/AddUserData.java b/back/src/org/kar/karso/model/AddUserData.java index 62bd391..e880314 100644 --- a/back/src/org/kar/karso/model/AddUserData.java +++ b/back/src/org/kar/karso/model/AddUserData.java @@ -1,5 +1,8 @@ package org.kar.karso.model; +import com.fasterxml.jackson.annotation.JsonInclude; + +@JsonInclude(JsonInclude.Include.NON_NULL) public class AddUserData { public Long userId; diff --git a/back/src/org/kar/karso/model/ApplicationSmall.java b/back/src/org/kar/karso/model/ApplicationSmall.java index f928f53..ce3cef1 100644 --- a/back/src/org/kar/karso/model/ApplicationSmall.java +++ b/back/src/org/kar/karso/model/ApplicationSmall.java @@ -1,5 +1,8 @@ package org.kar.karso.model; +import com.fasterxml.jackson.annotation.JsonInclude; + +@JsonInclude(JsonInclude.Include.NON_NULL) public class ApplicationSmall { public Long id; public String name; @@ -8,8 +11,7 @@ public class ApplicationSmall { public ApplicationSmall() {} - public ApplicationSmall(Long id, String name, String description, String redirect) { - super(); + public ApplicationSmall(final Long id, final String name, final String description, final String redirect) { this.id = id; this.name = name; this.description = description; diff --git a/back/src/org/kar/karso/model/ChangePassword.java b/back/src/org/kar/karso/model/ChangePassword.java index d375d52..46d25e8 100644 --- a/back/src/org/kar/karso/model/ChangePassword.java +++ b/back/src/org/kar/karso/model/ChangePassword.java @@ -1,7 +1,10 @@ package org.kar.karso.model; +import com.fasterxml.jackson.annotation.JsonInclude; + import jakarta.persistence.Column; +@JsonInclude(JsonInclude.Include.NON_NULL) public class ChangePassword { @Column(length = 32) public String method; diff --git a/back/src/org/kar/karso/model/ClientToken.java b/back/src/org/kar/karso/model/ClientToken.java index ff6639c..f97e26e 100644 --- a/back/src/org/kar/karso/model/ClientToken.java +++ b/back/src/org/kar/karso/model/ClientToken.java @@ -1,7 +1,10 @@ package org.kar.karso.model; +import com.fasterxml.jackson.annotation.JsonInclude; + import jakarta.persistence.Column; +@JsonInclude(JsonInclude.Include.NON_NULL) public class ClientToken { @Column(length = 1024) public String url; diff --git a/back/src/org/kar/karso/model/CreateTokenRequest.java b/back/src/org/kar/karso/model/CreateTokenRequest.java index 6e3c2ec..8eca2da 100644 --- a/back/src/org/kar/karso/model/CreateTokenRequest.java +++ b/back/src/org/kar/karso/model/CreateTokenRequest.java @@ -1,5 +1,8 @@ package org.kar.karso.model; +import com.fasterxml.jackson.annotation.JsonInclude; + +@JsonInclude(JsonInclude.Include.NON_NULL) public class CreateTokenRequest { public CreateTokenRequest() {} diff --git a/back/src/org/kar/karso/model/DataGetToken.java b/back/src/org/kar/karso/model/DataGetToken.java index 2f44c34..bae03fb 100644 --- a/back/src/org/kar/karso/model/DataGetToken.java +++ b/back/src/org/kar/karso/model/DataGetToken.java @@ -4,6 +4,9 @@ import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import com.fasterxml.jackson.annotation.JsonInclude; + +@JsonInclude(JsonInclude.Include.NON_NULL) public record DataGetToken( String login, String method, diff --git a/back/src/org/kar/karso/model/DataGetTokenApplication.java b/back/src/org/kar/karso/model/DataGetTokenApplication.java index 9c7eff9..2382475 100644 --- a/back/src/org/kar/karso/model/DataGetTokenApplication.java +++ b/back/src/org/kar/karso/model/DataGetTokenApplication.java @@ -1,5 +1,8 @@ package org.kar.karso.model; +import com.fasterxml.jackson.annotation.JsonInclude; + +@JsonInclude(JsonInclude.Include.NON_NULL) public class DataGetTokenApplication { public String application; } diff --git a/back/src/org/kar/karso/model/UserLinkApplication.java b/back/src/org/kar/karso/model/UserLinkApplication.java index 43f2e26..d5a1592 100644 --- a/back/src/org/kar/karso/model/UserLinkApplication.java +++ b/back/src/org/kar/karso/model/UserLinkApplication.java @@ -11,7 +11,7 @@ CREATE TABLE `application` ( */ import org.kar.archidata.annotation.DataIfNotExists; -import org.kar.archidata.model.GenericDataSoftDelete; +import org.kar.archidata.model.UUIDGenericDataSoftDelete; import com.fasterxml.jackson.annotation.JsonInclude; @@ -22,7 +22,7 @@ import jakarta.persistence.Table; @Table(name = "user_link_application") @DataIfNotExists @JsonInclude(JsonInclude.Include.NON_NULL) -public class UserLinkApplication extends GenericDataSoftDelete { +public class UserLinkApplication extends UUIDGenericDataSoftDelete { @Column(name = "object1id") public Long userId; @Column(name = "object2id") diff --git a/front/package.json b/front/package.json index 60f9384..94804a1 100644 --- a/front/package.json +++ b/front/package.json @@ -21,32 +21,32 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.8", - "@angular/cdk": "^17.3.8", - "@angular/common": "^17.3.8", - "@angular/compiler": "^17.3.8", - "@angular/core": "^17.3.8", - "@angular/forms": "^17.3.8", - "@angular/material": "^17.3.8", - "@angular/platform-browser": "^17.3.8", - "@angular/platform-browser-dynamic": "^17.3.8", - "@angular/router": "^17.3.8", + "@angular/animations": "^18.0.0", + "@angular/cdk": "^18.0.0", + "@angular/common": "^18.0.0", + "@angular/compiler": "^18.0.0", + "@angular/core": "^18.0.0", + "@angular/forms": "^18.0.0", + "@angular/material": "^18.0.0", + "@angular/platform-browser": "^18.0.0", + "@angular/platform-browser-dynamic": "^18.0.0", + "@angular/router": "^18.0.0", "rxjs": "^7.8.1", - "zone.js": "^0.14.5", + "zone.js": "^0.14.6", "zod": "3.23.8", - "@kangaroo-and-rabbit/kar-cw": "^0.3.0" + "@kangaroo-and-rabbit/kar-cw": "^0.4.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.7", - "@angular-eslint/builder": "17.4.0", - "@angular-eslint/eslint-plugin": "17.4.0", - "@angular-eslint/eslint-plugin-template": "17.4.0", - "@angular-eslint/schematics": "17.4.0", - "@angular-eslint/template-parser": "17.4.0", - "@angular/cli": "^17.3.7", - "@angular/compiler-cli": "^17.3.8", - "@angular/language-service": "^17.3.8", - "@playwright/test": "^1.44.0", + "@angular-devkit/build-angular": "^18.0.1", + "@angular-eslint/builder": "17.5.2", + "@angular-eslint/eslint-plugin": "17.5.2", + "@angular-eslint/eslint-plugin-template": "17.5.2", + "@angular-eslint/schematics": "17.5.2", + "@angular-eslint/template-parser": "17.5.2", + "@angular/cli": "^18.0.1", + "@angular/compiler-cli": "^18.0.0", + "@angular/language-service": "^18.0.0", + "@playwright/test": "^1.44.1", "@types/jest": "^29.5.12", "jasmine": "^5.1.0", "jasmine-core": "^5.1.2", diff --git a/front/pnpm-lock.yaml b/front/pnpm-lock.yaml index 8b74cf7..54c7e9b 100644 --- a/front/pnpm-lock.yaml +++ b/front/pnpm-lock.yaml @@ -6,38 +6,38 @@ settings: dependencies: '@angular/animations': - specifier: ^17.3.8 - version: 17.3.8(@angular/core@17.3.8) + specifier: ^18.0.0 + version: 18.0.0(@angular/core@18.0.0) '@angular/cdk': - specifier: ^17.3.8 - version: 17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(rxjs@7.8.1) + specifier: ^18.0.0 + version: 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(rxjs@7.8.1) '@angular/common': - specifier: ^17.3.8 - version: 17.3.8(@angular/core@17.3.8)(rxjs@7.8.1) + specifier: ^18.0.0 + version: 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.8 - version: 17.3.8(@angular/core@17.3.8) + specifier: ^18.0.0 + version: 18.0.0(@angular/core@18.0.0) '@angular/core': - specifier: ^17.3.8 - version: 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^18.0.0 + version: 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) '@angular/forms': - specifier: ^17.3.8 - version: 17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8)(rxjs@7.8.1) + specifier: ^18.0.0 + version: 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1) '@angular/material': - specifier: ^17.3.8 - version: 17.3.8(@angular/animations@17.3.8)(@angular/cdk@17.3.8)(@angular/common@17.3.8)(@angular/core@17.3.8)(@angular/forms@17.3.8)(@angular/platform-browser@17.3.8)(rxjs@7.8.1) + specifier: ^18.0.0 + version: 18.0.0(@angular/animations@18.0.0)(@angular/cdk@18.0.0)(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/forms@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.8 - version: 17.3.8(@angular/animations@17.3.8)(@angular/common@17.3.8)(@angular/core@17.3.8) + specifier: ^18.0.0 + version: 18.0.0(@angular/animations@18.0.0)(@angular/common@18.0.0)(@angular/core@18.0.0) '@angular/platform-browser-dynamic': - specifier: ^17.3.8 - version: 17.3.8(@angular/common@17.3.8)(@angular/compiler@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8) + specifier: ^18.0.0 + version: 18.0.0(@angular/common@18.0.0)(@angular/compiler@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0) '@angular/router': - specifier: ^17.3.8 - version: 17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8)(rxjs@7.8.1) + specifier: ^18.0.0 + version: 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1) '@kangaroo-and-rabbit/kar-cw': - specifier: ^0.2.2 - version: 0.2.2(@angular/common@17.3.8)(@angular/compiler@17.3.8)(@angular/core@17.3.8)(@angular/forms@17.3.8)(@angular/platform-browser-dynamic@17.3.8)(@angular/platform-browser@17.3.8)(@angular/router@17.3.8)(rxjs@7.8.1)(zone.js@0.14.5) + specifier: ^0.4.0 + version: 0.4.0(@angular/common@18.0.0)(@angular/compiler@18.0.0)(@angular/core@18.0.0)(@angular/forms@18.0.0)(@angular/platform-browser-dynamic@18.0.0)(@angular/platform-browser@18.0.0)(@angular/router@18.0.0)(rxjs@7.8.1)(zone.js@0.14.6) rxjs: specifier: ^7.8.1 version: 7.8.1 @@ -45,40 +45,40 @@ dependencies: specifier: 3.23.8 version: 3.23.8 zone.js: - specifier: ^0.14.5 - version: 0.14.5 + specifier: ^0.14.6 + version: 0.14.6 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.7 - version: 17.3.7(@angular/compiler-cli@17.3.8)(karma@6.4.3)(typescript@5.4.5) + specifier: ^18.0.1 + version: 18.0.1(@angular/compiler-cli@18.0.0)(karma@6.4.3)(typescript@5.4.5) '@angular-eslint/builder': - specifier: 17.4.0 - version: 17.4.0(eslint@8.57.0)(typescript@5.4.5) + specifier: 17.5.2 + version: 17.5.2(eslint@8.57.0)(typescript@5.4.5) '@angular-eslint/eslint-plugin': - specifier: 17.4.0 - version: 17.4.0(eslint@8.57.0)(typescript@5.4.5) + specifier: 17.5.2 + version: 17.5.2(eslint@8.57.0)(typescript@5.4.5) '@angular-eslint/eslint-plugin-template': - specifier: 17.4.0 - version: 17.4.0(eslint@8.57.0)(typescript@5.4.5) + specifier: 17.5.2 + version: 17.5.2(eslint@8.57.0)(typescript@5.4.5) '@angular-eslint/schematics': - specifier: 17.4.0 - version: 17.4.0(@angular/cli@17.3.7)(eslint@8.57.0)(typescript@5.4.5) + specifier: 17.5.2 + version: 17.5.2(@angular/cli@18.0.1)(eslint@8.57.0)(typescript@5.4.5) '@angular-eslint/template-parser': - specifier: 17.4.0 - version: 17.4.0(eslint@8.57.0)(typescript@5.4.5) + specifier: 17.5.2 + version: 17.5.2(eslint@8.57.0)(typescript@5.4.5) '@angular/cli': - specifier: ^17.3.7 - version: 17.3.7 + specifier: ^18.0.1 + version: 18.0.1 '@angular/compiler-cli': - specifier: ^17.3.8 - version: 17.3.8(@angular/compiler@17.3.8)(typescript@5.4.5) + specifier: ^18.0.0 + version: 18.0.0(@angular/compiler@18.0.0)(typescript@5.4.5) '@angular/language-service': - specifier: ^17.3.8 - version: 17.3.8 + specifier: ^18.0.0 + version: 18.0.0 '@playwright/test': - specifier: ^1.44.0 - version: 1.44.0 + specifier: ^1.44.1 + version: 1.44.1 '@types/jest': specifier: ^29.5.12 version: 29.5.12 @@ -129,33 +129,33 @@ packages: '@jridgewell/trace-mapping': 0.3.25 dev: true - /@angular-devkit/architect@0.1703.7: - resolution: {integrity: sha512-SwXbdsZqEE3JtvujCLChAii+FA20d1931VDjDYffrGWdQEViTBAr4NKtDr/kOv8KkgiL3fhGibPnRNUHTeAMtg==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/architect@0.1800.1: + resolution: {integrity: sha512-L3n1Rh0NUNTlQZBBuPY8VFc5Skr6Oa6xT821k+XLLZTbz1ci2e3ltINyUhqISeksa3AyyL8e4JR2kCbDli9uJA==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 17.3.7 + '@angular-devkit/core': 18.0.1 rxjs: 7.8.1 transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/build-angular@17.3.7(@angular/compiler-cli@17.3.8)(karma@6.4.3)(typescript@5.4.5): - resolution: {integrity: sha512-AsV80kiFMIPIhm3uzJgOHDj4u6JteUkZedPTKAFFFJC7CTat1luW5qx306vfF7wj62aMvUl5g9HFWaeLghTQGA==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/build-angular@18.0.1(@angular/compiler-cli@18.0.0)(karma@6.4.3)(typescript@5.4.5): + resolution: {integrity: sha512-FDVxR+VR0WP/lukOrnhEdy+hcGNBzqyfmrW0fyIthwP+A/gHlB3Qd/lehkeLngTjPwtBXssxuwR6BgWmpjy69Q==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - '@angular/compiler-cli': ^17.0.0 - '@angular/localize': ^17.0.0 - '@angular/platform-server': ^17.0.0 - '@angular/service-worker': ^17.0.0 + '@angular/compiler-cli': ^18.0.0 + '@angular/localize': ^18.0.0 + '@angular/platform-server': ^18.0.0 + '@angular/service-worker': ^18.0.0 '@web/test-runner': ^0.18.0 browser-sync: ^3.0.2 jest: ^29.5.0 jest-environment-jsdom: ^29.5.0 karma: ^6.3.0 - ng-packagr: ^17.0.0 + ng-packagr: ^18.0.0 protractor: ^7.0.0 tailwindcss: ^2.0.0 || ^3.0.0 - typescript: '>=5.2 <5.5' + typescript: '>=5.4 <5.5' peerDependenciesMeta: '@angular/localize': optional: true @@ -181,77 +181,77 @@ packages: optional: true dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.1703.7 - '@angular-devkit/build-webpack': 0.1703.7(webpack-dev-server@4.15.1)(webpack@5.90.3) - '@angular-devkit/core': 17.3.7 - '@angular/compiler-cli': 17.3.8(@angular/compiler@17.3.8)(typescript@5.4.5) - '@babel/core': 7.24.0 - '@babel/generator': 7.23.6 + '@angular-devkit/architect': 0.1800.1 + '@angular-devkit/build-webpack': 0.1800.1(webpack-dev-server@5.0.4)(webpack@5.91.0) + '@angular-devkit/core': 18.0.1 + '@angular/build': 18.0.1(@angular/compiler-cli@18.0.0)(less@4.2.0)(postcss@8.4.38)(terser@5.31.0)(typescript@5.4.5) + '@angular/compiler-cli': 18.0.0(@angular/compiler@18.0.0)(typescript@5.4.5) + '@babel/core': 7.24.5 + '@babel/generator': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-runtime': 7.24.0(@babel/core@7.24.0) - '@babel/preset-env': 7.24.0(@babel/core@7.24.0) - '@babel/runtime': 7.24.0 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.5) + '@babel/preset-env': 7.24.5(@babel/core@7.24.5) + '@babel/runtime': 7.24.5 '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 17.3.7(@angular/compiler-cli@17.3.8)(typescript@5.4.5)(webpack@5.90.3) - '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.1.7) + '@ngtools/webpack': 18.0.1(@angular/compiler-cli@18.0.0)(typescript@5.4.5)(webpack@5.91.0) + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.2.11) ansi-colors: 4.1.3 - autoprefixer: 10.4.18(postcss@8.4.35) - babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.90.3) + autoprefixer: 10.4.19(postcss@8.4.38) + babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0) babel-plugin-istanbul: 6.1.1 browserslist: 4.23.0 - copy-webpack-plugin: 11.0.0(webpack@5.90.3) + copy-webpack-plugin: 11.0.0(webpack@5.91.0) critters: 0.0.22 - css-loader: 6.10.0(webpack@5.90.3) - esbuild-wasm: 0.20.1 + css-loader: 7.1.1(webpack@5.91.0) + esbuild-wasm: 0.21.3 fast-glob: 3.3.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) + http-proxy-middleware: 3.0.0 https-proxy-agent: 7.0.4 - inquirer: 9.2.15 + inquirer: 9.2.22 jsonc-parser: 3.2.1 karma: 6.4.3 karma-source-map-support: 1.4.0 less: 4.2.0 - less-loader: 11.1.0(less@4.2.0)(webpack@5.90.3) - license-webpack-plugin: 4.0.2(webpack@5.90.3) + less-loader: 12.2.0(less@4.2.0)(webpack@5.91.0) + license-webpack-plugin: 4.0.2(webpack@5.91.0) loader-utils: 3.2.1 - magic-string: 0.30.8 - mini-css-extract-plugin: 2.8.1(webpack@5.90.3) + magic-string: 0.30.10 + mini-css-extract-plugin: 2.9.0(webpack@5.91.0) mrmime: 2.0.0 open: 8.4.2 ora: 5.4.1 parse5-html-rewriting-stream: 7.0.0 - picomatch: 4.0.1 - piscina: 4.4.0 - postcss: 8.4.35 - postcss-loader: 8.1.1(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3) + picomatch: 4.0.2 + piscina: 4.5.0 + postcss: 8.4.38 + postcss-loader: 8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0) resolve-url-loader: 5.0.0 rxjs: 7.8.1 - sass: 1.71.1 - sass-loader: 14.1.1(sass@1.71.1)(webpack@5.90.3) - semver: 7.6.0 - source-map-loader: 5.0.0(webpack@5.90.3) + sass: 1.77.2 + sass-loader: 14.2.1(sass@1.77.2)(webpack@5.91.0) + semver: 7.6.2 + source-map-loader: 5.0.0(webpack@5.91.0) source-map-support: 0.5.21 - terser: 5.29.1 + terser: 5.31.0 tree-kill: 1.2.2 tslib: 2.6.2 typescript: 5.4.5 - undici: 6.11.1 - vite: 5.1.7(less@4.2.0)(sass@1.71.1)(terser@5.29.1) - watchpack: 2.4.0 - webpack: 5.90.3(esbuild@0.20.1) - webpack-dev-middleware: 6.1.2(webpack@5.90.3) - webpack-dev-server: 4.15.1(webpack@5.90.3) + undici: 6.18.0 + vite: 5.2.11(less@4.2.0)(sass@1.77.2)(terser@5.31.0) + watchpack: 2.4.1 + webpack: 5.91.0(esbuild@0.21.3) + webpack-dev-middleware: 7.2.1(webpack@5.91.0) + webpack-dev-server: 5.0.4(webpack@5.91.0) webpack-merge: 5.10.0 - webpack-subresource-integrity: 5.1.0(webpack@5.90.3) + webpack-subresource-integrity: 5.1.0(webpack@5.91.0) optionalDependencies: - esbuild: 0.20.1 + esbuild: 0.21.3 transitivePeerDependencies: - '@rspack/core' - '@swc/core' - - '@types/express' - '@types/node' - bufferutil - chokidar @@ -268,53 +268,53 @@ packages: - webpack-cli dev: true - /@angular-devkit/build-webpack@0.1703.7(webpack-dev-server@4.15.1)(webpack@5.90.3): - resolution: {integrity: sha512-gpt2Ia5I1gmdp3hdbtB7tkZTba5qWmKeVhlCYswa/LvbceKmkjedoeNRAoyr1UKM9GeGqt6Xl1B2eHzCH+ykrg==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/build-webpack@0.1800.1(webpack-dev-server@5.0.4)(webpack@5.91.0): + resolution: {integrity: sha512-a5/0mOBRgrQZVv2yc0TXlnwb5etil6Wb/T44tXh0EHsOeaKXGCqWQPVu1EjVJoHieVdXOcajGrPo0aGd8blsdg==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 - webpack-dev-server: ^4.0.0 + webpack-dev-server: ^5.0.2 dependencies: - '@angular-devkit/architect': 0.1703.7 + '@angular-devkit/architect': 0.1800.1 rxjs: 7.8.1 - webpack: 5.90.3(esbuild@0.20.1) - webpack-dev-server: 4.15.1(webpack@5.90.3) + webpack: 5.91.0(esbuild@0.21.3) + webpack-dev-server: 5.0.4(webpack@5.91.0) transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/core@17.3.7: - resolution: {integrity: sha512-qpZ7BShyqS/Jqld36E7kL02cyb2pjn1Az1p9439SbP8nsvJgYlsyjwYK2Kmcn/Wi+TZGIKxkqxgBBw9vqGgeJw==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/core@18.0.1: + resolution: {integrity: sha512-91eKZoObs+wRgwssw81Y/94Nvixj0WqJkNusBAg+gAfZTCEeJoGGZJkRK8wrONbM79C3Bx8lN/TfSIPRbjnfOQ==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^3.5.2 peerDependenciesMeta: chokidar: optional: true dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) + ajv: 8.13.0 + ajv-formats: 3.0.1(ajv@8.13.0) jsonc-parser: 3.2.1 - picomatch: 4.0.1 + picomatch: 4.0.2 rxjs: 7.8.1 source-map: 0.7.4 dev: true - /@angular-devkit/schematics@17.3.7: - resolution: {integrity: sha512-d7NKSwstdxYLYmPsbcYO3GOFNfXxXwOyHxSqDa1JNKoSzMdbLj4tvlCpfXw0ThNM7gioMx8aLBaaH1ac+yk06Q==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/schematics@18.0.1: + resolution: {integrity: sha512-AKcEGa3fIgyXT6XTQZWEJZzgmcqlB89fcF7JFOuz4rgQfRmnE2xFw37lKE6ZclCOSiEoffAvgrL8acjdPI1ouw==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 17.3.7 + '@angular-devkit/core': 18.0.1 jsonc-parser: 3.2.1 - magic-string: 0.30.8 + magic-string: 0.30.10 ora: 5.4.1 rxjs: 7.8.1 transitivePeerDependencies: - chokidar dev: true - /@angular-eslint/builder@17.4.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-+3ujbi+ar/iqAAwnJ2bTdWzQpHh9iVEPgjHUOeQhrEM8gcaOLnZXMlUyZL7D+NlXg7aDoEIxETb73dgbIBm55A==} + /@angular-eslint/builder@17.5.2(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-bvegxJuocWeHdvISPfCXeLQPSjrMCEVzxXPg16JJKksKWSeRA1JnbXnfnb7eoLdq1+riMHKqbH6Fs4rORAvUiA==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' @@ -329,20 +329,20 @@ packages: - debug dev: true - /@angular-eslint/bundled-angular-compiler@17.4.0: - resolution: {integrity: sha512-cYEJs4PO+QLDt1wfgWh9q8OjOphnoe1OTTFtMqm9lHl0AkBynPnFA6ghiiG5NaT03l7HXi2TQ23rLFlXl3JOBg==} + /@angular-eslint/bundled-angular-compiler@17.5.2: + resolution: {integrity: sha512-K4hVnMyI98faMJmsA4EOBkD0tapDjWV5gy0j/wJ2uSL46d3JgZPZNJSO1zStf/b3kT4gLOlQ/ulWFiUf1DxgIw==} dev: true - /@angular-eslint/eslint-plugin-template@17.4.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-o1Vb7rt3TpPChVzaxswOKBDWRboMcpC4qUUyoHfeSYa7sDuQHMeIQlCS5QXuykR/RYnIQJSKd89FOd28nGmmRw==} + /@angular-eslint/eslint-plugin-template@17.5.2(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-6sxVwrJ7yElZxcjxHSA0Ujs29bCD/cMubd9n6TDFI9e3v+ktpoMW4Nv/TCHv0OuYatIOZ7bcJxi38cAO8Vhfhw==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: - '@angular-eslint/bundled-angular-compiler': 17.4.0 - '@angular-eslint/utils': 17.4.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/type-utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) + '@angular-eslint/bundled-angular-compiler': 17.5.2 + '@angular-eslint/utils': 17.5.2(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) aria-query: 5.3.0 axobject-query: 4.0.0 eslint: 8.57.0 @@ -351,29 +351,29 @@ packages: - supports-color dev: true - /@angular-eslint/eslint-plugin@17.4.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-E+/O83PXttQUACurGEskLDU+wboBqMMVqvo4T8C/iMcpLx+01M5UBzqpCmfz6ri609G96Au7uDbUEedU1hwqmQ==} + /@angular-eslint/eslint-plugin@17.5.2(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-kzPALKyT5XIEbgoNmY/hEZWdMWKTX56Pap9fVLJSC/b+Nd+MXc7TNly2s0XoC0Ru1/kMiVzbmSGPheu/rw+9aA==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: - '@angular-eslint/bundled-angular-compiler': 17.4.0 - '@angular-eslint/utils': 17.4.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) + '@angular-eslint/bundled-angular-compiler': 17.5.2 + '@angular-eslint/utils': 17.5.2(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@angular-eslint/schematics@17.4.0(@angular/cli@17.3.7)(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-3WQQbwwBD1N3dZbbx1a1KY/jRujUQgz5778Ac21LU+AdCtvbjnmSpxRfsE3HH8MAreqr8Lv1kjLyiRzPTS5GQQ==} + /@angular-eslint/schematics@17.5.2(@angular/cli@18.0.1)(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-HcvqrBEJfYMTc+fZ6YdRkb+9YcXsy2XSv59Yhd0bBqZ4ZdM4QuuVFxWlLNvhV6TF1DtO24CzpN4OyE+AO5EWBA==} peerDependencies: '@angular/cli': '>= 17.0.0 < 18.0.0' dependencies: - '@angular-eslint/eslint-plugin': 17.4.0(eslint@8.57.0)(typescript@5.4.5) - '@angular-eslint/eslint-plugin-template': 17.4.0(eslint@8.57.0)(typescript@5.4.5) - '@angular/cli': 17.3.7 + '@angular-eslint/eslint-plugin': 17.5.2(eslint@8.57.0)(typescript@5.4.5) + '@angular-eslint/eslint-plugin-template': 17.5.2(eslint@8.57.0)(typescript@5.4.5) + '@angular/cli': 18.0.1 '@nx/devkit': 18.3.4(nx@18.3.4) ignore: 5.3.1 nx: 18.3.4 @@ -388,78 +388,142 @@ packages: - typescript dev: true - /@angular-eslint/template-parser@17.4.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-vT/Tg8dl6Uy++MS9lPS0l37SynH3EaMcggDiTJqn15pIb4ePO65fafOIIKKYG+BN6R6iFe/g9mH/9nb8ohlzdQ==} + /@angular-eslint/template-parser@17.5.2(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-46emLElmnIUzW0bpEpSf0u05ofRVUwlfttDOMLedhi700peUKbB9Y6iyz3GzAtQCMklBbJC9nR87LQRH9aSlog==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: - '@angular-eslint/bundled-angular-compiler': 17.4.0 + '@angular-eslint/bundled-angular-compiler': 17.5.2 eslint: 8.57.0 eslint-scope: 8.0.1 typescript: 5.4.5 dev: true - /@angular-eslint/utils@17.4.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-lHgRXyT878fauDITygraICDM6RHLb51QAJ3gWNZLr7SXcywsZg5d3rxRPCjrCnjgdxNPU0fJ+VJZ5AMt5Ibn7w==} + /@angular-eslint/utils@17.5.2(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-bTMPFqtoetBJsYR/xqREEOCy/CdsKGf2gZkRdH73gG6pOpskWt8J/PbRcMZsC349paV4HFixByVm89inqA0TNg==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: - '@angular-eslint/bundled-angular-compiler': 17.4.0 - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) + '@angular-eslint/bundled-angular-compiler': 17.5.2 + '@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@angular/animations@17.3.8(@angular/core@17.3.8): - resolution: {integrity: sha512-ywT3dH0yZeAlo+Vu/6RpRozxzTbu4Bwqky6RgNfk/UMoyXZ5UiFStszDqO/HAyBGGCDHagm1XJkgsNZcStWq8A==} + /@angular/animations@18.0.0(@angular/core@18.0.0): + resolution: {integrity: sha512-An/IqDBCyWZXVC23+jRKdmvJB/b4P1BVljZxGxF+CiocNd/xvVVeBYuuxzp3vhhVobyO8A9iD12itPudLOpt2Q==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/core': 17.3.8 + '@angular/core': 18.0.0 dependencies: - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) tslib: 2.6.2 dev: false - /@angular/cdk@17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(rxjs@7.8.1): - resolution: {integrity: sha512-9UQovtq1R3iGppBP6c1xgnokhG3LaUObpm6htMyuQ2v034WinemoeMdHbqs/OvyUbqOUttQI/9vz37TVB0DjXA==} + /@angular/build@18.0.1(@angular/compiler-cli@18.0.0)(less@4.2.0)(postcss@8.4.38)(terser@5.31.0)(typescript@5.4.5): + resolution: {integrity: sha512-n2So6inJ4Prw3NOPC6keyVyFDryFNCJ4UUzmjtPOS8FyYqThWBcuXFzsUsUCFbXSUqVBZh9vxEqHqggnCAs9Og==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - '@angular/common': ^17.0.0 || ^18.0.0 - '@angular/core': ^17.0.0 || ^18.0.0 + '@angular/compiler-cli': ^18.0.0 + '@angular/localize': ^18.0.0 + '@angular/platform-server': ^18.0.0 + '@angular/service-worker': ^18.0.0 + less: ^4.2.0 + postcss: ^8.4.0 + tailwindcss: ^2.0.0 || ^3.0.0 + typescript: '>=5.4 <5.5' + peerDependenciesMeta: + '@angular/localize': + optional: true + '@angular/platform-server': + optional: true + '@angular/service-worker': + optional: true + less: + optional: true + postcss: + optional: true + tailwindcss: + optional: true + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1800.1 + '@angular/compiler-cli': 18.0.0(@angular/compiler@18.0.0)(typescript@5.4.5) + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.2.11) + ansi-colors: 4.1.3 + browserslist: 4.23.0 + critters: 0.0.22 + esbuild: 0.21.3 + fast-glob: 3.3.2 + https-proxy-agent: 7.0.4 + inquirer: 9.2.22 + less: 4.2.0 + lmdb: 3.0.8 + magic-string: 0.30.10 + mrmime: 2.0.0 + ora: 5.4.1 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.2 + piscina: 4.5.0 + postcss: 8.4.38 + sass: 1.77.2 + semver: 7.6.2 + typescript: 5.4.5 + undici: 6.18.0 + vite: 5.2.11(less@4.2.0)(sass@1.77.2)(terser@5.31.0) + watchpack: 2.4.1 + transitivePeerDependencies: + - '@types/node' + - chokidar + - lightningcss + - stylus + - sugarss + - supports-color + - terser + dev: true + + /@angular/cdk@18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(rxjs@7.8.1): + resolution: {integrity: sha512-V0i1SAiT2PTNyugBW0E4fev8G/4XP5FdyX2YD6oc5sNyt3GFcoDNHcz+oEne8+aYVnQ3Ax9Zutq/SQincDHIbw==} + peerDependencies: + '@angular/common': ^18.0.0 || ^19.0.0 + '@angular/core': ^18.0.0 || ^19.0.0 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 17.3.8(@angular/core@17.3.8)(rxjs@7.8.1) - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) rxjs: 7.8.1 tslib: 2.6.2 optionalDependencies: parse5: 7.1.2 dev: false - /@angular/cli@17.3.7: - resolution: {integrity: sha512-JgCav3sdRCoJHwLXxmF/EMzArYjwbqB+AGUW/xIR98oZET8QxCB985bOFUAm02SkAEUVcMJvjxec+WCaa60m/A==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular/cli@18.0.1: + resolution: {integrity: sha512-O1kQOxXsfxHgGyqdHc2OTwlUTXLE8O1UcGkWROxvKt4MXccdJLjMjypMiV+jSpzc0FJTV1ihSkCxMtBezF926A==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true dependencies: - '@angular-devkit/architect': 0.1703.7 - '@angular-devkit/core': 17.3.7 - '@angular-devkit/schematics': 17.3.7 - '@schematics/angular': 17.3.7 + '@angular-devkit/architect': 0.1800.1 + '@angular-devkit/core': 18.0.1 + '@angular-devkit/schematics': 18.0.1 + '@schematics/angular': 18.0.1 '@yarnpkg/lockfile': 1.1.0 ansi-colors: 4.1.3 ini: 4.1.2 - inquirer: 9.2.15 + inquirer: 9.2.22 jsonc-parser: 3.2.1 - npm-package-arg: 11.0.1 - npm-pick-manifest: 9.0.0 - open: 8.4.2 + npm-package-arg: 11.0.2 + npm-pick-manifest: 9.0.1 ora: 5.4.1 - pacote: 17.0.6 + pacote: 18.0.6 resolve: 1.22.8 - semver: 7.6.0 + semver: 7.6.2 symbol-observable: 4.0.0 yargs: 17.7.2 transitivePeerDependencies: @@ -468,28 +532,28 @@ packages: - supports-color dev: true - /@angular/common@17.3.8(@angular/core@17.3.8)(rxjs@7.8.1): - resolution: {integrity: sha512-HEhTibrsWmoKilyhvAFmqg4SH1hWBP3eV9Y689lmsxBQCTRAmRI2pMAoRKQ+dBcoYLE/FZhcmdHJUSl5jR7Isg==} + /@angular/common@18.0.0(@angular/core@18.0.0)(rxjs@7.8.1): + resolution: {integrity: sha512-s43ZcOhXTUlkdOPMiMtr4Pz1qKIS8nClXhaahY0JBQZYGsOSn7NR42SoEeB8/ixktfY60s3SLhizXTKMAYtOTA==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/core': 17.3.8 + '@angular/core': 18.0.0 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) rxjs: 7.8.1 tslib: 2.6.2 dev: false - /@angular/compiler-cli@17.3.8(@angular/compiler@17.3.8)(typescript@5.4.5): - resolution: {integrity: sha512-/TsbCmk7QJUEEZnRdNzi6znsPfoDJuy6vHDqcwWVEcw7y6W7DjirSFmtT9u1QwrV67KM6kOh22+RvPdGM8sPmg==} + /@angular/compiler-cli@18.0.0(@angular/compiler@18.0.0)(typescript@5.4.5): + resolution: {integrity: sha512-fy9MBSHDM/YAyrIWa15JV1ZrpuSc51HHUSA3W/UKrDqUqSfYyj11/0PeYkdIWUD/dACZSrEge3nVnYCjdyJqPA==} engines: {node: ^18.13.0 || >=20.9.0} hasBin: true peerDependencies: - '@angular/compiler': 17.3.8 - typescript: '>=5.2 <5.5' + '@angular/compiler': 18.0.0 + typescript: '>=5.4 <5.5' dependencies: - '@angular/compiler': 17.3.8(@angular/core@17.3.8) - '@babel/core': 7.23.9 + '@angular/compiler': 18.0.0(@angular/core@18.0.0) + '@babel/core': 7.24.4 '@jridgewell/sourcemap-codec': 1.4.15 chokidar: 3.6.0 convert-source-map: 1.9.0 @@ -502,20 +566,20 @@ packages: - supports-color dev: true - /@angular/compiler@17.3.8(@angular/core@17.3.8): - resolution: {integrity: sha512-7vZSh2Oa95lZdRR4MhE0icvZ7JUuYY+NSo3eTSOMZSlH5I9rtwQoSFqfoGW+35rXCzGFLOhQmZBbXkxDPDs97Q==} + /@angular/compiler@18.0.0(@angular/core@18.0.0): + resolution: {integrity: sha512-KbyjUfpdVE8+6fiHqo4PgVrGppYUhlU1JVAj6dqeUug9lQ5HBcANfiZ7p8CA2lU3gvIZ1cj+ZDKA1NEB1wvvtQ==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/core': 17.3.8 + '@angular/core': 18.0.0 peerDependenciesMeta: '@angular/core': optional: true dependencies: - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) tslib: 2.6.2 - /@angular/core@17.3.8(rxjs@7.8.1)(zone.js@0.14.5): - resolution: {integrity: sha512-+tUQ+B1yVvNbczzaWBCgJWWIgZ2z+GVJWu+UNOHHWzdqD8qpXjuIkDfnhyLNeGvvXgsqey4u6ApFf2SoFYLjuA==} + /@angular/core@18.0.0(rxjs@7.8.1)(zone.js@0.14.6): + resolution: {integrity: sha512-tpR7HIY4MJuM9ETpG15IvBr1wsI8Cyec3ZxYFe/27FKHARvxDbqIrT9QevmC6lxg1NdfD990G2XphYML1EyJ8g==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: rxjs: ^6.5.3 || ^7.4.0 @@ -523,46 +587,46 @@ packages: dependencies: rxjs: 7.8.1 tslib: 2.6.2 - zone.js: 0.14.5 + zone.js: 0.14.6 - /@angular/forms@17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8)(rxjs@7.8.1): - resolution: {integrity: sha512-ZoPJMx3O1eKliK6oEUqtKJNqrLwwOLBC5x+zbCHrwJeBB3lbgWXrrnTrFvCXpp3QVERAboZTzZ3XBmHX1o6gmw==} + /@angular/forms@18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1): + resolution: {integrity: sha512-Q+4WExdgALP7VJ5lKSYmpz8CtAFZI4f3n09JhExIZoPTLD/mqOJcxxO7wTc9lXG4jKSE8BlfgK2txKz1cQvrEQ==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/common': 17.3.8 - '@angular/core': 17.3.8 - '@angular/platform-browser': 17.3.8 + '@angular/common': 18.0.0 + '@angular/core': 18.0.0 + '@angular/platform-browser': 18.0.0 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 17.3.8(@angular/core@17.3.8)(rxjs@7.8.1) - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) - '@angular/platform-browser': 17.3.8(@angular/animations@17.3.8)(@angular/common@17.3.8)(@angular/core@17.3.8) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) + '@angular/platform-browser': 18.0.0(@angular/animations@18.0.0)(@angular/common@18.0.0)(@angular/core@18.0.0) rxjs: 7.8.1 tslib: 2.6.2 dev: false - /@angular/language-service@17.3.8: - resolution: {integrity: sha512-Vyad/h0FSgLF17STiJujlOeulRq/PSmH+5sUtd3Zsw4jcy2C0QRr4FaP5s9ZidMMAnfMMFlc5Sh/0QEJV/dbJQ==} + /@angular/language-service@18.0.0: + resolution: {integrity: sha512-L504d6ca/uExGc58gTSi0T6c1nibM7zGNKL4iWVsB2uS1Ic8B/JsKsoxtYKwBuPgcgDbyD5QhXHOR4yJORIK6g==} engines: {node: ^18.13.0 || >=20.9.0} dev: true - /@angular/material@17.3.8(@angular/animations@17.3.8)(@angular/cdk@17.3.8)(@angular/common@17.3.8)(@angular/core@17.3.8)(@angular/forms@17.3.8)(@angular/platform-browser@17.3.8)(rxjs@7.8.1): - resolution: {integrity: sha512-P15p3ixO119DvqtFPCUc+9uKlFgwrwoZtKstcdx/knFlw9c+wS5s9SZzTbB2yqjZoBZ4gC92kqbUQI2o7AUbUQ==} + /@angular/material@18.0.0(@angular/animations@18.0.0)(@angular/cdk@18.0.0)(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/forms@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1): + resolution: {integrity: sha512-4WfMcr4cX3cF7dKz+cXf9YIvhWOJGTP24rbMF5C6eC5K20IK6zgA//Qn0VSTwZkm54Tu9C7kF+CfNLeLy6i5uQ==} peerDependencies: - '@angular/animations': ^17.0.0 || ^18.0.0 - '@angular/cdk': 17.3.8 - '@angular/common': ^17.0.0 || ^18.0.0 - '@angular/core': ^17.0.0 || ^18.0.0 - '@angular/forms': ^17.0.0 || ^18.0.0 - '@angular/platform-browser': ^17.0.0 || ^18.0.0 + '@angular/animations': ^18.0.0 || ^19.0.0 + '@angular/cdk': 18.0.0 + '@angular/common': ^18.0.0 || ^19.0.0 + '@angular/core': ^18.0.0 || ^19.0.0 + '@angular/forms': ^18.0.0 || ^19.0.0 + '@angular/platform-browser': ^18.0.0 || ^19.0.0 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/animations': 17.3.8(@angular/core@17.3.8) - '@angular/cdk': 17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(rxjs@7.8.1) - '@angular/common': 17.3.8(@angular/core@17.3.8)(rxjs@7.8.1) - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) - '@angular/forms': 17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8)(rxjs@7.8.1) - '@angular/platform-browser': 17.3.8(@angular/animations@17.3.8)(@angular/common@17.3.8)(@angular/core@17.3.8) + '@angular/animations': 18.0.0(@angular/core@18.0.0) + '@angular/cdk': 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) + '@angular/forms': 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1) + '@angular/platform-browser': 18.0.0(@angular/animations@18.0.0)(@angular/common@18.0.0)(@angular/core@18.0.0) '@material/animation': 15.0.0-canary.7f224ddd4.0 '@material/auto-init': 15.0.0-canary.7f224ddd4.0 '@material/banner': 15.0.0-canary.7f224ddd4.0 @@ -606,6 +670,7 @@ packages: '@material/tab-scroller': 15.0.0-canary.7f224ddd4.0 '@material/textfield': 15.0.0-canary.7f224ddd4.0 '@material/theme': 15.0.0-canary.7f224ddd4.0 + '@material/tokens': 15.0.0-canary.7f224ddd4.0 '@material/tooltip': 15.0.0-canary.7f224ddd4.0 '@material/top-app-bar': 15.0.0-canary.7f224ddd4.0 '@material/touch-target': 15.0.0-canary.7f224ddd4.0 @@ -614,51 +679,51 @@ packages: tslib: 2.6.2 dev: false - /@angular/platform-browser-dynamic@17.3.8(@angular/common@17.3.8)(@angular/compiler@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8): - resolution: {integrity: sha512-uL6FPh+Pr9xzIjyiv3p66jteq/CytHP1+m5jOsIKa1LUwTXx0a2pmOYcZxXpNkQGR9Ir/dlbrYmKlSP3QZf7uw==} + /@angular/platform-browser-dynamic@18.0.0(@angular/common@18.0.0)(@angular/compiler@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0): + resolution: {integrity: sha512-Z7Y2qzEuFgCrkgcKPuyHGStEnZ89L3gr3SIgqoVlz4kauf0Fa70H6dxyd/RXV61OZwLXx0yt9rV5d8v+Ay+3fQ==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/common': 17.3.8 - '@angular/compiler': 17.3.8 - '@angular/core': 17.3.8 - '@angular/platform-browser': 17.3.8 + '@angular/common': 18.0.0 + '@angular/compiler': 18.0.0 + '@angular/core': 18.0.0 + '@angular/platform-browser': 18.0.0 dependencies: - '@angular/common': 17.3.8(@angular/core@17.3.8)(rxjs@7.8.1) - '@angular/compiler': 17.3.8(@angular/core@17.3.8) - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) - '@angular/platform-browser': 17.3.8(@angular/animations@17.3.8)(@angular/common@17.3.8)(@angular/core@17.3.8) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/compiler': 18.0.0(@angular/core@18.0.0) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) + '@angular/platform-browser': 18.0.0(@angular/animations@18.0.0)(@angular/common@18.0.0)(@angular/core@18.0.0) tslib: 2.6.2 dev: false - /@angular/platform-browser@17.3.8(@angular/animations@17.3.8)(@angular/common@17.3.8)(@angular/core@17.3.8): - resolution: {integrity: sha512-UMGSV3TdJqMtf2xvhbW6fx8TKJLOoHQgFxohhy3y8GvxHBu+PUyrwhovb7r03bs+muY6u4ygGCMm7Mt1TFVwfQ==} + /@angular/platform-browser@18.0.0(@angular/animations@18.0.0)(@angular/common@18.0.0)(@angular/core@18.0.0): + resolution: {integrity: sha512-fOqXQn15H33xGTGgNBUwXAg5KRpqcdsVfipFBuD1GMbjMLQAx/AagxsBavRiq3mKEdHZyQ+hI4mvaKQWOPKUOQ==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/animations': 17.3.8 - '@angular/common': 17.3.8 - '@angular/core': 17.3.8 + '@angular/animations': 18.0.0 + '@angular/common': 18.0.0 + '@angular/core': 18.0.0 peerDependenciesMeta: '@angular/animations': optional: true dependencies: - '@angular/animations': 17.3.8(@angular/core@17.3.8) - '@angular/common': 17.3.8(@angular/core@17.3.8)(rxjs@7.8.1) - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) + '@angular/animations': 18.0.0(@angular/core@18.0.0) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) tslib: 2.6.2 dev: false - /@angular/router@17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8)(rxjs@7.8.1): - resolution: {integrity: sha512-2JKTW1u1H+iNDfAmIjEiMJjQHfzb97TBk23/euIR0JuyGHjyywkrQ97HHiOEAJyy/Zpr0Vbem3HRqDqSfjTWvg==} + /@angular/router@18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1): + resolution: {integrity: sha512-bytfTypkJbHDv2QkD8jT2w63DWKicSYi5l7N+LPukb9/0pl3XYXKJ8cjlVLbiFvoo5Oz2oBFWYFucWsaPqDw3A==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/common': 17.3.8 - '@angular/core': 17.3.8 - '@angular/platform-browser': 17.3.8 + '@angular/common': 18.0.0 + '@angular/core': 18.0.0 + '@angular/platform-browser': 18.0.0 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 17.3.8(@angular/core@17.3.8)(rxjs@7.8.1) - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) - '@angular/platform-browser': 17.3.8(@angular/animations@17.3.8)(@angular/common@17.3.8)(@angular/core@17.3.8) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) + '@angular/platform-browser': 18.0.0(@angular/animations@18.0.0)(@angular/common@18.0.0)(@angular/core@18.0.0) rxjs: 7.8.1 tslib: 2.6.2 dev: false @@ -676,38 +741,15 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.23.9: - resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.5 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.23.9) - '@babel/helpers': 7.24.5 - '@babel/parser': 7.24.5 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.5 - '@babel/types': 7.24.5 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/core@7.24.0: - resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.0) + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.4) '@babel/helpers': 7.24.5 '@babel/parser': 7.24.5 '@babel/template': 7.24.0 @@ -745,16 +787,6 @@ packages: - supports-color dev: true - /@babel/generator@7.23.6: - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - dev: true - /@babel/generator@7.24.5: resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} engines: {node: '>=6.9.0'} @@ -790,57 +822,42 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.0): + /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.24.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.24.5 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.5 - debug: 4.3.4 - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.0): + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.5): resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.5 debug: 4.3.4 @@ -855,6 +872,11 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/helper-environment-visitor@7.24.6: + resolution: {integrity: sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} @@ -884,27 +906,13 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/helper-module-transforms@7.24.5(@babel/core@7.23.9): + /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.4): resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.24.5 - '@babel/helper-split-export-declaration': 7.24.5 - '@babel/helper-validator-identifier': 7.24.5 - dev: true - - /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.0): - resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.24.3 '@babel/helper-simple-access': 7.24.5 @@ -938,25 +946,30 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0): + /@babel/helper-plugin-utils@7.24.6: + resolution: {integrity: sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.24.5 dev: true - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.0): + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.24.5 '@babel/helper-optimise-call-expression': 7.22.5 @@ -976,13 +989,6 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - dev: true - /@babel/helper-split-export-declaration@7.24.5: resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} engines: {node: '>=6.9.0'} @@ -1043,862 +1049,874 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.0): + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.6(@babel/core@7.24.5): + resolution: {integrity: sha512-bYndrJ6Ph6Ar+GaB5VAc0JPoP80bQCm4qon6JEzXfRl5QZyQ8Ur1K6k7htxWmPA5z+k7JQvaMUrtXlqclWYzKw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.24.6 + '@babel/helper-plugin-utils': 7.24.6 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.0): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.0) + '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5) dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.0): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.0): + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.0): + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5): + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.0): + /@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.0): + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5): resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.0): + /@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) '@babel/helper-split-export-declaration': 7.24.5 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 '@babel/template': 7.24.0 dev: true - /@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.0): + /@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-simple-access': 7.24.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.0) + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-validator-identifier': 7.24.5 dev: true - /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.0): + /@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.0): + /@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.0): + /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.0): + /@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) dev: true - /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-runtime@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==} + /@babel/plugin-transform-runtime@7.24.3(@babel/core@7.24.5): + resolution: {integrity: sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.5 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.0) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.0): + /@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.0): + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/preset-env@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==} + /@babel/preset-env@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.24.4 - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.0) - '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.0) - '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.0) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.0) - '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0) - '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.0) - '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.0) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.0) - '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.0) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.6(@babel/core@7.24.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5) + '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5) core-js-compat: 3.37.0 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.5 '@babel/types': 7.24.5 esutils: 2.0.3 @@ -1908,8 +1926,8 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.24.0: - resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==} + /@babel/runtime@7.24.5: + resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -1961,15 +1979,6 @@ packages: engines: {node: '>=10.0.0'} dev: true - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/aix-ppc64@0.20.1: resolution: {integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==} engines: {node: '>=12'} @@ -1979,11 +1988,11 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + /@esbuild/aix-ppc64@0.21.3: + resolution: {integrity: sha512-yTgnwQpFVYfvvo4SvRFB0SwrW8YjOxEoT7wfMT7Ol5v7v5LDNvSGo67aExmxOb87nQNeWPVvaGBNfQ7BXcrZ9w==} engines: {node: '>=12'} - cpu: [arm64] - os: [android] + cpu: [ppc64] + os: [aix] requiresBuild: true dev: true optional: true @@ -1997,10 +2006,10 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + /@esbuild/android-arm64@0.21.3: + resolution: {integrity: sha512-c+ty9necz3zB1Y+d/N+mC6KVVkGUUOcm4ZmT5i/Fk5arOaY3i6CA3P5wo/7+XzV8cb4GrI/Zjp8NuOQ9Lfsosw==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [android] requiresBuild: true dev: true @@ -2015,10 +2024,10 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + /@esbuild/android-arm@0.21.3: + resolution: {integrity: sha512-bviJOLMgurLJtF1/mAoJLxDZDL6oU5/ztMHnJQRejbJrSc9FFu0QoUoFhvi6qSKJEw9y5oGyvr9fuDtzJ30rNQ==} engines: {node: '>=12'} - cpu: [x64] + cpu: [arm] os: [android] requiresBuild: true dev: true @@ -2033,11 +2042,11 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + /@esbuild/android-x64@0.21.3: + resolution: {integrity: sha512-JReHfYCRK3FVX4Ra+y5EBH1b9e16TV2OxrPAvzMsGeES0X2Ndm9ImQRI4Ket757vhc5XBOuGperw63upesclRw==} engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] + cpu: [x64] + os: [android] requiresBuild: true dev: true optional: true @@ -2051,10 +2060,10 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + /@esbuild/darwin-arm64@0.21.3: + resolution: {integrity: sha512-U3fuQ0xNiAkXOmQ6w5dKpEvXQRSpHOnbw7gEfHCRXPeTKW9sBzVck6C5Yneb8LfJm0l6le4NQfkNPnWMSlTFUQ==} engines: {node: '>=12'} - cpu: [x64] + cpu: [arm64] os: [darwin] requiresBuild: true dev: true @@ -2069,11 +2078,11 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + /@esbuild/darwin-x64@0.21.3: + resolution: {integrity: sha512-3m1CEB7F07s19wmaMNI2KANLcnaqryJxO1fXHUV5j1rWn+wMxdUYoPyO2TnAbfRZdi7ADRwJClmOwgT13qlP3Q==} engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] + cpu: [x64] + os: [darwin] requiresBuild: true dev: true optional: true @@ -2087,10 +2096,10 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + /@esbuild/freebsd-arm64@0.21.3: + resolution: {integrity: sha512-fsNAAl5pU6wmKHq91cHWQT0Fz0vtyE1JauMzKotrwqIKAswwP5cpHUCxZNSTuA/JlqtScq20/5KZ+TxQdovU/g==} engines: {node: '>=12'} - cpu: [x64] + cpu: [arm64] os: [freebsd] requiresBuild: true dev: true @@ -2105,11 +2114,11 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + /@esbuild/freebsd-x64@0.21.3: + resolution: {integrity: sha512-tci+UJ4zP5EGF4rp8XlZIdq1q1a/1h9XuronfxTMCNBslpCtmk97Q/5qqy1Mu4zIc0yswN/yP/BLX+NTUC1bXA==} engines: {node: '>=12'} - cpu: [arm64] - os: [linux] + cpu: [x64] + os: [freebsd] requiresBuild: true dev: true optional: true @@ -2123,10 +2132,10 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + /@esbuild/linux-arm64@0.21.3: + resolution: {integrity: sha512-vvG6R5g5ieB4eCJBQevyDMb31LMHthLpXTc2IGkFnPWS/GzIFDnaYFp558O+XybTmYrVjxnryru7QRleJvmZ6Q==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: true @@ -2141,10 +2150,10 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + /@esbuild/linux-arm@0.21.3: + resolution: {integrity: sha512-f6kz2QpSuyHHg01cDawj0vkyMwuIvN62UAguQfnNVzbge2uWLhA7TCXOn83DT0ZvyJmBI943MItgTovUob36SQ==} engines: {node: '>=12'} - cpu: [ia32] + cpu: [arm] os: [linux] requiresBuild: true dev: true @@ -2159,10 +2168,10 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + /@esbuild/linux-ia32@0.21.3: + resolution: {integrity: sha512-HjCWhH7K96Na+66TacDLJmOI9R8iDWDDiqe17C7znGvvE4sW1ECt9ly0AJ3dJH62jHyVqW9xpxZEU1jKdt+29A==} engines: {node: '>=12'} - cpu: [loong64] + cpu: [ia32] os: [linux] requiresBuild: true dev: true @@ -2177,10 +2186,10 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + /@esbuild/linux-loong64@0.21.3: + resolution: {integrity: sha512-BGpimEccmHBZRcAhdlRIxMp7x9PyJxUtj7apL2IuoG9VxvU/l/v1z015nFs7Si7tXUwEsvjc1rOJdZCn4QTU+Q==} engines: {node: '>=12'} - cpu: [mips64el] + cpu: [loong64] os: [linux] requiresBuild: true dev: true @@ -2195,10 +2204,10 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + /@esbuild/linux-mips64el@0.21.3: + resolution: {integrity: sha512-5rMOWkp7FQGtAH3QJddP4w3s47iT20hwftqdm7b+loe95o8JU8ro3qZbhgMRy0VuFU0DizymF1pBKkn3YHWtsw==} engines: {node: '>=12'} - cpu: [ppc64] + cpu: [mips64el] os: [linux] requiresBuild: true dev: true @@ -2213,10 +2222,10 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + /@esbuild/linux-ppc64@0.21.3: + resolution: {integrity: sha512-h0zj1ldel89V5sjPLo5H1SyMzp4VrgN1tPkN29TmjvO1/r0MuMRwJxL8QY05SmfsZRs6TF0c/IDH3u7XYYmbAg==} engines: {node: '>=12'} - cpu: [riscv64] + cpu: [ppc64] os: [linux] requiresBuild: true dev: true @@ -2231,10 +2240,10 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + /@esbuild/linux-riscv64@0.21.3: + resolution: {integrity: sha512-dkAKcTsTJ+CRX6bnO17qDJbLoW37npd5gSNtSzjYQr0svghLJYGYB0NF1SNcU1vDcjXLYS5pO4qOW4YbFama4A==} engines: {node: '>=12'} - cpu: [s390x] + cpu: [riscv64] os: [linux] requiresBuild: true dev: true @@ -2249,10 +2258,10 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + /@esbuild/linux-s390x@0.21.3: + resolution: {integrity: sha512-vnD1YUkovEdnZWEuMmy2X2JmzsHQqPpZElXx6dxENcIwTu+Cu5ERax6+Ke1QsE814Zf3c6rxCfwQdCTQ7tPuXA==} engines: {node: '>=12'} - cpu: [x64] + cpu: [s390x] os: [linux] requiresBuild: true dev: true @@ -2267,11 +2276,11 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + /@esbuild/linux-x64@0.21.3: + resolution: {integrity: sha512-IOXOIm9WaK7plL2gMhsWJd+l2bfrhfilv0uPTptoRoSb2p09RghhQQp9YY6ZJhk/kqmeRt6siRdMSLLwzuT0KQ==} engines: {node: '>=12'} cpu: [x64] - os: [netbsd] + os: [linux] requiresBuild: true dev: true optional: true @@ -2285,11 +2294,11 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + /@esbuild/netbsd-x64@0.21.3: + resolution: {integrity: sha512-uTgCwsvQ5+vCQnqM//EfDSuomo2LhdWhFPS8VL8xKf+PKTCrcT/2kPPoWMTs22aB63MLdGMJiE3f1PHvCDmUOw==} engines: {node: '>=12'} cpu: [x64] - os: [openbsd] + os: [netbsd] requiresBuild: true dev: true optional: true @@ -2303,11 +2312,11 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + /@esbuild/openbsd-x64@0.21.3: + resolution: {integrity: sha512-vNAkR17Ub2MgEud2Wag/OE4HTSI6zlb291UYzHez/psiKarp0J8PKGDnAhMBcHFoOHMXHfExzmjMojJNbAStrQ==} engines: {node: '>=12'} cpu: [x64] - os: [sunos] + os: [openbsd] requiresBuild: true dev: true optional: true @@ -2321,11 +2330,11 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + /@esbuild/sunos-x64@0.21.3: + resolution: {integrity: sha512-W8H9jlGiSBomkgmouaRoTXo49j4w4Kfbl6I1bIdO/vT0+0u4f20ko3ELzV3hPI6XV6JNBVX+8BC+ajHkvffIJA==} engines: {node: '>=12'} - cpu: [arm64] - os: [win32] + cpu: [x64] + os: [sunos] requiresBuild: true dev: true optional: true @@ -2339,10 +2348,10 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + /@esbuild/win32-arm64@0.21.3: + resolution: {integrity: sha512-EjEomwyLSCg8Ag3LDILIqYCZAq/y3diJ04PnqGRgq8/4O3VNlXyMd54j/saShaN4h5o5mivOjAzmU6C3X4v0xw==} engines: {node: '>=12'} - cpu: [ia32] + cpu: [arm64] os: [win32] requiresBuild: true dev: true @@ -2357,10 +2366,10 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + /@esbuild/win32-ia32@0.21.3: + resolution: {integrity: sha512-WGiE/GgbsEwR33++5rzjiYsKyHywE8QSZPF7Rfx9EBfK3Qn3xyR6IjyCr5Uk38Kg8fG4/2phN7sXp4NPWd3fcw==} engines: {node: '>=12'} - cpu: [x64] + cpu: [ia32] os: [win32] requiresBuild: true dev: true @@ -2375,6 +2384,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.21.3: + resolution: {integrity: sha512-xRxC0jaJWDLYvcUvjQmHCJSfMrgmUuvsoXgDeU/wTorQ1ngDdUBuFtgY3W1Pc5sprGAvZBtWdJX7RPg/iZZUqA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2436,6 +2454,11 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true + /@inquirer/figures@1.0.2: + resolution: {integrity: sha512-4F1MBwVr3c/m4bAUef6LgkvBfSjzwH+OfldgHqcuacWwSUetFebM2wi58WfG9uk1rR98U6GwLed4asLJbwdV5w==} + engines: {node: '>=18'} + dev: true + /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2527,29 +2550,60 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /@kangaroo-and-rabbit/kar-cw@0.2.2(@angular/common@17.3.8)(@angular/compiler@17.3.8)(@angular/core@17.3.8)(@angular/forms@17.3.8)(@angular/platform-browser-dynamic@17.3.8)(@angular/platform-browser@17.3.8)(@angular/router@17.3.8)(rxjs@7.8.1)(zone.js@0.14.5): - resolution: {integrity: sha512-jlzpGXavqRsinOuutq76/RPpSBjLGhmCkevQp4rI340oseIinVY0oBskkUz4mhBid8VvoWWkbI2g2CQ9uPGe/Q==, tarball: https://gitea.atria-soft.org/api/packages/kangaroo-and-rabbit/npm/%40kangaroo-and-rabbit%2Fkar-cw/-/0.2.2/kar-cw-0.2.2.tgz} + /@jsonjoy.com/base64@1.1.2(tslib@2.6.2): + resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} + engines: {node: '>=10.0'} peerDependencies: - '@angular/common': ^17.3.6 - '@angular/compiler': ^17.3.6 - '@angular/core': ^17.3.6 - '@angular/forms': ^17.3.6 - '@angular/platform-browser': ^17.3.6 - '@angular/platform-browser-dynamic': ^17.3.6 - '@angular/router': ^17.3.6 + tslib: '2' + dependencies: + tslib: 2.6.2 + dev: true + + /@jsonjoy.com/json-pack@1.0.4(tslib@2.6.2): + resolution: {integrity: sha512-aOcSN4MeAtFROysrbqG137b7gaDDSmVrl5mpo6sT/w+kcXpWnzhMjmY/Fh/sDx26NBxyIE7MB1seqLeCAzy9Sg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.6.2) + '@jsonjoy.com/util': 1.1.3(tslib@2.6.2) + hyperdyperid: 1.2.0 + thingies: 1.21.0(tslib@2.6.2) + tslib: 2.6.2 + dev: true + + /@jsonjoy.com/util@1.1.3(tslib@2.6.2): + resolution: {integrity: sha512-g//kkF4kOwUjemValCtOc/xiYzmwMRmWq3Bn+YnzOzuZLHq2PpMOxxIayN3cKbo7Ko2Np65t6D9H81IvXbXhqg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + dependencies: + tslib: 2.6.2 + dev: true + + /@kangaroo-and-rabbit/kar-cw@0.4.0(@angular/common@18.0.0)(@angular/compiler@18.0.0)(@angular/core@18.0.0)(@angular/forms@18.0.0)(@angular/platform-browser-dynamic@18.0.0)(@angular/platform-browser@18.0.0)(@angular/router@18.0.0)(rxjs@7.8.1)(zone.js@0.14.6): + resolution: {integrity: sha512-JrSDOVHhLa3YP/RCb0xPM6fBxA3cuHR8ELYg7bvnWhzo1oZaeov1vd8b19a0m9bVE5sKR8oBvYthqoXkuEVNQQ==, tarball: https://gitea.atria-soft.org/api/packages/kangaroo-and-rabbit/npm/%40kangaroo-and-rabbit%2Fkar-cw/-/0.4.0/kar-cw-0.4.0.tgz} + peerDependencies: + '@angular/common': ^18.0.0 + '@angular/compiler': ^18.0.0 + '@angular/core': ^18.0.0 + '@angular/forms': ^18.0.0 + '@angular/platform-browser': ^18.0.0 + '@angular/platform-browser-dynamic': ^18.0.0 + '@angular/router': ^18.0.0 rxjs: ~7.8.1 zone.js: ~0.14.5 dependencies: - '@angular/common': 17.3.8(@angular/core@17.3.8)(rxjs@7.8.1) - '@angular/compiler': 17.3.8(@angular/core@17.3.8) - '@angular/core': 17.3.8(rxjs@7.8.1)(zone.js@0.14.5) - '@angular/forms': 17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8)(rxjs@7.8.1) - '@angular/platform-browser': 17.3.8(@angular/animations@17.3.8)(@angular/common@17.3.8)(@angular/core@17.3.8) - '@angular/platform-browser-dynamic': 17.3.8(@angular/common@17.3.8)(@angular/compiler@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8) - '@angular/router': 17.3.8(@angular/common@17.3.8)(@angular/core@17.3.8)(@angular/platform-browser@17.3.8)(rxjs@7.8.1) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/compiler': 18.0.0(@angular/core@18.0.0) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.6) + '@angular/forms': 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1) + '@angular/platform-browser': 18.0.0(@angular/animations@18.0.0)(@angular/common@18.0.0)(@angular/core@18.0.0) + '@angular/platform-browser-dynamic': 18.0.0(@angular/common@18.0.0)(@angular/compiler@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0) + '@angular/router': 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1) rxjs: 7.8.1 tslib: 2.6.2 - zone.js: 0.14.5 + zone.js: 0.14.6 dev: false /@leichtgewicht/ip-codec@2.0.5: @@ -2563,6 +2617,54 @@ packages: call-bind: 1.0.7 dev: true + /@lmdb/lmdb-darwin-arm64@3.0.8: + resolution: {integrity: sha512-+lFwFvU+zQ9zVIFETNtmW++syh3Ps5JS8MPQ8zOYtQZoU+dTR8ivWHTaE2QVk1JG2payGDLUAvpndLAjGMdeeA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-darwin-x64@3.0.8: + resolution: {integrity: sha512-T98rfsgfdQMS5/mqdsPb6oHSJ+iBYNa+PQDLtXLh6rzTEBsYP9x2uXxIj6VS4qXVDWXVi8rv85NCOG+UBOsHXQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-linux-arm64@3.0.8: + resolution: {integrity: sha512-uEBGCQIChsixpykL0pjCxfF64btv64vzsb1NoM5u0qvabKvKEvErhXGoqovyldDu9u1T/fswD8Kf6ih0vJEvDQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-linux-arm@3.0.8: + resolution: {integrity: sha512-gVNCi3bYWatdPMeFpFjuZl6bzVL55FkeZU3sPeU+NsMRXC+Zl3qOx3M6cM4OMlJWbhHjYjf2b8q83K0mczaiWQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-linux-x64@3.0.8: + resolution: {integrity: sha512-6v0B4sa9ulNezmDZtVpLjNHmA0qZzUl3001YJ2RF0naxsuv/Jq/xEwNYpOzfcdizHfpCE0oBkWzk/r+Slr+0zw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-win32-x64@3.0.8: + resolution: {integrity: sha512-lDLGRIMqdwYD39vinwNqqZUxCdL2m2iIdn+0HyQgIHEiT0g5rIAlzaMKzoGWon5NQumfxXFk9y0DarttkR7C1w==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@material/animation@15.0.0-canary.7f224ddd4.0: resolution: {integrity: sha512-1GSJaPKef+7HRuV+HusVZHps64cmZuOItDbt40tjJVaikcaZvwmHlcTxRIqzcRoCdt5ZKHh3NoO7GB9Khg4Jnw==} dependencies: @@ -3215,17 +3317,65 @@ packages: tslib: 2.6.2 dev: false - /@ngtools/webpack@17.3.7(@angular/compiler-cli@17.3.8)(typescript@5.4.5)(webpack@5.90.3): - resolution: {integrity: sha512-kQNS68jsPQlaWAnKcVeFKNHp6K90uQANvq+9oXb/i+JnYWzuBsHzn2r8bVdMmvjd1HdBRiGtg767XRk3u+jgRw==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2: + resolution: {integrity: sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2: + resolution: {integrity: sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2: + resolution: {integrity: sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2: + resolution: {integrity: sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2: + resolution: {integrity: sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2: + resolution: {integrity: sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@ngtools/webpack@18.0.1(@angular/compiler-cli@18.0.0)(typescript@5.4.5)(webpack@5.91.0): + resolution: {integrity: sha512-uetWaviDUK3lgjKxN/FOxhEuZ5O3PVY8vWFAv1LkPSLFJbcKAQZlYbKnrn7uvQzyrkUc3W5+bYEGx2OcXMpb9g==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - '@angular/compiler-cli': ^17.0.0 - typescript: '>=5.2 <5.5' + '@angular/compiler-cli': ^18.0.0 + typescript: '>=5.4 <5.5' webpack: ^5.54.0 dependencies: - '@angular/compiler-cli': 17.3.8(@angular/compiler@17.3.8)(typescript@5.4.5) + '@angular/compiler-cli': 18.0.0(@angular/compiler@18.0.0)(typescript@5.4.5) typescript: 5.4.5 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.91.0(esbuild@0.21.3) dev: true /@nodelib/fs.scandir@2.1.5: @@ -3299,11 +3449,11 @@ packages: dependencies: '@npmcli/promise-spawn': 7.0.1 lru-cache: 10.2.2 - npm-pick-manifest: 9.0.0 + npm-pick-manifest: 9.0.1 proc-log: 4.2.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.6.0 + semver: 7.6.2 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -3342,7 +3492,7 @@ packages: json-parse-even-better-errors: 3.0.1 normalize-package-data: 6.0.0 proc-log: 4.2.0 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - bluebird dev: true @@ -3361,8 +3511,8 @@ packages: which: 4.0.0 dev: true - /@npmcli/redact@1.1.0: - resolution: {integrity: sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==} + /@npmcli/redact@2.0.0: + resolution: {integrity: sha512-SEjCPAVHWYUIQR+Yn03kJmrJjZDtJLYpj300m3HV9OTRZNpC5YpbMsM3eTkECyT4aWj8lDr9WeY6TWefpubtYQ==} engines: {node: ^16.14.0 || >=18.0.0} dev: true @@ -3380,14 +3530,15 @@ packages: - supports-color dev: true - /@npmcli/run-script@7.0.4: - resolution: {integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==} + /@npmcli/run-script@8.1.0: + resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 '@npmcli/package-json': 5.1.0 '@npmcli/promise-spawn': 7.0.1 node-gyp: 10.1.0 + proc-log: 4.2.0 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -3527,12 +3678,12 @@ packages: dev: true optional: true - /@playwright/test@1.44.0: - resolution: {integrity: sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg==} + /@playwright/test@1.44.1: + resolution: {integrity: sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==} engines: {node: '>=16'} hasBin: true dependencies: - playwright: 1.44.0 + playwright: 1.44.1 dev: true /@pnpm/config.env-replace@1.1.0: @@ -3684,12 +3835,12 @@ packages: dev: true optional: true - /@schematics/angular@17.3.7: - resolution: {integrity: sha512-HaJroKaberriP4wFefTTSVFrtU9GMvnG3I6ELbOteOyKMH7o2V91FXGJDJ5KnIiLRlBmC30G3r+9Ybc/rtAYkw==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@schematics/angular@18.0.1: + resolution: {integrity: sha512-ho9QOUiS4wqKRzbKFWUGU8iecfcdrjnrjBXbzJEQ6GNIOz7iDniLMNXYRP7P+xanWQGLPDIOVR2lGaryPdTXDw==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 17.3.7 - '@angular-devkit/schematics': 17.3.7 + '@angular-devkit/core': 18.0.1 + '@angular-devkit/schematics': 18.0.1 jsonc-parser: 3.2.1 transitivePeerDependencies: - chokidar @@ -3964,18 +4115,14 @@ packages: resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} dev: true - /@types/retry@0.12.0: - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + /@types/retry@0.12.2: + resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} dev: true /@types/semver-utils@1.1.3: resolution: {integrity: sha512-T+YwkslhsM+CeuhYUxyAjWm7mJ5am/K10UX40RuA6k6Lc7eGtq8iY2xOzy7Vq0GOqhl/xZl5l2FwURZMTPTUww==} dev: true - /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true - /@types/send@0.17.4: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: @@ -4023,16 +4170,16 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/scope-manager@7.8.0: - resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} + /@typescript-eslint/scope-manager@7.11.0: + resolution: {integrity: sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/types': 7.11.0 + '@typescript-eslint/visitor-keys': 7.11.0 dev: true - /@typescript-eslint/type-utils@7.8.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} + /@typescript-eslint/type-utils@7.11.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -4041,8 +4188,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) @@ -4051,13 +4198,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@7.8.0: - resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} + /@typescript-eslint/types@7.11.0: + resolution: {integrity: sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==} engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5): - resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} + /@typescript-eslint/typescript-estree@7.11.0(typescript@5.4.5): + resolution: {integrity: sha512-cxkhZ2C/iyi3/6U9EPc5y+a6csqHItndvN/CzbNXTNrsC3/ASoYQZEt9uMaEp+xFNjasqQyszp5TumAVKKvJeQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -4065,8 +4212,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/types': 7.11.0 + '@typescript-eslint/visitor-keys': 7.11.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -4078,30 +4225,27 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} + /@typescript-eslint/utils@7.11.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-xlAWwPleNRHwF37AhrZurOxA1wyXowW4PqVXZVUNCLjB48CqdPJoJWkrpH2nij9Q3Lb7rtWindtoXwxjxlKKCA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.11.0 + '@typescript-eslint/types': 7.11.0 + '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) eslint: 8.57.0 - semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@7.8.0: - resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} + /@typescript-eslint/visitor-keys@7.11.0: + resolution: {integrity: sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/types': 7.11.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4109,13 +4253,13 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-basic-ssl@1.1.0(vite@5.1.7): + /@vitejs/plugin-basic-ssl@1.1.0(vite@5.2.11): resolution: {integrity: sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==} engines: {node: '>=14.6.0'} peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: - vite: 5.1.7(less@4.2.0)(sass@1.71.1)(terser@5.29.1) + vite: 5.2.11(less@4.2.0)(sass@1.77.2)(terser@5.31.0) dev: true /@webassemblyjs/ast@1.12.1: @@ -4342,6 +4486,17 @@ packages: ajv: 8.12.0 dev: true + /ajv-formats@3.0.1(ajv@8.13.0): + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.13.0 + dev: true + /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: @@ -4377,6 +4532,15 @@ packages: uri-js: 4.4.1 dev: true + /ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + /ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: @@ -4488,8 +4652,8 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true - /autoprefixer@10.4.18(postcss@8.4.35): - resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} + /autoprefixer@10.4.19(postcss@8.4.38): + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -4500,14 +4664,14 @@ packages: fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.35 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: true /axios@1.6.8: resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -4520,17 +4684,17 @@ packages: dequal: 2.0.3 dev: true - /babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.90.3): + /babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.91.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.91.0(esbuild@0.21.3) dev: true /babel-plugin-istanbul@6.1.1: @@ -4546,38 +4710,38 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.0): + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.5): resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.24.4 - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0): - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) core-js-compat: 3.37.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.5): + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) transitivePeerDependencies: - supports-color dev: true @@ -4709,6 +4873,13 @@ packages: semver: 7.6.0 dev: true + /bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + dependencies: + run-applescript: 7.0.0 + dev: true + /bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} @@ -5117,7 +5288,7 @@ packages: is-what: 3.14.1 dev: true - /copy-webpack-plugin@11.0.0(webpack@5.90.3): + /copy-webpack-plugin@11.0.0(webpack@5.91.0): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -5129,7 +5300,7 @@ packages: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.91.0(esbuild@0.21.3) dev: true /core-js-compat@3.37.0: @@ -5174,7 +5345,7 @@ packages: dom-serializer: 2.0.0 domhandler: 5.0.3 htmlparser2: 8.0.2 - postcss: 8.4.35 + postcss: 8.4.38 postcss-media-query-parser: 0.2.3 dev: true @@ -5194,27 +5365,27 @@ packages: type-fest: 1.4.0 dev: true - /css-loader@6.10.0(webpack@5.90.3): - resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==} - engines: {node: '>= 12.13.0'} + /css-loader@7.1.1(webpack@5.91.0): + resolution: {integrity: sha512-OxIR5P2mjO1PSXk44bWuQ8XtMK4dpEqpIyERCx3ewOo3I8EmbcxMPUc5ScLtQfgXtOojoMv57So4V/C02HQLsw==} + engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 + webpack: ^5.27.0 peerDependenciesMeta: '@rspack/core': optional: true webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.35) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.35) - postcss-modules-scope: 3.2.0(postcss@8.4.35) - postcss-modules-values: 4.0.0(postcss@8.4.35) + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 - semver: 7.6.0 - webpack: 5.90.3(esbuild@0.20.1) + semver: 7.6.2 + webpack: 5.91.0(esbuild@0.21.3) dev: true /css-select@5.1.0: @@ -5286,6 +5457,19 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + dev: true + + /default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + dev: true + /default-gateway@6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} @@ -5318,6 +5502,11 @@ packages: engines: {node: '>=8'} dev: true + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: true + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -5347,6 +5536,11 @@ packages: engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: true + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + dev: true + /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} dev: true @@ -5578,43 +5772,12 @@ packages: resolution: {integrity: sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==} dev: true - /esbuild-wasm@0.20.1: - resolution: {integrity: sha512-6v/WJubRsjxBbQdz6izgvx7LsVFvVaGmSdwrFHmEzoVgfXL89hkKPoQHsnVI2ngOkcBUQT9kmAM1hVL1k/Av4A==} + /esbuild-wasm@0.21.3: + resolution: {integrity: sha512-DMOV+eeVra0yVq3XIojfczdEQsz+RiFnpEj7lqs8Gux9mlTpN7yIbw0a4KzLspn0Uhw6UVEH3nUAidSqc/rcQg==} engines: {node: '>=12'} hasBin: true dev: true - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - dev: true - /esbuild@0.20.1: resolution: {integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==} engines: {node: '>=12'} @@ -5646,6 +5809,37 @@ packages: '@esbuild/win32-x64': 0.20.1 dev: true + /esbuild@0.21.3: + resolution: {integrity: sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.3 + '@esbuild/android-arm': 0.21.3 + '@esbuild/android-arm64': 0.21.3 + '@esbuild/android-x64': 0.21.3 + '@esbuild/darwin-arm64': 0.21.3 + '@esbuild/darwin-x64': 0.21.3 + '@esbuild/freebsd-arm64': 0.21.3 + '@esbuild/freebsd-x64': 0.21.3 + '@esbuild/linux-arm': 0.21.3 + '@esbuild/linux-arm64': 0.21.3 + '@esbuild/linux-ia32': 0.21.3 + '@esbuild/linux-loong64': 0.21.3 + '@esbuild/linux-mips64el': 0.21.3 + '@esbuild/linux-ppc64': 0.21.3 + '@esbuild/linux-riscv64': 0.21.3 + '@esbuild/linux-s390x': 0.21.3 + '@esbuild/linux-x64': 0.21.3 + '@esbuild/netbsd-x64': 0.21.3 + '@esbuild/openbsd-x64': 0.21.3 + '@esbuild/sunos-x64': 0.21.3 + '@esbuild/win32-arm64': 0.21.3 + '@esbuild/win32-ia32': 0.21.3 + '@esbuild/win32-x64': 0.21.3 + dev: true + /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -6038,7 +6232,7 @@ packages: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: true - /follow-redirects@1.15.6: + /follow-redirects@1.15.6(debug@4.3.4): resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: @@ -6046,6 +6240,8 @@ packages: peerDependenciesMeta: debug: optional: true + dependencies: + debug: 4.3.4 dev: true /foreground-child@3.1.1: @@ -6125,10 +6321,6 @@ packages: minipass: 7.0.4 dev: true - /fs-monkey@1.0.5: - resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} - dev: true - /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true @@ -6247,6 +6439,7 @@ packages: /glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -6490,7 +6683,7 @@ packages: dependencies: '@types/express': 4.17.21 '@types/http-proxy': 1.17.14 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.4) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.5 @@ -6498,12 +6691,26 @@ packages: - debug dev: true - /http-proxy@1.18.1: + /http-proxy-middleware@3.0.0: + resolution: {integrity: sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/http-proxy': 1.17.14 + debug: 4.3.4 + http-proxy: 1.18.1(debug@4.3.4) + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - supports-color + dev: true + + /http-proxy@1.18.1(debug@4.3.4): resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6 + follow-redirects: 1.15.6(debug@4.3.4) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -6548,6 +6755,11 @@ packages: ms: 2.1.3 dev: true + /hyperdyperid@1.2.0: + resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} + engines: {node: '>=10.18'} + dev: true + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -6562,13 +6774,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.35): + /icss-utils@5.1.0(postcss@8.4.38): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.38 dev: true /ieee754@1.2.1: @@ -6655,17 +6867,17 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /inquirer@9.2.15: - resolution: {integrity: sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==} + /inquirer@9.2.22: + resolution: {integrity: sha512-SqLLa/Oe5rZUagTR9z+Zd6izyatHglbmbvVofo1KzuVB54YHleWzeHNLoR7FOICGOeQSqeLh1cordb3MzhGcEw==} engines: {node: '>=18'} dependencies: + '@inquirer/figures': 1.0.2 '@ljharb/through': 2.3.13 ansi-escapes: 4.3.2 chalk: 5.3.0 cli-cursor: 3.1.0 cli-width: 4.1.0 external-editor: 3.1.0 - figures: 3.2.0 lodash: 4.17.21 mute-stream: 1.0.0 ora: 5.4.1 @@ -6724,6 +6936,12 @@ packages: hasBin: true dev: true + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: true + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -6741,6 +6959,14 @@ packages: is-extglob: 2.1.1 dev: true + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + /is-installed-globally@0.4.0: resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} engines: {node: '>=10'} @@ -6758,6 +6984,11 @@ packages: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} dev: true + /is-network-error@1.1.0: + resolution: {integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==} + engines: {node: '>=16'} + dev: true + /is-npm@6.0.0: resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6815,6 +7046,13 @@ packages: is-docker: 2.2.1 dev: true + /is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + dependencies: + is-inside-container: 1.0.0 + dev: true + /is-yarn-global@0.4.1: resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} engines: {node: '>=12'} @@ -7199,7 +7437,7 @@ packages: dom-serialize: 2.2.1 glob: 7.2.3 graceful-fs: 4.2.11 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.4) isbinaryfile: 4.0.10 lodash: 4.17.21 log4js: 6.9.1 @@ -7237,11 +7475,6 @@ packages: engines: {node: '>=6'} dev: true - /klona@2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} - dev: true - /latest-version@7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} @@ -7256,16 +7489,21 @@ packages: shell-quote: 1.8.1 dev: true - /less-loader@11.1.0(less@4.2.0)(webpack@5.90.3): - resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} - engines: {node: '>= 14.15.0'} + /less-loader@12.2.0(less@4.2.0)(webpack@5.91.0): + resolution: {integrity: sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==} + engines: {node: '>= 18.12.0'} peerDependencies: + '@rspack/core': 0.x || 1.x less: ^3.5.0 || ^4.0.0 webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true dependencies: - klona: 2.0.6 less: 4.2.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.91.0(esbuild@0.21.3) dev: true /less@4.2.0: @@ -7294,7 +7532,7 @@ packages: type-check: 0.4.0 dev: true - /license-webpack-plugin@4.0.2(webpack@5.90.3): + /license-webpack-plugin@4.0.2(webpack@5.91.0): resolution: {integrity: sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==} peerDependencies: webpack: '*' @@ -7302,7 +7540,7 @@ packages: webpack: optional: true dependencies: - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.91.0(esbuild@0.21.3) webpack-sources: 3.2.3 dev: true @@ -7315,6 +7553,25 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /lmdb@3.0.8: + resolution: {integrity: sha512-9rp8JT4jPhCRJUL7vRARa2N06OLSYzLwQsEkhC6Qu5XbcLyM/XBLMzDlgS/K7l7c5CdURLdDk9uE+hPFIogHTQ==} + hasBin: true + requiresBuild: true + dependencies: + msgpackr: 1.10.2 + node-addon-api: 6.1.0 + node-gyp-build-optional-packages: 5.1.1 + ordered-binary: 1.5.1 + weak-lru-cache: 1.2.2 + optionalDependencies: + '@lmdb/lmdb-darwin-arm64': 3.0.8 + '@lmdb/lmdb-darwin-x64': 3.0.8 + '@lmdb/lmdb-linux-arm': 3.0.8 + '@lmdb/lmdb-linux-arm64': 3.0.8 + '@lmdb/lmdb-linux-x64': 3.0.8 + '@lmdb/lmdb-win32-x64': 3.0.8 + dev: true + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -7416,9 +7673,8 @@ packages: engines: {node: '>=12'} dev: true - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} + /magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true @@ -7510,11 +7766,14 @@ packages: engines: {node: '>= 0.6'} dev: true - /memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + /memfs@4.9.2: + resolution: {integrity: sha512-f16coDZlTG1jskq3mxarwB+fGRrd0uXWt+o1WIhRfOwbXQZqUDsTVxQBFK9JjRQHblg8eAG2JSbprDXKjc7ijQ==} engines: {node: '>= 4.0.0'} dependencies: - fs-monkey: 1.0.5 + '@jsonjoy.com/json-pack': 1.0.4(tslib@2.6.2) + '@jsonjoy.com/util': 1.1.3(tslib@2.6.2) + sonic-forest: 1.0.3(tslib@2.6.2) + tslib: 2.6.2 dev: true /merge-descriptors@1.0.1: @@ -7582,15 +7841,15 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /mini-css-extract-plugin@2.8.1(webpack@5.90.3): - resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==} + /mini-css-extract-plugin@2.9.0(webpack@5.91.0): + resolution: {integrity: sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.91.0(esbuild@0.21.3) dev: true /minimalistic-assert@1.0.1: @@ -7747,6 +8006,28 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true + /msgpackr-extract@3.0.2: + resolution: {integrity: sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==} + hasBin: true + requiresBuild: true + dependencies: + node-gyp-build-optional-packages: 5.0.7 + optionalDependencies: + '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.2 + '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.2 + '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.2 + '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.2 + '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.2 + '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.2 + dev: true + optional: true + + /msgpackr@1.10.2: + resolution: {integrity: sha512-L60rsPynBvNE+8BWipKKZ9jHcSGbtyJYIwjRq0VrIvQ08cRjntGXJYW/tmciZ2IHWIY8WEW32Qa2xbh5+SKBZA==} + optionalDependencies: + msgpackr-extract: 3.0.2 + dev: true + /multicast-dns@7.2.5: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true @@ -7806,11 +8087,29 @@ packages: dev: true optional: true + /node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + dev: true + /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} dev: true + /node-gyp-build-optional-packages@5.0.7: + resolution: {integrity: sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /node-gyp-build-optional-packages@5.1.1: + resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} + hasBin: true + dependencies: + detect-libc: 2.0.3 + dev: true + /node-gyp-build@4.8.0: resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} hasBin: true @@ -7830,7 +8129,7 @@ packages: make-fetch-happen: 13.0.0 nopt: 7.2.0 proc-log: 3.0.0 - semver: 7.6.0 + semver: 7.6.2 tar: 6.2.1 which: 4.0.0 transitivePeerDependencies: @@ -7898,7 +8197,7 @@ packages: dependencies: hosted-git-info: 7.0.1 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-license: 3.0.4 dev: true @@ -7989,13 +8288,13 @@ packages: validate-npm-package-name: 5.0.0 dev: true - /npm-package-arg@11.0.1: - resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} + /npm-package-arg@11.0.2: + resolution: {integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: hosted-git-info: 7.0.1 - proc-log: 3.0.0 - semver: 7.6.0 + proc-log: 4.2.0 + semver: 7.6.2 validate-npm-package-name: 5.0.0 dev: true @@ -8023,14 +8322,14 @@ packages: semver: 7.6.0 dev: true - /npm-pick-manifest@9.0.0: - resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} + /npm-pick-manifest@9.0.1: + resolution: {integrity: sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.1 - semver: 7.6.0 + npm-package-arg: 11.0.2 + semver: 7.6.2 dev: true /npm-registry-fetch@14.0.5: @@ -8048,17 +8347,17 @@ packages: - supports-color dev: true - /npm-registry-fetch@16.2.1: - resolution: {integrity: sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA==} + /npm-registry-fetch@17.0.1: + resolution: {integrity: sha512-fLu9MTdZTlJAHUek/VLklE6EpIiP3VZpTiuN7OOMCt2Sd67NCpSEetMaxHHEZiZxllp8ZLsUpvbEszqTFEc+wA==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@npmcli/redact': 1.1.0 + '@npmcli/redact': 2.0.0 make-fetch-happen: 13.0.0 minipass: 7.0.4 minipass-fetch: 3.0.4 minipass-json-stream: 1.0.1 minizlib: 2.1.2 - npm-package-arg: 11.0.1 + npm-package-arg: 11.0.2 proc-log: 4.2.0 transitivePeerDependencies: - supports-color @@ -8194,6 +8493,16 @@ packages: mimic-fn: 2.1.0 dev: true + /open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + dev: true + /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -8244,6 +8553,10 @@ packages: wcwidth: 1.0.1 dev: true + /ordered-binary@1.5.1: + resolution: {integrity: sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==} + dev: true + /os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -8303,11 +8616,12 @@ packages: aggregate-error: 3.1.0 dev: true - /p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} + /p-retry@6.2.0: + resolution: {integrity: sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==} + engines: {node: '>=16.17'} dependencies: - '@types/retry': 0.12.0 + '@types/retry': 0.12.2 + is-network-error: 1.1.0 retry: 0.13.1 dev: true @@ -8354,26 +8668,25 @@ packages: - supports-color dev: true - /pacote@17.0.6: - resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} + /pacote@18.0.6: + resolution: {integrity: sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==} engines: {node: ^16.14.0 || >=18.0.0} hasBin: true dependencies: '@npmcli/git': 5.0.6 '@npmcli/installed-package-contents': 2.1.0 + '@npmcli/package-json': 5.1.0 '@npmcli/promise-spawn': 7.0.1 - '@npmcli/run-script': 7.0.4 + '@npmcli/run-script': 8.1.0 cacache: 18.0.2 fs-minipass: 3.0.3 minipass: 7.0.4 - npm-package-arg: 11.0.1 + npm-package-arg: 11.0.2 npm-packlist: 8.0.2 - npm-pick-manifest: 9.0.0 - npm-registry-fetch: 16.2.1 - proc-log: 3.0.0 + npm-pick-manifest: 9.0.1 + npm-registry-fetch: 17.0.1 + proc-log: 4.2.0 promise-retry: 2.0.1 - read-package-json: 7.0.0 - read-package-json-fast: 3.0.2 sigstore: 2.3.0 ssri: 10.0.5 tar: 6.2.1 @@ -8484,8 +8797,8 @@ packages: engines: {node: '>=8.6'} dev: true - /picomatch@4.0.1: - resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} + /picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} dev: true @@ -8495,8 +8808,8 @@ packages: requiresBuild: true dev: true - /piscina@4.4.0: - resolution: {integrity: sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg==} + /piscina@4.5.0: + resolution: {integrity: sha512-iBaLWI56PFP81cfBSomWTmhOo9W2/yhIOL+Tk8O1vBCpK39cM0tGxB+wgYjG31qq4ohGvysfXSdnj8h7g4rZxA==} optionalDependencies: nice-napi: 1.0.2 dev: true @@ -8508,23 +8821,23 @@ packages: find-up: 6.3.0 dev: true - /playwright-core@1.44.0: - resolution: {integrity: sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==} + /playwright-core@1.44.1: + resolution: {integrity: sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==} engines: {node: '>=16'} hasBin: true dev: true - /playwright@1.44.0: - resolution: {integrity: sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==} + /playwright@1.44.1: + resolution: {integrity: sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==} engines: {node: '>=16'} hasBin: true dependencies: - playwright-core: 1.44.0 + playwright-core: 1.44.1 optionalDependencies: fsevents: 2.3.2 dev: true - /postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3): + /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -8539,9 +8852,9 @@ packages: dependencies: cosmiconfig: 9.0.0(typescript@5.4.5) jiti: 1.21.0 - postcss: 8.4.35 - semver: 7.6.0 - webpack: 5.90.3(esbuild@0.20.1) + postcss: 8.4.38 + semver: 7.6.2 + webpack: 5.91.0(esbuild@0.21.3) transitivePeerDependencies: - typescript dev: true @@ -8550,45 +8863,45 @@ packages: resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} dev: true - /postcss-modules-extract-imports@3.1.0(postcss@8.4.35): + /postcss-modules-extract-imports@3.1.0(postcss@8.4.38): resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.38 dev: true - /postcss-modules-local-by-default@4.0.5(postcss@8.4.35): + /postcss-modules-local-by-default@4.0.5(postcss@8.4.38): resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.2.0(postcss@8.4.35): + /postcss-modules-scope@3.2.0(postcss@8.4.38): resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.38 postcss-selector-parser: 6.0.16 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.35): + /postcss-modules-values@4.0.0(postcss@8.4.38): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 dev: true /postcss-selector-parser@6.0.16: @@ -8603,8 +8916,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -8795,16 +9108,6 @@ packages: npm-normalize-package-bin: 3.0.1 dev: true - /read-package-json@7.0.0: - resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - glob: 10.3.12 - json-parse-even-better-errors: 3.0.1 - normalize-package-data: 6.0.0 - npm-normalize-package-bin: 3.0.1 - dev: true - /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: @@ -8855,7 +9158,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.5 dev: true /regex-parser@2.3.0: @@ -8935,7 +9238,7 @@ packages: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.4.35 + postcss: 8.4.38 source-map: 0.6.1 dev: true @@ -9030,6 +9333,11 @@ packages: fsevents: 2.3.3 dev: true + /run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + dev: true + /run-async@3.0.0: resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} engines: {node: '>=0.12.0'} @@ -9062,8 +9370,8 @@ packages: resolution: {integrity: sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==} dev: false - /sass-loader@14.1.1(sass@1.71.1)(webpack@5.90.3): - resolution: {integrity: sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==} + /sass-loader@14.2.1(sass@1.77.2)(webpack@5.91.0): + resolution: {integrity: sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -9084,12 +9392,12 @@ packages: optional: true dependencies: neo-async: 2.6.2 - sass: 1.71.1 - webpack: 5.90.3(esbuild@0.20.1) + sass: 1.77.2 + webpack: 5.91.0(esbuild@0.21.3) dev: true - /sass@1.71.1: - resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} + /sass@1.77.2: + resolution: {integrity: sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -9165,6 +9473,12 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -9408,12 +9722,22 @@ packages: smart-buffer: 4.2.0 dev: true + /sonic-forest@1.0.3(tslib@2.6.2): + resolution: {integrity: sha512-dtwajos6IWMEWXdEbW1IkEkyL2gztCAgDplRIX+OT5aRKnEd5e7r7YCxRgXZdhRP1FBdOBf8axeTPhzDv8T4wQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + dependencies: + tree-dump: 1.0.1(tslib@2.6.2) + tslib: 2.6.2 + dev: true + /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} dev: true - /source-map-loader@5.0.0(webpack@5.90.3): + /source-map-loader@5.0.0(webpack@5.91.0): resolution: {integrity: sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -9421,7 +9745,7 @@ packages: dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.91.0(esbuild@0.21.3) dev: true /source-map-support@0.5.21: @@ -9684,7 +10008,7 @@ packages: yallist: 4.0.0 dev: true - /terser-webpack-plugin@5.3.10(esbuild@0.20.1)(webpack@5.90.3): + /terser-webpack-plugin@5.3.10(esbuild@0.21.3)(webpack@5.91.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -9701,16 +10025,16 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - esbuild: 0.20.1 + esbuild: 0.21.3 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.29.1 - webpack: 5.90.3(esbuild@0.20.1) + terser: 5.31.0 + webpack: 5.91.0(esbuild@0.21.3) dev: true - /terser@5.29.1: - resolution: {integrity: sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==} + /terser@5.31.0: + resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==} engines: {node: '>=10'} hasBin: true dependencies: @@ -9733,6 +10057,15 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /thingies@1.21.0(tslib@2.6.2): + resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 + dependencies: + tslib: 2.6.2 + dev: true + /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -9770,6 +10103,15 @@ packages: engines: {node: '>=0.6'} dev: true + /tree-dump@1.0.1(tslib@2.6.2): + resolution: {integrity: sha512-WCkcRBVPSlHHq1dc/px9iOfqklvzCbdRwvlNfxGZsrHqf6aZttfPrd7DJTt6oR10dwUfpFFQeVTkPbBIZxX/YA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + dependencies: + tslib: 2.6.2 + dev: true + /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -9877,9 +10219,9 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - /undici@6.11.1: - resolution: {integrity: sha512-KyhzaLJnV1qa3BSHdj4AZ2ndqI0QWPxYzaIOio0WzcEJB9gvuysprJSLtpvc2D9mhR9jPDUk7xlJlZbH2KR5iw==} - engines: {node: '>=18.0'} + /undici@6.18.0: + resolution: {integrity: sha512-nT8jjv/fE9Et1ilR6QoW8ingRTY2Pp4l2RUrdzV5Yz35RJDrtPc1DXvuNqcpsJSGIRHFdt3YKKktTzJA6r0fTA==} + engines: {node: '>=18.17'} dev: true /unicode-canonical-property-names-ecmascript@2.0.0: @@ -10030,8 +10372,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite@5.1.7(less@4.2.0)(sass@1.71.1)(terser@5.29.1): - resolution: {integrity: sha512-sgnEEFTZYMui/sTlH1/XEnVNHMujOahPLGMxn1+5sIT45Xjng1Ec1K78jRP15dSmVgg5WBin9yO81j3o9OxofA==} + /vite@5.2.11(less@4.2.0)(sass@1.77.2)(terser@5.31.0): + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -10058,12 +10400,12 @@ packages: terser: optional: true dependencies: - esbuild: 0.19.12 + esbuild: 0.20.1 less: 4.2.0 - postcss: 8.4.35 + postcss: 8.4.38 rollup: 4.17.1 - sass: 1.71.1 - terser: 5.29.1 + sass: 1.77.2 + terser: 5.31.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -10073,8 +10415,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + /watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 @@ -10093,23 +10435,13 @@ packages: defaults: 1.0.4 dev: true - /webpack-dev-middleware@5.3.4(webpack@5.90.3): - resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - dependencies: - colorette: 2.0.20 - memfs: 3.5.3 - mime-types: 2.1.35 - range-parser: 1.2.1 - schema-utils: 4.2.0 - webpack: 5.90.3(esbuild@0.20.1) + /weak-lru-cache@1.2.2: + resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==} dev: true - /webpack-dev-middleware@6.1.2(webpack@5.90.3): - resolution: {integrity: sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==} - engines: {node: '>= 14.15.0'} + /webpack-dev-middleware@7.2.1(webpack@5.91.0): + resolution: {integrity: sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==} + engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.0.0 peerDependenciesMeta: @@ -10117,19 +10449,20 @@ packages: optional: true dependencies: colorette: 2.0.20 - memfs: 3.5.3 + memfs: 4.9.2 mime-types: 2.1.35 + on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.91.0(esbuild@0.21.3) dev: true - /webpack-dev-server@4.15.1(webpack@5.90.3): - resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} - engines: {node: '>= 12.13.0'} + /webpack-dev-server@5.0.4(webpack@5.91.0): + resolution: {integrity: sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==} + engines: {node: '>= 18.12.0'} hasBin: true peerDependencies: - webpack: ^4.37.0 || ^5.0.0 + webpack: ^5.0.0 webpack-cli: '*' peerDependenciesMeta: webpack: @@ -10157,16 +10490,16 @@ packages: http-proxy-middleware: 2.0.6(@types/express@4.17.21) ipaddr.js: 2.2.0 launch-editor: 2.6.1 - open: 8.4.2 - p-retry: 4.6.2 - rimraf: 3.0.2 + open: 10.1.0 + p-retry: 6.2.0 + rimraf: 5.0.5 schema-utils: 4.2.0 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.90.3(esbuild@0.20.1) - webpack-dev-middleware: 5.3.4(webpack@5.90.3) + webpack: 5.91.0(esbuild@0.21.3) + webpack-dev-middleware: 7.2.1(webpack@5.91.0) ws: 8.17.0 transitivePeerDependencies: - bufferutil @@ -10189,7 +10522,7 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack-subresource-integrity@5.1.0(webpack@5.90.3): + /webpack-subresource-integrity@5.1.0(webpack@5.91.0): resolution: {integrity: sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==} engines: {node: '>= 12'} peerDependencies: @@ -10200,11 +10533,11 @@ packages: optional: true dependencies: typed-assert: 1.0.9 - webpack: 5.90.3(esbuild@0.20.1) + webpack: 5.91.0(esbuild@0.21.3) dev: true - /webpack@5.90.3(esbuild@0.20.1): - resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} + /webpack@5.91.0(esbuild@0.21.3): + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -10234,8 +10567,8 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.20.1)(webpack@5.90.3) - watchpack: 2.4.0 + terser-webpack-plugin: 5.3.10(esbuild@0.21.3)(webpack@5.91.0) + watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -10437,7 +10770,5 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - /zone.js@0.14.5: - resolution: {integrity: sha512-9XYWZzY6PhHOSdkYryNcMm7L8EK7a4q+GbTvxbIA2a9lMdRUpGuyaYvLDcg8D6bdn+JomSsbPcilVKg6SmUx6w==} - dependencies: - tslib: 2.6.2 + /zone.js@0.14.6: + resolution: {integrity: sha512-vyRNFqofdaHVdWAy7v3Bzmn84a1JHWSjpuTZROT/uYn8I3p2cmo7Ro9twFmYRQDPhiYOV7QLk0hhY4JJQVqS6Q==} diff --git a/front/src/back-api/application-resource.ts b/front/src/back-api/api/application-resource.ts similarity index 57% rename from front/src/back-api/application-resource.ts rename to front/src/back-api/api/application-resource.ts index bf3c7f4..2238e79 100644 --- a/front/src/back-api/application-resource.ts +++ b/front/src/back-api/api/application-resource.ts @@ -1,29 +1,31 @@ /** - * API of the server (auto-generated code) + * Interface of the server (auto-generated code) */ import { - HTTPMimeType, - HTTPRequestModel, - ModelResponseHttp, - RESTCallbacks, - RESTConfig, - RESTRequestJson, - RESTRequestJsonArray, - RESTRequestVoid -} from "./rest-tools" + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" import { - AddUserData, - Application, - ApplicationSmall, - ClientToken, - Long, - RightDescription, - isApplication, - isLong, - isRightDescription, - isApplicationSmall, - isClientToken, -} from "./model" + AddUserDataWrite, + Application, + ApplicationSmall, + ApplicationWrite, + ClientToken, + Long, + RightDescription, + ZodApplication, + ZodApplicationSmall, + ZodLong, + ZodRightDescription, + isApplication, + isClientToken, +} from "../model"; + export namespace ApplicationResource { export function addUser({ @@ -35,7 +37,7 @@ export namespace ApplicationResource { params: { id: Long, }, - data: AddUserData, + data: AddUserDataWrite, }): Promise { return RESTRequestVoid({ restModel: { @@ -53,11 +55,11 @@ export namespace ApplicationResource { data, }: { restConfig: RESTConfig, - data: Application, + data: ApplicationWrite, }): Promise { return RESTRequestJson({ restModel: { - endPoint: "/application", + endPoint: "/application/", requestType: HTTPRequestModel.POST, contentType: HTTPMimeType.JSON, accept: HTTPMimeType.JSON, @@ -85,6 +87,20 @@ export namespace ApplicationResource { params, }, isApplication); }; + + export const ZodGetApplicationUsersTypeReturn = zod.array(ZodLong); + export type GetApplicationUsersTypeReturn = zod.infer; + + export function isGetApplicationUsersTypeReturn(data: any): data is GetApplicationUsersTypeReturn { + try { + ZodGetApplicationUsersTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetApplicationUsersTypeReturn' error=${e}`); + return false; + } + } + export function getApplicationUsers({ restConfig, params, @@ -93,8 +109,8 @@ export namespace ApplicationResource { params: { id: Long, }, - }): Promise { - return RESTRequestJsonArray({ + }): Promise { + return RESTRequestJson({ restModel: { endPoint: "/application/{id}/users", requestType: HTTPRequestModel.GET, @@ -102,21 +118,35 @@ export namespace ApplicationResource { }, restConfig, params, - }, isLong); + }, isGetApplicationUsersTypeReturn); }; + + export const ZodGetApplicationsSmallTypeReturn = zod.array(ZodApplicationSmall); + export type GetApplicationsSmallTypeReturn = zod.infer; + + export function isGetApplicationsSmallTypeReturn(data: any): data is GetApplicationsSmallTypeReturn { + try { + ZodGetApplicationsSmallTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetApplicationsSmallTypeReturn' error=${e}`); + return false; + } + } + export function getApplicationsSmall({ restConfig, }: { restConfig: RESTConfig, - }): Promise { - return RESTRequestJsonArray({ + }): Promise { + return RESTRequestJson({ restModel: { endPoint: "/application/small", requestType: HTTPRequestModel.GET, accept: HTTPMimeType.JSON, }, restConfig, - }, isApplicationSmall); + }, isGetApplicationsSmallTypeReturn); }; export function getClientToken({ restConfig, @@ -137,6 +167,20 @@ export namespace ApplicationResource { queries, }, isClientToken); }; + + export const ZodGetRightsDescriptionTypeReturn = zod.array(ZodRightDescription); + export type GetRightsDescriptionTypeReturn = zod.infer; + + export function isGetRightsDescriptionTypeReturn(data: any): data is GetRightsDescriptionTypeReturn { + try { + ZodGetRightsDescriptionTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetRightsDescriptionTypeReturn' error=${e}`); + return false; + } + } + export function getRightsDescription({ restConfig, params, @@ -145,8 +189,8 @@ export namespace ApplicationResource { params: { id: Long, }, - }): Promise { - return RESTRequestJsonArray({ + }): Promise { + return RESTRequestJson({ restModel: { endPoint: "/application/{id}/rights", requestType: HTTPRequestModel.GET, @@ -154,21 +198,35 @@ export namespace ApplicationResource { }, restConfig, params, - }, isRightDescription); + }, isGetRightsDescriptionTypeReturn); }; + + export const ZodGetsTypeReturn = zod.array(ZodApplication); + export type GetsTypeReturn = zod.infer; + + export function isGetsTypeReturn(data: any): data is GetsTypeReturn { + try { + ZodGetsTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetsTypeReturn' error=${e}`); + return false; + } + } + export function gets({ restConfig, }: { restConfig: RESTConfig, - }): Promise { - return RESTRequestJsonArray({ + }): Promise { + return RESTRequestJson({ restModel: { - endPoint: "/application", + endPoint: "/application/", requestType: HTTPRequestModel.GET, accept: HTTPMimeType.JSON, }, restConfig, - }, isApplication); + }, isGetsTypeReturn); }; export function logOut({ restConfig, @@ -187,7 +245,7 @@ export namespace ApplicationResource { }, restConfig, queries, - }, null); + }); }; export function patch({ restConfig, @@ -198,7 +256,7 @@ export namespace ApplicationResource { params: { id: Long, }, - data: Application, + data: ApplicationWrite, }): Promise { return RESTRequestJson({ restModel: { diff --git a/front/src/back-api/application-token-resource.ts b/front/src/back-api/api/application-token-resource.ts similarity index 59% rename from front/src/back-api/application-token-resource.ts rename to front/src/back-api/api/application-token-resource.ts index fe205cc..4bbd09b 100644 --- a/front/src/back-api/application-token-resource.ts +++ b/front/src/back-api/api/application-token-resource.ts @@ -1,23 +1,24 @@ /** - * API of the server (auto-generated code) + * Interface of the server (auto-generated code) */ import { - HTTPMimeType, - HTTPRequestModel, - ModelResponseHttp, - RESTCallbacks, - RESTConfig, - RESTRequestJson, - RESTRequestJsonArray, - RESTRequestVoid -} from "./rest-tools" + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" import { - ApplicationToken, - CreateTokenRequest, - Integer, - Long, - isApplicationToken, -} from "./model" + ApplicationToken, + CreateTokenRequestWrite, + Integer, + Long, + ZodApplicationToken, + isApplicationToken, +} from "../model"; + export namespace ApplicationTokenResource { export function create({ @@ -29,7 +30,7 @@ export namespace ApplicationTokenResource { params: { applicationId: Long, }, - data: CreateTokenRequest, + data: CreateTokenRequestWrite, }): Promise { return RESTRequestJson({ restModel: { @@ -43,6 +44,20 @@ export namespace ApplicationTokenResource { data, }, isApplicationToken); }; + + export const ZodGetsTypeReturn = zod.array(ZodApplicationToken); + export type GetsTypeReturn = zod.infer; + + export function isGetsTypeReturn(data: any): data is GetsTypeReturn { + try { + ZodGetsTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetsTypeReturn' error=${e}`); + return false; + } + } + export function gets({ restConfig, params, @@ -51,8 +66,8 @@ export namespace ApplicationTokenResource { params: { applicationId: Long, }, - }): Promise { - return RESTRequestJsonArray({ + }): Promise { + return RESTRequestJson({ restModel: { endPoint: "/application_token/{applicationId}", requestType: HTTPRequestModel.GET, @@ -60,7 +75,7 @@ export namespace ApplicationTokenResource { }, restConfig, params, - }, isApplicationToken); + }, isGetsTypeReturn); }; export function remove({ restConfig, diff --git a/front/src/back-api/data-resource.ts b/front/src/back-api/api/data-resource.ts similarity index 73% rename from front/src/back-api/data-resource.ts rename to front/src/back-api/api/data-resource.ts index 3a6351a..61891c1 100644 --- a/front/src/back-api/data-resource.ts +++ b/front/src/back-api/api/data-resource.ts @@ -1,25 +1,23 @@ /** - * API of the server (auto-generated code) + * Interface of the server (auto-generated code) */ import { - HTTPMimeType, - HTTPRequestModel, - ModelResponseHttp, - RESTCallbacks, - RESTConfig, - RESTRequestJson, - RESTRequestJsonArray, - RESTRequestVoid -} from "./rest-tools" + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + import { - UUID, -} from "./model" + UUID, +} from "../model"; + export namespace DataResource { /** * Get back some data from the data environment (with a beautiful name (permit download with basic name) */ - // TODO: unmanaged "Response" type: please specify @AsyncType or considered as 'void'. export function retrieveDataFull({ restConfig, queries, @@ -35,8 +33,8 @@ export namespace DataResource { uuid: UUID, }, data: string, - }): Promise { - return RESTRequestVoid({ + }): Promise { + return RESTRequestJson({ restModel: { endPoint: "/data/{uuid}/{name}", requestType: HTTPRequestModel.GET, @@ -50,7 +48,6 @@ export namespace DataResource { /** * Get back some data from the data environment */ - // TODO: unmanaged "Response" type: please specify @AsyncType or considered as 'void'. export function retrieveDataId({ restConfig, queries, @@ -65,8 +62,8 @@ export namespace DataResource { uuid: UUID, }, data: string, - }): Promise { - return RESTRequestVoid({ + }): Promise { + return RESTRequestJson({ restModel: { endPoint: "/data/{uuid}", requestType: HTTPRequestModel.GET, @@ -80,7 +77,6 @@ export namespace DataResource { /** * Get a thumbnail of from the data environment (if resize is possible) */ - // TODO: unmanaged "Response" type: please specify @AsyncType or considered as 'void'. export function retrieveDataThumbnailId({ restConfig, queries, @@ -95,8 +91,8 @@ export namespace DataResource { uuid: UUID, }, data: string, - }): Promise { - return RESTRequestVoid({ + }): Promise { + return RESTRequestJson({ restModel: { endPoint: "/data/thumbnail/{uuid}", requestType: HTTPRequestModel.GET, diff --git a/front/src/back-api/api/front.ts b/front/src/back-api/api/front.ts new file mode 100644 index 0000000..34b80f8 --- /dev/null +++ b/front/src/back-api/api/front.ts @@ -0,0 +1,6 @@ +/** + * Interface of the server (auto-generated code) + */ +export namespace Front { + +} diff --git a/front/src/back-api/api/index.ts b/front/src/back-api/api/index.ts new file mode 100644 index 0000000..1a11731 --- /dev/null +++ b/front/src/back-api/api/index.ts @@ -0,0 +1,11 @@ +/** + * Interface of the server (auto-generated code) + */ +export * from "./application-resource" +export * from "./application-token-resource" +export * from "./data-resource" +export * from "./front" +export * from "./public-key-resource" +export * from "./right-resource" +export * from "./system-config-resource" +export * from "./user-resource" diff --git a/front/src/back-api/public-key-resource.ts b/front/src/back-api/api/public-key-resource.ts similarity index 66% rename from front/src/back-api/public-key-resource.ts rename to front/src/back-api/api/public-key-resource.ts index 9633bb0..bc46964 100644 --- a/front/src/back-api/public-key-resource.ts +++ b/front/src/back-api/api/public-key-resource.ts @@ -1,20 +1,18 @@ /** - * API of the server (auto-generated code) + * Interface of the server (auto-generated code) */ import { - HTTPMimeType, - HTTPRequestModel, - ModelResponseHttp, - RESTCallbacks, - RESTConfig, - RESTRequestJson, - RESTRequestJsonArray, - RESTRequestVoid -} from "./rest-tools" + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, +} from "../rest-tools"; + import { - PublicKey, - isPublicKey, -} from "./model" + PublicKey, + isPublicKey, +} from "../model"; + export namespace PublicKeyResource { export function getKey({ @@ -24,7 +22,7 @@ export namespace PublicKeyResource { }): Promise { return RESTRequestJson({ restModel: { - endPoint: "/public_key", + endPoint: "/public_key/", requestType: HTTPRequestModel.GET, accept: HTTPMimeType.JSON, }, @@ -43,6 +41,6 @@ export namespace PublicKeyResource { accept: HTTPMimeType.JSON, }, restConfig, - }, null); + }); }; } diff --git a/front/src/back-api/right-resource.ts b/front/src/back-api/api/right-resource.ts similarity index 66% rename from front/src/back-api/right-resource.ts rename to front/src/back-api/api/right-resource.ts index fed80ce..a514064 100644 --- a/front/src/back-api/right-resource.ts +++ b/front/src/back-api/api/right-resource.ts @@ -1,21 +1,23 @@ /** - * API of the server (auto-generated code) + * Interface of the server (auto-generated code) */ import { - HTTPMimeType, - HTTPRequestModel, - ModelResponseHttp, - RESTCallbacks, - RESTConfig, - RESTRequestJson, - RESTRequestJsonArray, - RESTRequestVoid -} from "./rest-tools" + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" import { - Long, - Right, - isRight, -} from "./model" + Long, + Right, + RightWrite, + ZodRight, + isRight, +} from "../model"; + export namespace RightResource { export function get({ @@ -37,19 +39,33 @@ export namespace RightResource { params, }, isRight); }; + + export const ZodGetsTypeReturn = zod.array(ZodRight); + export type GetsTypeReturn = zod.infer; + + export function isGetsTypeReturn(data: any): data is GetsTypeReturn { + try { + ZodGetsTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetsTypeReturn' error=${e}`); + return false; + } + } + export function gets({ restConfig, }: { restConfig: RESTConfig, - }): Promise { - return RESTRequestJsonArray({ + }): Promise { + return RESTRequestJson({ restModel: { - endPoint: "/right", + endPoint: "/right/", requestType: HTTPRequestModel.GET, accept: HTTPMimeType.JSON, }, restConfig, - }, isRight); + }, isGetsTypeReturn); }; export function patch({ restConfig, @@ -60,7 +76,7 @@ export namespace RightResource { params: { id: Long, }, - data: Right, + data: RightWrite, }): Promise { return RESTRequestJson({ restModel: { @@ -79,11 +95,11 @@ export namespace RightResource { data, }: { restConfig: RESTConfig, - data: Right, + data: RightWrite, }): Promise { return RESTRequestJson({ restModel: { - endPoint: "/right", + endPoint: "/right/", requestType: HTTPRequestModel.POST, contentType: HTTPMimeType.JSON, accept: HTTPMimeType.JSON, diff --git a/front/src/back-api/system-config-resource.ts b/front/src/back-api/api/system-config-resource.ts similarity index 59% rename from front/src/back-api/system-config-resource.ts rename to front/src/back-api/api/system-config-resource.ts index cb0ef77..39d2b6a 100644 --- a/front/src/back-api/system-config-resource.ts +++ b/front/src/back-api/api/system-config-resource.ts @@ -1,22 +1,36 @@ /** - * API of the server (auto-generated code) + * Interface of the server (auto-generated code) */ import { - HTTPMimeType, - HTTPRequestModel, - ModelResponseHttp, - RESTCallbacks, - RESTConfig, - RESTRequestJson, - RESTRequestJsonArray, - RESTRequestVoid -} from "./rest-tools" + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" import { - GetSignUpAvailable, - isGetSignUpAvailable, -} from "./model" + GetSignUpAvailable, + isGetSignUpAvailable, +} from "../model"; + export namespace SystemConfigResource { + + export const ZodGetKeyTypeReturn = zod.record(zod.string(), zod.any()); + export type GetKeyTypeReturn = zod.infer; + + export function isGetKeyTypeReturn(data: any): data is GetKeyTypeReturn { + try { + ZodGetKeyTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetKeyTypeReturn' error=${e}`); + return false; + } + } + export function getKey({ restConfig, params, @@ -25,7 +39,7 @@ export namespace SystemConfigResource { params: { key: string, }, - }): Promise { + }): Promise { return RESTRequestJson({ restModel: { endPoint: "/system_config/key/{key}", @@ -34,7 +48,7 @@ export namespace SystemConfigResource { }, restConfig, params, - }, null); + }, isGetKeyTypeReturn); }; export function isSignUpAvailable({ restConfig, @@ -59,7 +73,7 @@ export namespace SystemConfigResource { params: { key: string, }, - data: any, + data: object, }): Promise { return RESTRequestVoid({ restModel: { diff --git a/front/src/back-api/user-resource.ts b/front/src/back-api/api/user-resource.ts similarity index 66% rename from front/src/back-api/user-resource.ts rename to front/src/back-api/api/user-resource.ts index a9cb495..142f243 100644 --- a/front/src/back-api/user-resource.ts +++ b/front/src/back-api/api/user-resource.ts @@ -1,30 +1,31 @@ /** - * API of the server (auto-generated code) + * Interface of the server (auto-generated code) */ import { - HTTPMimeType, - HTTPRequestModel, - ModelResponseHttp, - RESTCallbacks, - RESTConfig, - RESTRequestJson, - RESTRequestJsonArray, - RESTRequestVoid -} from "./rest-tools" + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" import { - ChangePassword, - DataGetToken, - GetToken, - Long, - UserAuth, - UserAuthGet, - UserCreate, - UserOut, - isGetToken, - isUserAuth, - isUserOut, - isUserAuthGet, -} from "./model" + ChangePasswordWrite, + DataGetTokenWrite, + GetToken, + Long, + UserAuth, + UserAuthGet, + UserCreateWrite, + UserOut, + ZodUserAuthGet, + isGetToken, + isUserAuth, + isUserAuthGet, + isUserOut, +} from "../model"; + export namespace UserResource { export function changePassword({ @@ -32,7 +33,7 @@ export namespace UserResource { data, }: { restConfig: RESTConfig, - data: ChangePassword, + data: ChangePasswordWrite, }): Promise { return RESTRequestVoid({ restModel: { @@ -49,11 +50,11 @@ export namespace UserResource { data, }: { restConfig: RESTConfig, - data: UserCreate, + data: UserCreateWrite, }): Promise { return RESTRequestJson({ restModel: { - endPoint: "/users", + endPoint: "/users/", requestType: HTTPRequestModel.POST, contentType: HTTPMimeType.JSON, accept: HTTPMimeType.JSON, @@ -62,6 +63,20 @@ export namespace UserResource { data, }, isUserAuthGet); }; + + export const ZodGetApplicationRightTypeReturn = zod.record(zod.string(), zod.any()); + export type GetApplicationRightTypeReturn = zod.infer; + + export function isGetApplicationRightTypeReturn(data: any): data is GetApplicationRightTypeReturn { + try { + ZodGetApplicationRightTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetApplicationRightTypeReturn' error=${e}`); + return false; + } + } + export function getApplicationRight({ restConfig, params, @@ -71,7 +86,7 @@ export namespace UserResource { applicationId: Long, userId: Long, }, - }): Promise { + }): Promise { return RESTRequestJson({ restModel: { endPoint: "/users/{userId}/application/{applicationId}/rights", @@ -80,7 +95,7 @@ export namespace UserResource { }, restConfig, params, - }, null); + }, isGetApplicationRightTypeReturn); }; export function getMe({ restConfig, @@ -101,7 +116,7 @@ export namespace UserResource { data, }: { restConfig: RESTConfig, - data: DataGetToken, + data: DataGetTokenWrite, }): Promise { return RESTRequestJson({ restModel: { @@ -133,19 +148,33 @@ export namespace UserResource { params, }, isUserAuthGet); }; + + export const ZodGetUsersTypeReturn = zod.array(ZodUserAuthGet); + export type GetUsersTypeReturn = zod.infer; + + export function isGetUsersTypeReturn(data: any): data is GetUsersTypeReturn { + try { + ZodGetUsersTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetUsersTypeReturn' error=${e}`); + return false; + } + } + export function getUsers({ restConfig, }: { restConfig: RESTConfig, - }): Promise { - return RESTRequestJsonArray({ + }): Promise { + return RESTRequestJson({ restModel: { - endPoint: "/users", + endPoint: "/users/", requestType: HTTPRequestModel.GET, accept: HTTPMimeType.JSON, }, restConfig, - }, isUserAuthGet); + }, isGetUsersTypeReturn); }; export function isEmailExist({ restConfig, @@ -164,7 +193,7 @@ export namespace UserResource { }, restConfig, queries, - }, null); + }); }; export function isLoginExist({ restConfig, @@ -183,7 +212,7 @@ export namespace UserResource { }, restConfig, queries, - }, null); + }); }; export function linkApplication({ restConfig, @@ -208,6 +237,20 @@ export namespace UserResource { data, }, isUserAuth); }; + + export const ZodPatchApplicationRightTypeReturn = zod.record(zod.string(), zod.any()); + export type PatchApplicationRightTypeReturn = zod.infer; + + export function isPatchApplicationRightTypeReturn(data: any): data is PatchApplicationRightTypeReturn { + try { + ZodPatchApplicationRightTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodPatchApplicationRightTypeReturn' error=${e}`); + return false; + } + } + export function patchApplicationRight({ restConfig, params, @@ -218,8 +261,8 @@ export namespace UserResource { applicationId: Long, userId: Long, }, - data: any, - }): Promise { + data: {[key: string]: object;}, + }): Promise { return RESTRequestJson({ restModel: { endPoint: "/users/{userId}/application/{applicationId}/rights", @@ -230,7 +273,7 @@ export namespace UserResource { restConfig, params, data, - }, null); + }, isPatchApplicationRightTypeReturn); }; export function setAdmin({ restConfig, diff --git a/front/src/back-api/front.ts b/front/src/back-api/front.ts deleted file mode 100644 index f7e397d..0000000 --- a/front/src/back-api/front.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * API of the server (auto-generated code) - */ -import { - HTTPMimeType, - HTTPRequestModel, - ModelResponseHttp, - RESTCallbacks, - RESTConfig, - RESTRequestJson, - RESTRequestJsonArray, - RESTRequestVoid -} from "./rest-tools" -import { -} from "./model" -export namespace Front { - -} diff --git a/front/src/back-api/index.ts b/front/src/back-api/index.ts index 1999009..c483eda 100644 --- a/front/src/back-api/index.ts +++ b/front/src/back-api/index.ts @@ -1,12 +1,7 @@ /** - * Global import of the package + * Interface of the server (auto-generated code) */ export * from "./model"; -export * from "./front"; -export * from "./data-resource"; -export * from "./application-resource"; -export * from "./application-token-resource"; -export * from "./public-key-resource"; -export * from "./right-resource"; -export * from "./user-resource"; -export * from "./system-config-resource"; +export * from "./api"; +export * from "./rest-tools"; + diff --git a/front/src/back-api/model.ts b/front/src/back-api/model.ts deleted file mode 100644 index 6e78873..0000000 --- a/front/src/back-api/model.ts +++ /dev/null @@ -1,549 +0,0 @@ -/** - * Interface of the server (auto-generated code) - */ -import { z as zod } from "zod"; - -export const ZodUUID = zod.string().uuid(); -export type UUID = zod.infer; -export function isUUID(data: any): data is UUID { - try { - ZodUUID.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodLong = zod.number(); -export type Long = zod.infer; -export function isLong(data: any): data is Long { - try { - ZodLong.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodInteger = zod.number().safe(); -export type Integer = zod.infer; -export function isInteger(data: any): data is Integer { - try { - ZodInteger.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodFloat = zod.number(); -export type Float = zod.infer; -export function isFloat(data: any): data is Float { - try { - ZodFloat.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodInstant = zod.string(); -export type Instant = zod.infer; -export function isInstant(data: any): data is Instant { - try { - ZodInstant.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodDate = zod.string().datetime({ precision: 3 }); -export type Date = zod.infer; -export function isDate(data: any): data is Date { - try { - ZodDate.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodTimestamp = zod.string().datetime({ precision: 3 }); -export type Timestamp = zod.infer; -export function isTimestamp(data: any): data is Timestamp { - try { - ZodTimestamp.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodLocalDate = zod.string().date(); -export type LocalDate = zod.infer; -export function isLocalDate(data: any): data is LocalDate { - try { - ZodLocalDate.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodLocalTime = zod.string().time(); -export type LocalTime = zod.infer; -export function isLocalTime(data: any): data is LocalTime { - try { - ZodLocalTime.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodRestErrorResponse = zod.object({ - uuid: ZodUUID.optional(), - name: zod.string().max(255).optional(), - message: zod.string().max(255).optional(), - time: zod.string().max(255).optional(), - status: ZodInteger, - statusMessage: zod.string().max(255).optional() -}); -export type RestErrorResponse = zod.infer; -export function isRestErrorResponse(data: any): data is RestErrorResponse { - try { - ZodRestErrorResponse.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodAddUserData = zod.object({ - userId: ZodLong.optional() -}); -export type AddUserData = zod.infer; -export function isAddUserData(data: any): data is AddUserData { - try { - ZodAddUserData.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodGenericTiming = zod.object({ - // Create time of the object - createdAt: ZodDate.readonly().optional(), - // When update the object - updatedAt: ZodDate.readonly().optional() -}); -export type GenericTiming = zod.infer; -export function isGenericTiming(data: any): data is GenericTiming { - try { - ZodGenericTiming.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodGenericData = ZodGenericTiming.extend({ - // Unique Id of the object - id: ZodLong.readonly().optional() -}); -export type GenericData = zod.infer; -export function isGenericData(data: any): data is GenericData { - try { - ZodGenericData.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodGenericDataSoftDelete = ZodGenericData.extend({ - // Deleted state - deleted: zod.boolean().readonly().optional() -}); -export type GenericDataSoftDelete = zod.infer; -export function isGenericDataSoftDelete(data: any): data is GenericDataSoftDelete { - try { - ZodGenericDataSoftDelete.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodApplication = ZodGenericDataSoftDelete.extend({ - name: zod.string().max(256).optional(), - description: zod.string().max(2048).optional(), - redirect: zod.string().max(2048).optional(), - redirectDev: zod.string().max(2048).optional(), - notification: zod.string().max(2048).optional(), - // Expiration time - ttl: ZodInteger.optional(), - // Right is manage with Karso - manageRight: zod.boolean().optional() -}); -export type Application = zod.infer; -export function isApplication(data: any): data is Application { - try { - ZodApplication.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodApplicationSmall = zod.object({ - id: ZodLong.optional(), - name: zod.string().max(255).optional(), - description: zod.string().max(255).optional(), - redirect: zod.string().max(255).optional() -}); -export type ApplicationSmall = zod.infer; -export function isApplicationSmall(data: any): data is ApplicationSmall { - try { - ZodApplicationSmall.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodClientToken = zod.object({ - url: zod.string().max(1024).optional(), - jwt: zod.string().optional() -}); -export type ClientToken = zod.infer; -export function isClientToken(data: any): data is ClientToken { - try { - ZodClientToken.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodRightDescription = ZodGenericDataSoftDelete.extend({ - // Application id that have the reference of the right - applicationId: ZodLong.optional(), - // Key of the property - key: zod.string().max(64).optional(), - // Title of the right - title: zod.string().max(1024).optional(), - // Description of the right - description: zod.string().max(1024).optional(), - // default value if Never set - defaultValue: zod.string().max(1024).optional(), - // Type of the property - type: zod.string().max(16).optional() -}); -export type RightDescription = zod.infer; -export function isRightDescription(data: any): data is RightDescription { - try { - ZodRightDescription.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodGenericToken = ZodGenericDataSoftDelete.extend({ - parentId: ZodLong.optional(), - name: zod.string().optional(), - endValidityTime: ZodTimestamp.optional(), - token: zod.string().optional() -}); -export type GenericToken = zod.infer; -export function isGenericToken(data: any): data is GenericToken { - try { - ZodGenericToken.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodApplicationToken = ZodGenericToken.extend({ -}); -export type ApplicationToken = zod.infer; -export function isApplicationToken(data: any): data is ApplicationToken { - try { - ZodApplicationToken.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodCreateTokenRequest = zod.object({ - name: zod.string().max(255).optional(), - validity: ZodInteger.optional() -}); -export type CreateTokenRequest = zod.infer; -export function isCreateTokenRequest(data: any): data is CreateTokenRequest { - try { - ZodCreateTokenRequest.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodPublicKey = zod.object({ - key: zod.string().max(255).optional() -}); -export type PublicKey = zod.infer; -export function isPublicKey(data: any): data is PublicKey { - try { - ZodPublicKey.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodRight = ZodGenericDataSoftDelete.extend({ - // application-ID that have the reference of the right - applicationId: ZodLong.optional(), - // user-ID - userId: ZodLong.optional(), - // rightDescription-ID of the right description - rightDescriptionId: ZodLong.optional(), - // Value of the right - value: zod.string().max(1024).optional() -}); -export type Right = zod.infer; -export function isRight(data: any): data is Right { - try { - ZodRight.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodChangePassword = zod.object({ - method: zod.string().max(32).optional(), - login: zod.string().max(512).optional(), - time: zod.string().max(64).optional(), - password: zod.string().max(128).optional(), - newPassword: zod.string().max(128).optional() -}); -export type ChangePassword = zod.infer; -export function isChangePassword(data: any): data is ChangePassword { - try { - ZodChangePassword.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodUser = ZodGenericDataSoftDelete.extend({ - login: zod.string().max(128).optional(), - lastConnection: ZodTimestamp.optional(), - admin: zod.boolean(), - blocked: zod.boolean(), - removed: zod.boolean(), - covers: zod.array(ZodLong).optional() -}); -export type User = zod.infer; -export function isUser(data: any): data is User { - try { - ZodUser.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodUserAuthGet = ZodUser.extend({ - email: zod.string().max(512).optional(), - avatar: zod.boolean().optional() -}); -export type UserAuthGet = zod.infer; -export function isUserAuthGet(data: any): data is UserAuthGet { - try { - ZodUserAuthGet.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodUserCreate = zod.object({ - login: zod.string().max(255).optional(), - email: zod.string().max(255).optional(), - password: zod.string().max(255).optional() -}); -export type UserCreate = zod.infer; -export function isUserCreate(data: any): data is UserCreate { - try { - ZodUserCreate.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodUserOut = zod.object({ - id: ZodLong, - login: zod.string().max(255).optional() -}); -export type UserOut = zod.infer; -export function isUserOut(data: any): data is UserOut { - try { - ZodUserOut.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodGetToken = zod.object({ - jwt: zod.string().optional() -}); -export type GetToken = zod.infer; -export function isGetToken(data: any): data is GetToken { - try { - ZodGetToken.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodDataGetToken = zod.object({ -}); -export type DataGetToken = zod.infer; -export function isDataGetToken(data: any): data is DataGetToken { - try { - ZodDataGetToken.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodUserAuth = ZodUser.extend({ - password: zod.string().max(128).optional(), - email: zod.string().max(512).optional(), - emailValidate: ZodTimestamp.optional(), - newEmail: zod.string().max(512).optional(), - avatar: zod.boolean().optional(), - // List of accessible application (if not set the application is not available) - applications: zod.array(ZodLong).optional() -}); -export type UserAuth = zod.infer; -export function isUserAuth(data: any): data is UserAuth { - try { - ZodUserAuth.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodGetSignUpAvailable = zod.object({ - signup: zod.boolean() -}); -export type GetSignUpAvailable = zod.infer; -export function isGetSignUpAvailable(data: any): data is GetSignUpAvailable { - try { - ZodGetSignUpAvailable.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - -export const ZodSettings = ZodGenericDataSoftDelete.extend({ - key: zod.string().max(512).optional(), - // Right for the specific element(ADMIN [rw] USER [rw] other [rw]) - right: zod.string().max(6).optional(), - // Type Of the data - type: zod.string().max(10).optional(), - // Value of the configuration - value: zod.string().max(255).optional() -}); -export type Settings = zod.infer; -export function isSettings(data: any): data is Settings { - try { - ZodSettings.parse(data); - return true; - } catch (e: any) { - console.log(`Fail to parse data ${e}`); - return false; - } -} - - diff --git a/front/src/back-api/model/add-user-data.ts b/front/src/back-api/model/add-user-data.ts new file mode 100644 index 0000000..59f85ad --- /dev/null +++ b/front/src/back-api/model/add-user-data.ts @@ -0,0 +1,37 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; + +export const ZodAddUserData = zod.object({ + userId: ZodLong.optional(), + +}); + +export type AddUserData = zod.infer; + +export function isAddUserData(data: any): data is AddUserData { + try { + ZodAddUserData.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodAddUserData' error=${e}`); + return false; + } +} + +export const ZodAddUserDataWrite = ZodAddUserData.partial(); + +export type AddUserDataWrite = zod.infer; + +export function isAddUserDataWrite(data: any): data is AddUserDataWrite { + try { + ZodAddUserDataWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodAddUserDataWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/application-small.ts b/front/src/back-api/model/application-small.ts new file mode 100644 index 0000000..2f393ee --- /dev/null +++ b/front/src/back-api/model/application-small.ts @@ -0,0 +1,40 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; + +export const ZodApplicationSmall = zod.object({ + id: ZodLong.optional(), + name: zod.string().max(255).optional(), + description: zod.string().max(255).optional(), + redirect: zod.string().max(255).optional(), + +}); + +export type ApplicationSmall = zod.infer; + +export function isApplicationSmall(data: any): data is ApplicationSmall { + try { + ZodApplicationSmall.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationSmall' error=${e}`); + return false; + } +} + +export const ZodApplicationSmallWrite = ZodApplicationSmall.partial(); + +export type ApplicationSmallWrite = zod.infer; + +export function isApplicationSmallWrite(data: any): data is ApplicationSmallWrite { + try { + ZodApplicationSmallWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationSmallWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/application-token.ts b/front/src/back-api/model/application-token.ts new file mode 100644 index 0000000..0c1cd16 --- /dev/null +++ b/front/src/back-api/model/application-token.ts @@ -0,0 +1,42 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodGenericToken} from "./generic-token"; + +export const ZodApplicationToken = ZodGenericToken.extend({ + +}); + +export type ApplicationToken = zod.infer; + +export function isApplicationToken(data: any): data is ApplicationToken { + try { + ZodApplicationToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationToken' error=${e}`); + return false; + } +} + +export const ZodApplicationTokenWrite = ZodApplicationToken.omit({ + deleted: true, + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type ApplicationTokenWrite = zod.infer; + +export function isApplicationTokenWrite(data: any): data is ApplicationTokenWrite { + try { + ZodApplicationTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationTokenWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/application.ts b/front/src/back-api/model/application.ts new file mode 100644 index 0000000..2f43f51 --- /dev/null +++ b/front/src/back-api/model/application.ts @@ -0,0 +1,56 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodInteger} from "./integer"; +import {ZodGenericDataSoftDelete} from "./generic-data-soft-delete"; + +export const ZodApplication = ZodGenericDataSoftDelete.extend({ + name: zod.string().max(256).optional(), + description: zod.string().max(2048).optional(), + redirect: zod.string().max(2048), + redirectDev: zod.string().max(2048).optional(), + notification: zod.string().max(2048).optional(), + /** + * Expiration time + */ + ttl: ZodInteger, + /** + * Right is manage with Karso + */ + manageRight: zod.boolean(), + +}); + +export type Application = zod.infer; + +export function isApplication(data: any): data is Application { + try { + ZodApplication.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplication' error=${e}`); + return false; + } +} + +export const ZodApplicationWrite = ZodApplication.omit({ + deleted: true, + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type ApplicationWrite = zod.infer; + +export function isApplicationWrite(data: any): data is ApplicationWrite { + try { + ZodApplicationWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/change-password.ts b/front/src/back-api/model/change-password.ts new file mode 100644 index 0000000..7cc48c3 --- /dev/null +++ b/front/src/back-api/model/change-password.ts @@ -0,0 +1,40 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodChangePassword = zod.object({ + method: zod.string().max(32).optional(), + login: zod.string().max(512).optional(), + time: zod.string().max(64).optional(), + password: zod.string().max(128).optional(), + newPassword: zod.string().max(128).optional(), + +}); + +export type ChangePassword = zod.infer; + +export function isChangePassword(data: any): data is ChangePassword { + try { + ZodChangePassword.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodChangePassword' error=${e}`); + return false; + } +} + +export const ZodChangePasswordWrite = ZodChangePassword.partial(); + +export type ChangePasswordWrite = zod.infer; + +export function isChangePasswordWrite(data: any): data is ChangePasswordWrite { + try { + ZodChangePasswordWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodChangePasswordWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/client-token.ts b/front/src/back-api/model/client-token.ts new file mode 100644 index 0000000..e9d1ae7 --- /dev/null +++ b/front/src/back-api/model/client-token.ts @@ -0,0 +1,37 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodClientToken = zod.object({ + url: zod.string().max(1024).optional(), + jwt: zod.string().optional(), + +}); + +export type ClientToken = zod.infer; + +export function isClientToken(data: any): data is ClientToken { + try { + ZodClientToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodClientToken' error=${e}`); + return false; + } +} + +export const ZodClientTokenWrite = ZodClientToken.partial(); + +export type ClientTokenWrite = zod.infer; + +export function isClientTokenWrite(data: any): data is ClientTokenWrite { + try { + ZodClientTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodClientTokenWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/create-token-request.ts b/front/src/back-api/model/create-token-request.ts new file mode 100644 index 0000000..d84e060 --- /dev/null +++ b/front/src/back-api/model/create-token-request.ts @@ -0,0 +1,38 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodInteger} from "./integer"; + +export const ZodCreateTokenRequest = zod.object({ + name: zod.string().max(255).optional(), + validity: ZodInteger.optional(), + +}); + +export type CreateTokenRequest = zod.infer; + +export function isCreateTokenRequest(data: any): data is CreateTokenRequest { + try { + ZodCreateTokenRequest.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodCreateTokenRequest' error=${e}`); + return false; + } +} + +export const ZodCreateTokenRequestWrite = ZodCreateTokenRequest.partial(); + +export type CreateTokenRequestWrite = zod.infer; + +export function isCreateTokenRequestWrite(data: any): data is CreateTokenRequestWrite { + try { + ZodCreateTokenRequestWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodCreateTokenRequestWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/data-get-token.ts b/front/src/back-api/model/data-get-token.ts new file mode 100644 index 0000000..044f6ac --- /dev/null +++ b/front/src/back-api/model/data-get-token.ts @@ -0,0 +1,35 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodDataGetToken = zod.object({ + +}); + +export type DataGetToken = zod.infer; + +export function isDataGetToken(data: any): data is DataGetToken { + try { + ZodDataGetToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodDataGetToken' error=${e}`); + return false; + } +} + +export const ZodDataGetTokenWrite = ZodDataGetToken.partial(); + +export type DataGetTokenWrite = zod.infer; + +export function isDataGetTokenWrite(data: any): data is DataGetTokenWrite { + try { + ZodDataGetTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodDataGetTokenWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/generic-data-soft-delete.ts b/front/src/back-api/model/generic-data-soft-delete.ts new file mode 100644 index 0000000..d9c5e02 --- /dev/null +++ b/front/src/back-api/model/generic-data-soft-delete.ts @@ -0,0 +1,46 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodGenericData} from "./generic-data"; + +export const ZodGenericDataSoftDelete = ZodGenericData.extend({ + /** + * Deleted state + */ + deleted: zod.boolean().readonly().optional(), + +}); + +export type GenericDataSoftDelete = zod.infer; + +export function isGenericDataSoftDelete(data: any): data is GenericDataSoftDelete { + try { + ZodGenericDataSoftDelete.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericDataSoftDelete' error=${e}`); + return false; + } +} + +export const ZodGenericDataSoftDeleteWrite = ZodGenericDataSoftDelete.omit({ + deleted: true, + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type GenericDataSoftDeleteWrite = zod.infer; + +export function isGenericDataSoftDeleteWrite(data: any): data is GenericDataSoftDeleteWrite { + try { + ZodGenericDataSoftDeleteWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericDataSoftDeleteWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/generic-data.ts b/front/src/back-api/model/generic-data.ts new file mode 100644 index 0000000..8de5007 --- /dev/null +++ b/front/src/back-api/model/generic-data.ts @@ -0,0 +1,46 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodGenericTiming} from "./generic-timing"; + +export const ZodGenericData = ZodGenericTiming.extend({ + /** + * Unique Id of the object + */ + id: ZodLong.readonly(), + +}); + +export type GenericData = zod.infer; + +export function isGenericData(data: any): data is GenericData { + try { + ZodGenericData.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericData' error=${e}`); + return false; + } +} + +export const ZodGenericDataWrite = ZodGenericData.omit({ + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type GenericDataWrite = zod.infer; + +export function isGenericDataWrite(data: any): data is GenericDataWrite { + try { + ZodGenericDataWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericDataWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/generic-timing.ts b/front/src/back-api/model/generic-timing.ts new file mode 100644 index 0000000..311b2d7 --- /dev/null +++ b/front/src/back-api/model/generic-timing.ts @@ -0,0 +1,48 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodIsoDate} from "./iso-date"; + +export const ZodGenericTiming = zod.object({ + /** + * Create time of the object + */ + createdAt: ZodIsoDate.readonly().optional(), + /** + * When update the object + */ + updatedAt: ZodIsoDate.readonly().optional(), + +}); + +export type GenericTiming = zod.infer; + +export function isGenericTiming(data: any): data is GenericTiming { + try { + ZodGenericTiming.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericTiming' error=${e}`); + return false; + } +} + +export const ZodGenericTimingWrite = ZodGenericTiming.omit({ + createdAt: true, + updatedAt: true, + +}).partial(); + +export type GenericTimingWrite = zod.infer; + +export function isGenericTimingWrite(data: any): data is GenericTimingWrite { + try { + ZodGenericTimingWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericTimingWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/generic-token.ts b/front/src/back-api/model/generic-token.ts new file mode 100644 index 0000000..f56fd1f --- /dev/null +++ b/front/src/back-api/model/generic-token.ts @@ -0,0 +1,48 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodTimestamp} from "./timestamp"; +import {ZodGenericDataSoftDelete} from "./generic-data-soft-delete"; + +export const ZodGenericToken = ZodGenericDataSoftDelete.extend({ + parentId: ZodLong, + name: zod.string(), + endValidityTime: ZodTimestamp, + token: zod.string(), + +}); + +export type GenericToken = zod.infer; + +export function isGenericToken(data: any): data is GenericToken { + try { + ZodGenericToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericToken' error=${e}`); + return false; + } +} + +export const ZodGenericTokenWrite = ZodGenericToken.omit({ + deleted: true, + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type GenericTokenWrite = zod.infer; + +export function isGenericTokenWrite(data: any): data is GenericTokenWrite { + try { + ZodGenericTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericTokenWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/get-sign-up-available.ts b/front/src/back-api/model/get-sign-up-available.ts new file mode 100644 index 0000000..d84cfb6 --- /dev/null +++ b/front/src/back-api/model/get-sign-up-available.ts @@ -0,0 +1,36 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodGetSignUpAvailable = zod.object({ + signup: zod.boolean(), + +}); + +export type GetSignUpAvailable = zod.infer; + +export function isGetSignUpAvailable(data: any): data is GetSignUpAvailable { + try { + ZodGetSignUpAvailable.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetSignUpAvailable' error=${e}`); + return false; + } +} + +export const ZodGetSignUpAvailableWrite = ZodGetSignUpAvailable.partial(); + +export type GetSignUpAvailableWrite = zod.infer; + +export function isGetSignUpAvailableWrite(data: any): data is GetSignUpAvailableWrite { + try { + ZodGetSignUpAvailableWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetSignUpAvailableWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/get-token.ts b/front/src/back-api/model/get-token.ts new file mode 100644 index 0000000..8c1cd11 --- /dev/null +++ b/front/src/back-api/model/get-token.ts @@ -0,0 +1,36 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodGetToken = zod.object({ + jwt: zod.string(), + +}); + +export type GetToken = zod.infer; + +export function isGetToken(data: any): data is GetToken { + try { + ZodGetToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetToken' error=${e}`); + return false; + } +} + +export const ZodGetTokenWrite = ZodGetToken.partial(); + +export type GetTokenWrite = zod.infer; + +export function isGetTokenWrite(data: any): data is GetTokenWrite { + try { + ZodGetTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetTokenWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/index.ts b/front/src/back-api/model/index.ts new file mode 100644 index 0000000..8206b91 --- /dev/null +++ b/front/src/back-api/model/index.ts @@ -0,0 +1,32 @@ +/** + * Interface of the server (auto-generated code) + */ +export * from "./add-user-data" +export * from "./application" +export * from "./application-small" +export * from "./application-token" +export * from "./change-password" +export * from "./client-token" +export * from "./create-token-request" +export * from "./data-get-token" +export * from "./generic-data" +export * from "./generic-data-soft-delete" +export * from "./generic-timing" +export * from "./generic-token" +export * from "./get-sign-up-available" +export * from "./get-token" +export * from "./int" +export * from "./integer" +export * from "./iso-date" +export * from "./long" +export * from "./public-key" +export * from "./rest-error-response" +export * from "./right" +export * from "./right-description" +export * from "./timestamp" +export * from "./user" +export * from "./user-auth" +export * from "./user-auth-get" +export * from "./user-create" +export * from "./user-out" +export * from "./uuid" diff --git a/front/src/back-api/model/int.ts b/front/src/back-api/model/int.ts new file mode 100644 index 0000000..00f065b --- /dev/null +++ b/front/src/back-api/model/int.ts @@ -0,0 +1,35 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const Zodint = zod.object({ + +}); + +export type int = zod.infer; + +export function isint(data: any): data is int { + try { + Zodint.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='Zodint' error=${e}`); + return false; + } +} + +export const ZodintWrite = Zodint.partial(); + +export type intWrite = zod.infer; + +export function isintWrite(data: any): data is intWrite { + try { + ZodintWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodintWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/integer.ts b/front/src/back-api/model/integer.ts new file mode 100644 index 0000000..03fd143 --- /dev/null +++ b/front/src/back-api/model/integer.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodInteger = zod.number().safe(); +export type Integer = zod.infer; diff --git a/front/src/back-api/model/iso-date.ts b/front/src/back-api/model/iso-date.ts new file mode 100644 index 0000000..83802be --- /dev/null +++ b/front/src/back-api/model/iso-date.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodIsoDate = zod.string().datetime({ precision: 3 }); +export type IsoDate = zod.infer; diff --git a/front/src/back-api/model/long.ts b/front/src/back-api/model/long.ts new file mode 100644 index 0000000..6817b15 --- /dev/null +++ b/front/src/back-api/model/long.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodLong = zod.number(); +export type Long = zod.infer; diff --git a/front/src/back-api/model/public-key.ts b/front/src/back-api/model/public-key.ts new file mode 100644 index 0000000..18e1aff --- /dev/null +++ b/front/src/back-api/model/public-key.ts @@ -0,0 +1,36 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodPublicKey = zod.object({ + key: zod.string().max(255).optional(), + +}); + +export type PublicKey = zod.infer; + +export function isPublicKey(data: any): data is PublicKey { + try { + ZodPublicKey.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodPublicKey' error=${e}`); + return false; + } +} + +export const ZodPublicKeyWrite = ZodPublicKey.partial(); + +export type PublicKeyWrite = zod.infer; + +export function isPublicKeyWrite(data: any): data is PublicKeyWrite { + try { + ZodPublicKeyWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodPublicKeyWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/rest-error-response.ts b/front/src/back-api/model/rest-error-response.ts new file mode 100644 index 0000000..619a4a1 --- /dev/null +++ b/front/src/back-api/model/rest-error-response.ts @@ -0,0 +1,43 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodUUID} from "./uuid"; +import {Zodint} from "./int"; + +export const ZodRestErrorResponse = zod.object({ + uuid: ZodUUID.optional(), + name: zod.string(), + message: zod.string(), + time: zod.string(), + status: Zodint, + statusMessage: zod.string(), + +}); + +export type RestErrorResponse = zod.infer; + +export function isRestErrorResponse(data: any): data is RestErrorResponse { + try { + ZodRestErrorResponse.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRestErrorResponse' error=${e}`); + return false; + } +} + +export const ZodRestErrorResponseWrite = ZodRestErrorResponse.partial(); + +export type RestErrorResponseWrite = zod.infer; + +export function isRestErrorResponseWrite(data: any): data is RestErrorResponseWrite { + try { + ZodRestErrorResponseWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRestErrorResponseWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/right-description.ts b/front/src/back-api/model/right-description.ts new file mode 100644 index 0000000..10c7a89 --- /dev/null +++ b/front/src/back-api/model/right-description.ts @@ -0,0 +1,67 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodGenericDataSoftDelete} from "./generic-data-soft-delete"; + +export const ZodRightDescription = ZodGenericDataSoftDelete.extend({ + /** + * Application id that have the reference of the right + */ + applicationId: ZodLong, + /** + * Key of the property + */ + key: zod.string().max(64), + /** + * Title of the right + */ + title: zod.string().max(1024), + /** + * Description of the right + */ + description: zod.string().max(1024), + /** + * default value if Never set + */ + defaultValue: zod.string().max(1024).optional(), + /** + * Type of the property + */ + type: zod.string().max(16), + +}); + +export type RightDescription = zod.infer; + +export function isRightDescription(data: any): data is RightDescription { + try { + ZodRightDescription.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRightDescription' error=${e}`); + return false; + } +} + +export const ZodRightDescriptionWrite = ZodRightDescription.omit({ + deleted: true, + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type RightDescriptionWrite = zod.infer; + +export function isRightDescriptionWrite(data: any): data is RightDescriptionWrite { + try { + ZodRightDescriptionWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRightDescriptionWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/right.ts b/front/src/back-api/model/right.ts new file mode 100644 index 0000000..30f2b70 --- /dev/null +++ b/front/src/back-api/model/right.ts @@ -0,0 +1,59 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodGenericDataSoftDelete} from "./generic-data-soft-delete"; + +export const ZodRight = ZodGenericDataSoftDelete.extend({ + /** + * application-ID that have the reference of the right + */ + applicationId: ZodLong, + /** + * user-ID + */ + userId: ZodLong, + /** + * rightDescription-ID of the right description + */ + rightDescriptionId: ZodLong, + /** + * Value of the right + */ + value: zod.string().max(1024), + +}); + +export type Right = zod.infer; + +export function isRight(data: any): data is Right { + try { + ZodRight.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRight' error=${e}`); + return false; + } +} + +export const ZodRightWrite = ZodRight.omit({ + deleted: true, + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type RightWrite = zod.infer; + +export function isRightWrite(data: any): data is RightWrite { + try { + ZodRightWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRightWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/timestamp.ts b/front/src/back-api/model/timestamp.ts new file mode 100644 index 0000000..262f5d1 --- /dev/null +++ b/front/src/back-api/model/timestamp.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodTimestamp = zod.string().datetime({ precision: 3 }); +export type Timestamp = zod.infer; diff --git a/front/src/back-api/model/user-auth-get.ts b/front/src/back-api/model/user-auth-get.ts new file mode 100644 index 0000000..8b88a21 --- /dev/null +++ b/front/src/back-api/model/user-auth-get.ts @@ -0,0 +1,44 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodUser} from "./user"; + +export const ZodUserAuthGet = ZodUser.extend({ + email: zod.string().max(512), + avatar: zod.boolean(), + +}); + +export type UserAuthGet = zod.infer; + +export function isUserAuthGet(data: any): data is UserAuthGet { + try { + ZodUserAuthGet.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserAuthGet' error=${e}`); + return false; + } +} + +export const ZodUserAuthGetWrite = ZodUserAuthGet.omit({ + deleted: true, + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type UserAuthGetWrite = zod.infer; + +export function isUserAuthGetWrite(data: any): data is UserAuthGetWrite { + try { + ZodUserAuthGetWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserAuthGetWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user-auth.ts b/front/src/back-api/model/user-auth.ts new file mode 100644 index 0000000..550f724 --- /dev/null +++ b/front/src/back-api/model/user-auth.ts @@ -0,0 +1,53 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodTimestamp} from "./timestamp"; +import {ZodLong} from "./long"; +import {ZodUser} from "./user"; + +export const ZodUserAuth = ZodUser.extend({ + password: zod.string().max(128), + email: zod.string().max(512), + emailValidate: ZodTimestamp.optional(), + newEmail: zod.string().max(512).optional(), + avatar: zod.boolean(), + /** + * List of accessible application (if not set the application is not available) + */ + applications: zod.array(ZodLong), + +}); + +export type UserAuth = zod.infer; + +export function isUserAuth(data: any): data is UserAuth { + try { + ZodUserAuth.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserAuth' error=${e}`); + return false; + } +} + +export const ZodUserAuthWrite = ZodUserAuth.omit({ + deleted: true, + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type UserAuthWrite = zod.infer; + +export function isUserAuthWrite(data: any): data is UserAuthWrite { + try { + ZodUserAuthWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserAuthWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user-create.ts b/front/src/back-api/model/user-create.ts new file mode 100644 index 0000000..74a96af --- /dev/null +++ b/front/src/back-api/model/user-create.ts @@ -0,0 +1,38 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodUserCreate = zod.object({ + login: zod.string().max(255).optional(), + email: zod.string().max(255).optional(), + password: zod.string().max(255).optional(), + +}); + +export type UserCreate = zod.infer; + +export function isUserCreate(data: any): data is UserCreate { + try { + ZodUserCreate.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserCreate' error=${e}`); + return false; + } +} + +export const ZodUserCreateWrite = ZodUserCreate.partial(); + +export type UserCreateWrite = zod.infer; + +export function isUserCreateWrite(data: any): data is UserCreateWrite { + try { + ZodUserCreateWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserCreateWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user-out.ts b/front/src/back-api/model/user-out.ts new file mode 100644 index 0000000..c5b7a2d --- /dev/null +++ b/front/src/back-api/model/user-out.ts @@ -0,0 +1,38 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; + +export const ZodUserOut = zod.object({ + id: ZodLong, + login: zod.string().max(255).optional(), + +}); + +export type UserOut = zod.infer; + +export function isUserOut(data: any): data is UserOut { + try { + ZodUserOut.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserOut' error=${e}`); + return false; + } +} + +export const ZodUserOutWrite = ZodUserOut.partial(); + +export type UserOutWrite = zod.infer; + +export function isUserOutWrite(data: any): data is UserOutWrite { + try { + ZodUserOutWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserOutWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user.ts b/front/src/back-api/model/user.ts new file mode 100644 index 0000000..1db3cd7 --- /dev/null +++ b/front/src/back-api/model/user.ts @@ -0,0 +1,53 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodTimestamp} from "./timestamp"; +import {ZodUUID} from "./uuid"; +import {ZodGenericDataSoftDelete} from "./generic-data-soft-delete"; + +export const ZodUser = ZodGenericDataSoftDelete.extend({ + login: zod.string().max(128).optional(), + lastConnection: ZodTimestamp.optional(), + admin: zod.boolean(), + blocked: zod.boolean(), + removed: zod.boolean(), + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodUUID).optional(), + +}); + +export type User = zod.infer; + +export function isUser(data: any): data is User { + try { + ZodUser.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUser' error=${e}`); + return false; + } +} + +export const ZodUserWrite = ZodUser.omit({ + deleted: true, + id: true, + createdAt: true, + updatedAt: true, + +}).partial(); + +export type UserWrite = zod.infer; + +export function isUserWrite(data: any): data is UserWrite { + try { + ZodUserWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/uuid.ts b/front/src/back-api/model/uuid.ts new file mode 100644 index 0000000..93c1be4 --- /dev/null +++ b/front/src/back-api/model/uuid.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodUUID = zod.string().uuid(); +export type UUID = zod.infer; diff --git a/front/src/back-api/rest-tools.ts b/front/src/back-api/rest-tools.ts index 836dc44..941c83e 100644 --- a/front/src/back-api/rest-tools.ts +++ b/front/src/back-api/rest-tools.ts @@ -4,25 +4,25 @@ * @license MPL-2 */ -import { RestErrorResponse } from "./model" +import { RestErrorResponse } from "./model"; export enum HTTPRequestModel { - DELETE = 'DELETE', - GET = 'GET', - PATCH = 'PATCH', - POST = 'POST', - PUT = 'PUT', + DELETE = "DELETE", + GET = "GET", + PATCH = "PATCH", + POST = "POST", + PUT = "PUT", } export enum HTTPMimeType { - ALL = '*/*', - CSV = 'text/csv', - IMAGE = 'image/*', - IMAGE_JPEG = 'image/jpeg', - IMAGE_PNG = 'image/png', - JSON = 'application/json', - MULTIPART = 'multipart/form-data', - OCTET_STREAM = 'application/octet-stream', - TEXT_PLAIN = 'text/plain', + ALL = "*/*", + CSV = "text/csv", + IMAGE = "image/*", + IMAGE_JPEG = "image/jpeg", + IMAGE_PNG = "image/png", + JSON = "application/json", + MULTIPART = "multipart/form-data", + OCTET_STREAM = "application/octet-stream", + TEXT_PLAIN = "text/plain", } export interface RESTConfig { @@ -50,23 +50,6 @@ export interface ModelResponseHttp { data: any; } -export function isArrayOf( - data: any, - typeChecker: (subData: any) => subData is TYPE, - length?: number -): data is TYPE[] { - if (!Array.isArray(data)) { - return false; - } - if (!data.every(typeChecker)) { - return false; - } - if (length !== undefined && data.length != length) { - return false; - } - return true; -} - function isNullOrUndefined(data: any): data is undefined | null { return data === undefined || data === null; } @@ -75,52 +58,61 @@ function isNullOrUndefined(data: any): data is undefined | null { export type ProgressCallback = (count: number, total: number) => void; export interface RESTAbort { - abort?: () => boolean + abort?: () => boolean; } - // Rest generic callback have a basic model to upload and download advancement. export interface RESTCallbacks { - progressUpload?: ProgressCallback, - progressDownload?: ProgressCallback, - abortHandle?: RESTAbort, -}; + progressUpload?: ProgressCallback; + progressDownload?: ProgressCallback; + abortHandle?: RESTAbort; +} export interface RESTRequestType { - restModel: RESTModel, - restConfig: RESTConfig, - data?: any, - params?: object, - queries?: object, - callback?: RESTCallbacks, -}; + restModel: RESTModel; + restConfig: RESTConfig; + data?: any; + params?: object; + queries?: object; + callback?: RESTCallbacks; +} function replaceAll(input, searchValue, replaceValue) { - return input.split(searchValue).join(replaceValue); + return input.split(searchValue).join(replaceValue); } function removeTrailingSlashes(input: string): string { if (isNullOrUndefined(input)) { return "undefined"; } - return input.replace(/\/+$/, ''); + return input.replace(/\/+$/, ""); } function removeLeadingSlashes(input: string): string { if (isNullOrUndefined(input)) { return ""; } - return input.replace(/^\/+/, ''); + return input.replace(/^\/+/, ""); } -export function RESTUrl({ restModel, restConfig, params, queries }: RESTRequestType): string { +export function RESTUrl({ + restModel, + restConfig, + params, + queries, +}: RESTRequestType): string { // Create the URL PATH: - let generateUrl = `${removeTrailingSlashes(restConfig.server)}/${removeLeadingSlashes(restModel.endPoint)}`; + let generateUrl = `${removeTrailingSlashes( + restConfig.server + )}/${removeLeadingSlashes(restModel.endPoint)}`; if (params !== undefined) { for (let key of Object.keys(params)) { generateUrl = replaceAll(generateUrl, `{${key}}`, `${params[key]}`); } } - if (queries === undefined && (restConfig.token === undefined || restModel.tokenInUrl !== true)) { + if ( + queries === undefined && + (restConfig.token === undefined || restModel.tokenInUrl !== true) + ) { return generateUrl; } const searchParams = new URLSearchParams(); @@ -128,8 +120,8 @@ export function RESTUrl({ restModel, restConfig, params, queries }: RESTRequestT for (let key of Object.keys(queries)) { const value = queries[key]; if (Array.isArray(value)) { - for (let iii = 0; iii < value.length; iii++) { - searchParams.append(`${key}`, `${value[iii]}`); + for (const element of value) { + searchParams.append(`${key}`, `${element}`); } } else { searchParams.append(`${key}`, `${value}`); @@ -137,36 +129,43 @@ export function RESTUrl({ restModel, restConfig, params, queries }: RESTRequestT } } if (restConfig.token !== undefined && restModel.tokenInUrl === true) { - searchParams.append('Authorization', `Bearer ${restConfig.token}`); + searchParams.append("Authorization", `Bearer ${restConfig.token}`); } return generateUrl + "?" + searchParams.toString(); } - -export function fetchProgress(generateUrl: string, { method, headers, body }: { - method: HTTPRequestModel, - headers: any, - body: any, -}, { progressUpload, progressDownload, abortHandle }: RESTCallbacks): Promise { - const xhr = { - io: new XMLHttpRequest() - } +export function fetchProgress( + generateUrl: string, + { + method, + headers, + body, + }: { + method: HTTPRequestModel; + headers: any; + body: any; + }, + { progressUpload, progressDownload, abortHandle }: RESTCallbacks +): Promise { + const xhr: { + io?: XMLHttpRequest; + } = { + io: new XMLHttpRequest(), + }; return new Promise((resolve, reject) => { // Stream the upload progress if (progressUpload) { - xhr.io.upload.addEventListener("progress", (dataEvent) => { + xhr.io?.upload.addEventListener("progress", (dataEvent) => { if (dataEvent.lengthComputable) { - //console.log(` ==> has a progress event: ${dataEvent.loaded} / ${dataEvent.total}`); progressUpload(dataEvent.loaded, dataEvent.total); } }); } // Stream the download progress if (progressDownload) { - xhr.io.addEventListener("progress", (dataEvent) => { + xhr.io?.addEventListener("progress", (dataEvent) => { if (dataEvent.lengthComputable) { - //console.log(` ==> download progress:: ${dataEvent.loaded} / ${dataEvent.total}`); - progressUpload(dataEvent.loaded, dataEvent.total); + progressDownload(dataEvent.loaded, dataEvent.total); } }); } @@ -177,38 +176,43 @@ export function fetchProgress(generateUrl: string, { method, headers, body }: { xhr.io.abort(); return true; } - console.log(`Request abort (FAIL) on the XMLHttpRequest: ${generateUrl}`); + console.log( + `Request abort (FAIL) on the XMLHttpRequest: ${generateUrl}` + ); return false; - } + }; } // Check if we have an internal Fail: - xhr.io.addEventListener('error', () => { + xhr.io?.addEventListener("error", () => { xhr.io = undefined; - reject(new TypeError('Failed to fetch')) + reject(new TypeError("Failed to fetch")); }); // Capture the end of the stream - xhr.io.addEventListener("loadend", () => { - if (xhr.io.readyState !== XMLHttpRequest.DONE) { - //console.log(` ==> READY state`); + xhr.io?.addEventListener("loadend", () => { + if (xhr.io?.readyState !== XMLHttpRequest.DONE) { return; } - if (xhr.io.status === 0) { + if (xhr.io?.status === 0) { //the stream has been aborted - reject(new TypeError('Fetch has been aborted')); + reject(new TypeError("Fetch has been aborted")); return; } // Stream is ended, transform in a generic response: const response = new Response(xhr.io.response, { status: xhr.io.status, - statusText: xhr.io.statusText + statusText: xhr.io.statusText, }); - const headersArray = replaceAll(xhr.io.getAllResponseHeaders().trim(), "\r\n", "\n").split('\n'); + const headersArray = replaceAll( + xhr.io.getAllResponseHeaders().trim(), + "\r\n", + "\n" + ).split("\n"); headersArray.forEach(function (header) { - const firstColonIndex = header.indexOf(':'); + const firstColonIndex = header.indexOf(":"); if (firstColonIndex !== -1) { - var key = header.substring(0, firstColonIndex).trim(); - var value = header.substring(firstColonIndex + 1).trim(); + const key = header.substring(0, firstColonIndex).trim(); + const value = header.substring(firstColonIndex + 1).trim(); response.headers.set(key, value); } else { response.headers.set(header, ""); @@ -217,31 +221,38 @@ export function fetchProgress(generateUrl: string, { method, headers, body }: { xhr.io = undefined; resolve(response); }); - xhr.io.open(method, generateUrl, true); + xhr.io?.open(method, generateUrl, true); if (!isNullOrUndefined(headers)) { for (const [key, value] of Object.entries(headers)) { - xhr.io.setRequestHeader(key, value as string); + xhr.io?.setRequestHeader(key, value as string); } } - xhr.io.send(body); + xhr.io?.send(body); }); } -export function RESTRequest({ restModel, restConfig, data, params, queries, callback }: RESTRequestType): Promise { +export function RESTRequest({ + restModel, + restConfig, + data, + params, + queries, + callback, +}: RESTRequestType): Promise { // Create the URL PATH: let generateUrl = RESTUrl({ restModel, restConfig, data, params, queries }); let headers: any = {}; if (restConfig.token !== undefined && restModel.tokenInUrl !== true) { - headers['Authorization'] = `Bearer ${restConfig.token}`; + headers["Authorization"] = `Bearer ${restConfig.token}`; } if (restModel.accept !== undefined) { - headers['Accept'] = restModel.accept; + headers["Accept"] = restModel.accept; } if (restModel.requestType !== HTTPRequestModel.GET) { // if Get we have not a content type, the body is empty if (restModel.contentType !== HTTPMimeType.MULTIPART) { // special case of multi-part ==> no content type otherwise the browser does not set the ";bundary=--****" - headers['Content-Type'] = restModel.contentType; + headers["Content-Type"] = restModel.contentType; } } let body = data; @@ -252,14 +263,16 @@ export function RESTRequest({ restModel, restConfig, data, params, queries, call for (const name in data) { formData.append(name, data[name]); } - body = formData + body = formData; } return new Promise((resolve, reject) => { let action: undefined | Promise = undefined; - if (isNullOrUndefined(callback) - || (isNullOrUndefined(callback.progressDownload) - && isNullOrUndefined(callback.progressUpload) - && isNullOrUndefined(callback.abortHandle))) { + if ( + isNullOrUndefined(callback) || + (isNullOrUndefined(callback.progressDownload) && + isNullOrUndefined(callback.progressUpload) && + isNullOrUndefined(callback.abortHandle)) + ) { // No information needed: call the generic fetch interface action = fetch(generateUrl, { method: restModel.requestType, @@ -268,113 +281,112 @@ export function RESTRequest({ restModel, restConfig, data, params, queries, call }); } else { // need progression information: call old fetch model (XMLHttpRequest) that permit to keep % upload and % download for HTTP1.x - action = fetchProgress(generateUrl, { - method: restModel.requestType ?? HTTPRequestModel.GET, - headers, - body, - }, callback); + action = fetchProgress( + generateUrl, + { + method: restModel.requestType ?? HTTPRequestModel.GET, + headers, + body, + }, + callback + ); } - action.then((response: Response) => { - if (response.status >= 200 && response.status <= 299) { - const contentType = response.headers.get('Content-Type'); - if (!isNullOrUndefined(restModel.accept) && restModel.accept !== contentType) { - reject({ - time: Date().toString(), - status: 901, - error: `REST check wrong type: ${restModel.accept} != ${contentType}`, - statusMessage: "Fetch error", - message: "rest-tools.ts Wrong type in the message return type" - } as RestErrorResponse); - } else if (contentType === HTTPMimeType.JSON) { - response - .json() - .then((value: any) => { - //console.log(`RECEIVE ==> ${response.status}=${ JSON.stringify(value, null, 2)}`); - resolve({ status: response.status, data: value }); - }) - .catch((reason: any) => { - reject({ - time: Date().toString(), - status: 902, - error: `REST parse json fail: ${reason}`, - statusMessage: "Fetch parse error", - message: "rest-tools.ts Wrong message model to parse" - } as RestErrorResponse); - }); + action + .then((response: Response) => { + if (response.status >= 200 && response.status <= 299) { + const contentType = response.headers.get("Content-Type"); + if ( + !isNullOrUndefined(restModel.accept) && + restModel.accept !== contentType + ) { + reject({ + name: "Model accept type incompatible", + time: Date().toString(), + status: 901, + error: `REST check wrong type: ${restModel.accept} != ${contentType}`, + statusMessage: "Fetch error", + message: "rest-tools.ts Wrong type in the message return type", + } as RestErrorResponse); + } else if (contentType === HTTPMimeType.JSON) { + response + .json() + .then((value: any) => { + resolve({ status: response.status, data: value }); + }) + .catch((reason: any) => { + reject({ + name: "API serialization error", + time: Date().toString(), + status: 902, + error: `REST parse json fail: ${reason}`, + statusMessage: "Fetch parse error", + message: "rest-tools.ts Wrong message model to parse", + } as RestErrorResponse); + }); + } else { + resolve({ status: response.status, data: response.body }); + } } else { - resolve({ status: response.status, data: response.body }); + reject({ + name: "REST return no OK status", + time: Date().toString(), + status: response.status, + error: `${response.body}`, + statusMessage: "Fetch code error", + message: "rest-tools.ts Wrong return code", + } as RestErrorResponse); } - } else { + }) + .catch((error: any) => { reject({ - time: Date().toString(), - status: response.status, - error: `${response.body}`, - statusMessage: "Fetch code error", - message: "rest-tools.ts Wrong return code" - } as RestErrorResponse); - } - }).catch((error: any) => { - reject({ - time: Date(), - status: 999, - error: error, - statusMessage: "Fetch catch error", - message: "rest-tools.ts detect an error in the fetch request" + name: "Request fail", + time: Date(), + status: 999, + error: error, + statusMessage: "Fetch catch error", + message: "rest-tools.ts detect an error in the fetch request", + }); }); - }); }); } - - -export function RESTRequestJson(request: RESTRequestType, checker: (data: any) => data is TYPE): Promise { +export function RESTRequestJson( + request: RESTRequestType, + checker?: (data: any) => data is TYPE +): Promise { return new Promise((resolve, reject) => { - RESTRequest(request).then((value: ModelResponseHttp) => { - if (isNullOrUndefined(checker)) { - console.log(`Have no check of MODEL in API: ${RESTUrl(request)}`); - resolve(value.data); - } else if (checker(value.data)) { - resolve(value.data); - } else { - reject({ - time: Date().toString(), - status: 950, - error: "REST Fail to verify the data", - statusMessage: "API cast ERROR", - message: "api.ts Check type as fail" - } as RestErrorResponse); - } - }).catch((reason: RestErrorResponse) => { - reject(reason); - }); - }); -} -export function RESTRequestJsonArray(request: RESTRequestType, checker: (data: any) => data is TYPE): Promise { - return new Promise((resolve, reject) => { - RESTRequest(request).then((value: ModelResponseHttp) => { - if (isArrayOf(value.data, checker)) { - resolve(value.data); - } else { - reject({ - time: Date().toString(), - status: 950, - error: "REST Fail to verify the data", - statusMessage: "API cast ERROR", - message: "api.ts Check type as fail" - } as RestErrorResponse); - } - }).catch((reason: RestErrorResponse) => { - reject(reason); - }); + RESTRequest(request) + .then((value: ModelResponseHttp) => { + if (isNullOrUndefined(checker)) { + console.log(`Have no check of MODEL in API: ${RESTUrl(request)}`); + resolve(value.data); + } else if (checker === undefined || checker(value.data)) { + resolve(value.data); + } else { + reject({ + name: "Model check fail", + time: Date().toString(), + status: 950, + error: "REST Fail to verify the data", + statusMessage: "API cast ERROR", + message: "api.ts Check type as fail", + } as RestErrorResponse); + } + }) + .catch((reason: RestErrorResponse) => { + reject(reason); + }); }); } export function RESTRequestVoid(request: RESTRequestType): Promise { return new Promise((resolve, reject) => { - RESTRequest(request).then((value: ModelResponseHttp) => { - resolve(); - }).catch((reason: RestErrorResponse) => { - reject(reason); - }); + RESTRequest(request) + .then((value: ModelResponseHttp) => { + resolve(); + }) + .catch((reason: RestErrorResponse) => { + reject(reason); + }); }); } diff --git a/front/src/base/scene/application-user-right-edit/application-user-right-edit.ts b/front/src/base/scene/application-user-right-edit/application-user-right-edit.ts index 4be93e9..5aa0cf4 100644 --- a/front/src/base/scene/application-user-right-edit/application-user-right-edit.ts +++ b/front/src/base/scene/application-user-right-edit/application-user-right-edit.ts @@ -139,7 +139,7 @@ export class applicationUserRightEditScene implements OnInit { this.cdr.detectChanges(); } updateButtonDisabled: number | undefined = undefined; - dataUpdate: object = {} + dataUpdate: { [key: string]: object; } = {} onEditState(value: number) { console.log(`changeState : ${JSON.stringify(value, null, 2)}`); @@ -147,7 +147,7 @@ export class applicationUserRightEditScene implements OnInit { // we do not change the main ref ==> notify angular that something have change and need to be re-render??? this.cdr.detectChanges(); } - onEditValues(value: any) { + onEditValues(value: { [key: string]: object; }) { console.log(`onDeltaValues : ${JSON.stringify(value, null, 2)}`); this.dataUpdate = value; // we do not change the main ref ==> notify angular that something have change and need to be re-render??? diff --git a/front/src/base/service/admin-user.ts b/front/src/base/service/admin-user.ts index 3079ccc..4d44f33 100644 --- a/front/src/base/service/admin-user.ts +++ b/front/src/base/service/admin-user.ts @@ -219,7 +219,7 @@ export class AdminUserService { }); } - updateApplicationRights(userId: number, applicationId: number, dataUpdate: object): Promise { + updateApplicationRights(userId: number, applicationId: number, dataUpdate: { [key: string]: object; }): Promise { return UserResource.patchApplicationRight({ restConfig: this.getRestConfig(), params: {