diff --git a/Back/skydiveLogs-api.DomainBusiness/StatsService.cs b/Back/skydiveLogs-api.DomainBusiness/StatsService.cs
index 378f69a..6f0982b 100644
--- a/Back/skydiveLogs-api.DomainBusiness/StatsService.cs
+++ b/Back/skydiveLogs-api.DomainBusiness/StatsService.cs
@@ -345,6 +345,7 @@ namespace skydiveLogs_api.DomainBusiness
myStats.ForLastMonthByJumpType = resetStats.ForLastMonthByJumpType;
myStats.ForLastYearByDz = resetStats.ForLastYearByDz;
myStats.ForLastYearByJumpType = resetStats.ForLastYearByJumpType;
+ myStats.ByYearByJumpType = resetStats.ByYearByJumpType;
_userStatsRepository.Update(myStats);
}
@@ -358,8 +359,10 @@ namespace skydiveLogs_api.DomainBusiness
var allStats = _userStatsRepository.GetAll(_identityService.ConnectedUser);
if (allStats == null)
{
- allStats = new UserStats();
- allStats.User = _identityService.ConnectedUser;
+ allStats = new UserStats
+ {
+ User = _identityService.ConnectedUser
+ };
_userStatsRepository.Add(allStats);
}
diff --git a/Dockerfile b/Dockerfile
index c4e5f72..5905471 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,15 +2,17 @@
# Use the official Microsoft ASP.NET Core image to build the backend
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-backend
-WORKDIR "/src/backend"
-COPY Back/ .
-RUN dotnet restore "skydiveLogs-api/skydiveLogs-api.csproj"
-RUN dotnet publish "skydiveLogs-api/skydiveLogs-api.csproj" -c Release -o /app/publish
+WORKDIR /src/backend
+COPY Back .
+RUN dotnet restore skydiveLogs-api/skydiveLogs-api.csproj
+RUN dotnet publish skydiveLogs-api/skydiveLogs-api.csproj -c Release -o /app/publish
# Use the official node image to build the Angular app
-FROM node:20-alpine AS build-frontend
+FROM node:22-alpine AS build-frontend
WORKDIR /app
-COPY ["Front/skydivelogs-app/package.json", "Front/skydivelogs-app/package-lock.json*", "./"]
+# COPY ["../Front/skydivelogs-app/package.json", "../Front/skydivelogs-app/package-lock.json*", "./"]
+COPY Front/skydivelogs-app/package.json .
+COPY Front/skydivelogs-app/package-lock.json .
RUN npm install
COPY --exclude=Front/skydivelogs-app/node_modules/* Front/skydivelogs-app/ .
RUN npm run build
@@ -21,13 +23,12 @@ WORKDIR /app
# Install nginx
RUN apt-get update && apt-get install -y nginx curl && rm -rf /var/lib/apt/lists/*
-
# Copy custom nginx configuration
COPY nginx.conf /etc/nginx/sites-available/default
RUN rm -rf /usr/share/nginx/html/*
-
# Copy frontend dist folder to nginx html directory
-COPY --from=build-frontend /app/dist/browser /usr/share/nginx/html
+COPY --from=build-frontend --exclude=/app/dist/browser/config/* /app/dist/browser /usr/share/nginx/html
+RUN mkdir -p /usr/share/nginx/html/config
# Copy backend from the correct build stage
COPY --from=build-backend /app/publish /app
diff --git a/Front/skydivelogs-app/.editorconfig b/Front/skydivelogs-app/.editorconfig
index 6e87a00..9b73521 100644
--- a/Front/skydivelogs-app/.editorconfig
+++ b/Front/skydivelogs-app/.editorconfig
@@ -4,7 +4,7 @@ root = true
[*]
charset = utf-8
indent_style = space
-indent_size = 2
+indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
diff --git a/Front/skydivelogs-app/angular.json b/Front/skydivelogs-app/angular.json
index 43fa29c..d9d376d 100644
--- a/Front/skydivelogs-app/angular.json
+++ b/Front/skydivelogs-app/angular.json
@@ -1,123 +1,145 @@
{
- "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
- "version": 1,
- "newProjectRoot": "projects",
- "projects": {
- "skydivelogs-app": {
- "projectType": "application",
- "schematics": {
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "skydivelogs-app": {
+ "projectType": "application",
+ "schematics": {
+ "@schematics/angular:component": {
+ "style": "scss"
+ }
+ },
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular/build:application",
+ "options": {
+ "outputPath": "dist",
+ "index": "src/index.html",
+ "browser": "src/main.ts",
+ "polyfills": ["zone.js"],
+ "tsConfig": "tsconfig.app.json",
+ "inlineStyleLanguage": "scss",
+ "assets": [
+ "src/assets",
+ "src/config",
+ "src/favicon.ico"
+ ],
+ "styles": [
+ "src/assets/css/styles-app-loading.scss",
+ "src/assets/css/styles.css",
+ "src/assets/css/new-theme.scss",
+ "@angular/material/prebuilt-themes/pink-bluegrey.css"
+ ],
+ "scripts": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "2mb",
+ "maximumError": "5mb"
+ },
+ {
+ "type": "bundle",
+ "name": "main",
+ "baseline": "1mb",
+ "maximumWarning": "1.5mb",
+ "maximumError": "2mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all",
+ "optimization": true,
+ "extractLicenses": true,
+ "sourceMap": false,
+ "fileReplacements": [
+ {
+ "replace": "src/environments/environment.ts",
+ "with": "src/environments/environment.prod.ts"
+ }
+ ]
+ },
+ "development": {
+ "optimization": false,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "fileReplacements": [
+ {
+ "replace": "src/environments/environment.ts",
+ "with": "src/environments/environment.dev.ts"
+ }
+ ]
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular/build:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "skydivelogs-app:build:production"
+ },
+ "development": {
+ "buildTarget": "skydivelogs-app:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ },
+ "extract-i18n": {
+ "builder": "@angular/build:extract-i18n"
+ },
+ "test": {
+ "builder": "@angular/build:karma",
+ "options": {
+ "polyfills": ["zone.js", "zone.js/testing"],
+ "tsConfig": "tsconfig.spec.json",
+ "inlineStyleLanguage": "scss",
+ "assets": [
+ {
+ "glob": "**/*",
+ "input": "public"
+ }
+ ],
+ "styles": ["src/styles.scss"],
+ "scripts": []
+ }
+ }
+ }
+ }
+ },
+ "schematics": {
"@schematics/angular:component": {
- "style": "scss"
+ "type": "component"
+ },
+ "@schematics/angular:directive": {
+ "type": "directive"
+ },
+ "@schematics/angular:service": {
+ "type": "service"
+ },
+ "@schematics/angular:guard": {
+ "typeSeparator": "."
+ },
+ "@schematics/angular:interceptor": {
+ "typeSeparator": "."
+ },
+ "@schematics/angular:module": {
+ "typeSeparator": "."
+ },
+ "@schematics/angular:pipe": {
+ "typeSeparator": "."
+ },
+ "@schematics/angular:resolver": {
+ "typeSeparator": "."
}
- },
- "root": "",
- "sourceRoot": "src",
- "prefix": "app",
- "architect": {
- "build": {
- "builder": "@angular-devkit/build-angular:application",
- "options": {
- "outputPath": "dist",
- "index": "src/index.html",
- "browser": "src/main.ts",
- "polyfills": ["zone.js"],
- "tsConfig": "tsconfig.app.json",
- "inlineStyleLanguage": "scss",
- "assets": [
- "src/assets",
- "src/config",
- "src/favicon.ico",
- {
- "glob": "**/*",
- "input": "public"
- }
- ],
- "styles": [
- "src/assets/css/styles-app-loading.scss",
- "src/assets/css/styles.css",
- "src/assets/css/new-theme.scss",
- "@angular/material/prebuilt-themes/pink-bluegrey.css"
- ],
- "scripts": []
- },
- "configurations": {
- "production": {
- "budgets": [
- {
- "type": "initial",
- "maximumWarning": "2mb",
- "maximumError": "5mb"
- },
- {
- "type": "bundle",
- "name": "main",
- "baseline": "1mb",
- "maximumWarning": "1.5mb",
- "maximumError": "2mb"
- },
- {
- "type": "anyComponentStyle",
- "maximumWarning": "2kb",
- "maximumError": "4kb"
- }
- ],
- "outputHashing": "all",
- "optimization": true,
- "extractLicenses": true,
- "sourceMap": false,
- "fileReplacements": [
- {
- "replace": "src/environments/environment.ts",
- "with": "src/environments/environment.prod.ts"
- }
- ]
- },
- "development": {
- "optimization": false,
- "extractLicenses": false,
- "sourceMap": true,
- "fileReplacements": [
- {
- "replace": "src/environments/environment.ts",
- "with": "src/environments/environment.dev.ts"
- }
- ]
- }
- },
- "defaultConfiguration": "production"
- },
- "serve": {
- "builder": "@angular-devkit/build-angular:dev-server",
- "configurations": {
- "production": {
- "buildTarget": "skydivelogs-app:build:production"
- },
- "development": {
- "buildTarget": "skydivelogs-app:build:development"
- }
- },
- "defaultConfiguration": "development"
- },
- "extract-i18n": {
- "builder": "@angular-devkit/build-angular:extract-i18n"
- },
- "test": {
- "builder": "@angular-devkit/build-angular:karma",
- "options": {
- "polyfills": ["zone.js", "zone.js/testing"],
- "tsConfig": "tsconfig.spec.json",
- "inlineStyleLanguage": "scss",
- "assets": [
- {
- "glob": "**/*",
- "input": "public"
- }
- ],
- "styles": ["src/styles.scss"],
- "scripts": []
- }
- }
- }
}
- }
}
diff --git a/Front/skydivelogs-app/package-lock.json b/Front/skydivelogs-app/package-lock.json
index 23ece89..c56659d 100644
--- a/Front/skydivelogs-app/package-lock.json
+++ b/Front/skydivelogs-app/package-lock.json
@@ -9,16 +9,16 @@
"version": "0.0.0",
"license": "MIT",
"dependencies": {
- "@angular/animations": "^19.2.6",
- "@angular/cdk": "^19.2.9",
- "@angular/common": "^19.2.6",
- "@angular/compiler": "^19.2.6",
- "@angular/core": "^19.2.6",
- "@angular/forms": "^19.2.6",
- "@angular/material": "^19.2.9",
- "@angular/platform-browser": "^19.2.6",
- "@angular/platform-browser-dynamic": "^19.2.6",
- "@angular/router": "^19.2.6",
+ "@angular/animations": "^20.3.16",
+ "@angular/cdk": "^20.2.14",
+ "@angular/common": "^20.3.16",
+ "@angular/compiler": "^20.3.16",
+ "@angular/core": "^20.3.16",
+ "@angular/forms": "^20.3.16",
+ "@angular/material": "^20.2.14",
+ "@angular/platform-browser": "^20.3.16",
+ "@angular/platform-browser-dynamic": "^20.3.16",
+ "@angular/router": "^20.3.16",
"@ngx-translate/core": "^17.0.0",
"@ngx-translate/http-loader": "^17.0.0",
"chart.js": "^4.3.0",
@@ -28,9 +28,9 @@
"zone.js": "~0.15.0"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^19.2.7",
- "@angular/cli": "~19.2.7",
- "@angular/compiler-cli": "^19.2.6",
+ "@angular/build": "^20.3.14",
+ "@angular/cli": "~20.3.14",
+ "@angular/compiler-cli": "^20.3.16",
"@types/jasmine": "~4.3.0",
"jasmine-core": "~5.1.0",
"karma": "~6.4.0",
@@ -38,7 +38,216 @@
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
- "typescript": "~5.5.4"
+ "typescript": "~5.9.3"
+ }
+ },
+ "node_modules/@algolia/abtesting": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz",
+ "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-abtesting": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz",
+ "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-analytics": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz",
+ "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-common": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz",
+ "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-insights": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz",
+ "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-personalization": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz",
+ "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-query-suggestions": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz",
+ "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-search": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz",
+ "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/ingestion": {
+ "version": "1.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz",
+ "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/monitoring": {
+ "version": "1.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz",
+ "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/recommend": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz",
+ "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-browser-xhr": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz",
+ "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-fetch": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz",
+ "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-node-http": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz",
+ "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.35.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
}
},
"node_modules/@ampproject/remapping": {
@@ -56,213 +265,37 @@
}
},
"node_modules/@angular-devkit/architect": {
- "version": "0.1902.19",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.19.tgz",
- "integrity": "sha512-iexYDIYpGAeAU7T60bGcfrGwtq1bxpZixYxWuHYiaD1b5baQgNSfd1isGEOh37GgDNsf4In9i2LOLPm0wBdtgQ==",
+ "version": "0.2003.14",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.14.tgz",
+ "integrity": "sha512-dVlWqaYu0PIgHTBu16uYUS6lJOIpXCpOYhPWuYwqdo7a4x2HcagPQ+omUZJTA6kukh7ROpKcRoiy/DsO/DgvUA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "19.2.19",
- "rxjs": "7.8.1"
+ "@angular-devkit/core": "20.3.14",
+ "rxjs": "7.8.2"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
}
},
- "node_modules/@angular-devkit/architect/node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@angular-devkit/build-angular": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.2.19.tgz",
- "integrity": "sha512-uIxi6Vzss6+ycljVhkyPUPWa20w8qxJL9lEn0h6+sX/fhM8Djt0FHIuTQjoX58EoMaQ/1jrXaRaGimkbaFcG9A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.1902.19",
- "@angular-devkit/build-webpack": "0.1902.19",
- "@angular-devkit/core": "19.2.19",
- "@angular/build": "19.2.19",
- "@babel/core": "7.26.10",
- "@babel/generator": "7.26.10",
- "@babel/helper-annotate-as-pure": "7.25.9",
- "@babel/helper-split-export-declaration": "7.24.7",
- "@babel/plugin-transform-async-generator-functions": "7.26.8",
- "@babel/plugin-transform-async-to-generator": "7.25.9",
- "@babel/plugin-transform-runtime": "7.26.10",
- "@babel/preset-env": "7.26.9",
- "@babel/runtime": "7.26.10",
- "@discoveryjs/json-ext": "0.6.3",
- "@ngtools/webpack": "19.2.19",
- "@vitejs/plugin-basic-ssl": "1.2.0",
- "ansi-colors": "4.1.3",
- "autoprefixer": "10.4.20",
- "babel-loader": "9.2.1",
- "browserslist": "^4.21.5",
- "copy-webpack-plugin": "12.0.2",
- "css-loader": "7.1.2",
- "esbuild-wasm": "0.25.4",
- "fast-glob": "3.3.3",
- "http-proxy-middleware": "3.0.5",
- "istanbul-lib-instrument": "6.0.3",
- "jsonc-parser": "3.3.1",
- "karma-source-map-support": "1.4.0",
- "less": "4.2.2",
- "less-loader": "12.2.0",
- "license-webpack-plugin": "4.0.2",
- "loader-utils": "3.3.1",
- "mini-css-extract-plugin": "2.9.2",
- "open": "10.1.0",
- "ora": "5.4.1",
- "picomatch": "4.0.2",
- "piscina": "4.8.0",
- "postcss": "8.5.2",
- "postcss-loader": "8.1.1",
- "resolve-url-loader": "5.0.0",
- "rxjs": "7.8.1",
- "sass": "1.85.0",
- "sass-loader": "16.0.5",
- "semver": "7.7.1",
- "source-map-loader": "5.0.0",
- "source-map-support": "0.5.21",
- "terser": "5.39.0",
- "tree-kill": "1.2.2",
- "tslib": "2.8.1",
- "webpack": "5.98.0",
- "webpack-dev-middleware": "7.4.2",
- "webpack-dev-server": "5.2.2",
- "webpack-merge": "6.0.1",
- "webpack-subresource-integrity": "5.1.0"
- },
- "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"
- },
- "optionalDependencies": {
- "esbuild": "0.25.4"
- },
- "peerDependencies": {
- "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0",
- "@angular/localize": "^19.0.0 || ^19.2.0-next.0",
- "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0",
- "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0",
- "@angular/ssr": "^19.2.19",
- "@web/test-runner": "^0.20.0",
- "browser-sync": "^3.0.2",
- "jest": "^29.5.0",
- "jest-environment-jsdom": "^29.5.0",
- "karma": "^6.3.0",
- "ng-packagr": "^19.0.0 || ^19.2.0-next.0",
- "protractor": "^7.0.0",
- "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
- "typescript": ">=5.5 <5.9"
- },
- "peerDependenciesMeta": {
- "@angular/localize": {
- "optional": true
- },
- "@angular/platform-server": {
- "optional": true
- },
- "@angular/service-worker": {
- "optional": true
- },
- "@angular/ssr": {
- "optional": true
- },
- "@web/test-runner": {
- "optional": true
- },
- "browser-sync": {
- "optional": true
- },
- "jest": {
- "optional": true
- },
- "jest-environment-jsdom": {
- "optional": true
- },
- "karma": {
- "optional": true
- },
- "ng-packagr": {
- "optional": true
- },
- "protractor": {
- "optional": true
- },
- "tailwindcss": {
- "optional": true
- }
- }
- },
- "node_modules/@angular-devkit/build-angular/node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@angular-devkit/build-webpack": {
- "version": "0.1902.19",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1902.19.tgz",
- "integrity": "sha512-x2tlGg5CsUveFzuRuqeHknSbGirSAoRynEh+KqPRGK0G3WpMViW/M8SuVurecasegfIrDWtYZ4FnVxKqNbKwXQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@angular-devkit/architect": "0.1902.19",
- "rxjs": "7.8.1"
- },
- "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": "^5.0.2"
- }
- },
- "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
"node_modules/@angular-devkit/core": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.19.tgz",
- "integrity": "sha512-JbLL+4IMLMBgjLZlnPG4lYDfz4zGrJ/s6Aoon321NJKuw1Kb1k5KpFu9dUY0BqLIe8xPQ2UJBpI+xXdK5MXMHQ==",
+ "version": "20.3.14",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.14.tgz",
+ "integrity": "sha512-hWQVi73aGdIRInJqNia79Yi6SzqEThkfLug3AdZiNuNvYMaxAI347yPQz4f3Dr/i0QuiqRq/T8zfqbr46tfCqg==",
"dev": true,
"license": "MIT",
"dependencies": {
"ajv": "8.17.1",
"ajv-formats": "3.0.1",
"jsonc-parser": "3.3.1",
- "picomatch": "4.0.2",
- "rxjs": "7.8.1",
- "source-map": "0.7.4"
+ "picomatch": "4.0.3",
+ "rxjs": "7.8.2",
+ "source-map": "0.7.6"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
},
@@ -275,121 +308,110 @@
}
}
},
- "node_modules/@angular-devkit/core/node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
"node_modules/@angular-devkit/schematics": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.19.tgz",
- "integrity": "sha512-J4Jarr0SohdrHcb40gTL4wGPCQ952IMWF1G/MSAQfBAPvA9ZKApYhpxcY7PmehVePve+ujpus1dGsJ7dPxz8Kg==",
+ "version": "20.3.14",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.3.14.tgz",
+ "integrity": "sha512-+Al9QojzTucccSUnJI+9x64Nnuev82eIgIlb1Ov9hLR572SNtjhV7zIXIalphFghEy+SPvynRuvOSc69Otp3Fg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "19.2.19",
+ "@angular-devkit/core": "20.3.14",
"jsonc-parser": "3.3.1",
"magic-string": "0.30.17",
- "ora": "5.4.1",
- "rxjs": "7.8.1"
+ "ora": "8.2.0",
+ "rxjs": "7.8.2"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
}
},
- "node_modules/@angular-devkit/schematics/node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
"node_modules/@angular/animations": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.2.18.tgz",
- "integrity": "sha512-c76x1t+OiSstPsvJdHmV8Q4taF+8SxWKqiY750fOjpd01it4jJbU6YQqIroC6Xie7154zZIxOTHH2uTj+nm5qA==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.3.16.tgz",
+ "integrity": "sha512-N83/GFY5lKNyWgPV3xHHy2rb3/eP1ZLzSVI+dmMVbf3jbqwY1YPQcMiAG8UDzaILY1Dkus91kWLF8Qdr3nHAzg==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "19.2.18",
- "@angular/core": "19.2.18"
+ "@angular/core": "20.3.16"
}
},
"node_modules/@angular/build": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.2.19.tgz",
- "integrity": "sha512-SFzQ1bRkNFiOVu+aaz+9INmts7tDUrsHLEr9HmARXr9qk5UmR8prlw39p2u+Bvi6/lCiJ18TZMQQl9mGyr63lg==",
+ "version": "20.3.14",
+ "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.3.14.tgz",
+ "integrity": "sha512-ajFJqTqyI2N9PYcWVxUfb6YEUQsZ13jsBzI/kDpeEZZCGadLJGSMZVNwkX7n9Csw7gzertpenGBXsSTxUjd8TA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.1902.19",
- "@babel/core": "7.26.10",
- "@babel/helper-annotate-as-pure": "7.25.9",
+ "@angular-devkit/architect": "0.2003.14",
+ "@babel/core": "7.28.3",
+ "@babel/helper-annotate-as-pure": "7.27.3",
"@babel/helper-split-export-declaration": "7.24.7",
- "@babel/plugin-syntax-import-attributes": "7.26.0",
- "@inquirer/confirm": "5.1.6",
- "@vitejs/plugin-basic-ssl": "1.2.0",
- "beasties": "0.3.2",
+ "@inquirer/confirm": "5.1.14",
+ "@vitejs/plugin-basic-ssl": "2.1.0",
+ "beasties": "0.3.5",
"browserslist": "^4.23.0",
- "esbuild": "0.25.4",
- "fast-glob": "3.3.3",
+ "esbuild": "0.25.9",
"https-proxy-agent": "7.0.6",
"istanbul-lib-instrument": "6.0.3",
- "listr2": "8.2.5",
+ "jsonc-parser": "3.3.1",
+ "listr2": "9.0.1",
"magic-string": "0.30.17",
"mrmime": "2.0.1",
- "parse5-html-rewriting-stream": "7.0.0",
- "picomatch": "4.0.2",
- "piscina": "4.8.0",
- "rollup": "4.34.8",
- "sass": "1.85.0",
- "semver": "7.7.1",
+ "parse5-html-rewriting-stream": "8.0.0",
+ "picomatch": "4.0.3",
+ "piscina": "5.1.3",
+ "rollup": "4.52.3",
+ "sass": "1.90.0",
+ "semver": "7.7.2",
"source-map-support": "0.5.21",
- "vite": "6.4.1",
- "watchpack": "2.4.2"
+ "tinyglobby": "0.2.14",
+ "vite": "7.1.11",
+ "watchpack": "2.4.4"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
},
"optionalDependencies": {
- "lmdb": "3.2.6"
+ "lmdb": "3.4.2"
},
"peerDependencies": {
- "@angular/compiler": "^19.0.0 || ^19.2.0-next.0",
- "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0",
- "@angular/localize": "^19.0.0 || ^19.2.0-next.0",
- "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0",
- "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0",
- "@angular/ssr": "^19.2.19",
+ "@angular/compiler": "^20.0.0",
+ "@angular/compiler-cli": "^20.0.0",
+ "@angular/core": "^20.0.0",
+ "@angular/localize": "^20.0.0",
+ "@angular/platform-browser": "^20.0.0",
+ "@angular/platform-server": "^20.0.0",
+ "@angular/service-worker": "^20.0.0",
+ "@angular/ssr": "^20.3.14",
"karma": "^6.4.0",
"less": "^4.2.0",
- "ng-packagr": "^19.0.0 || ^19.2.0-next.0",
+ "ng-packagr": "^20.0.0",
"postcss": "^8.4.0",
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
- "typescript": ">=5.5 <5.9"
+ "tslib": "^2.3.0",
+ "typescript": ">=5.8 <6.0",
+ "vitest": "^3.1.1"
},
"peerDependenciesMeta": {
+ "@angular/core": {
+ "optional": true
+ },
"@angular/localize": {
"optional": true
},
+ "@angular/platform-browser": {
+ "optional": true
+ },
"@angular/platform-server": {
"optional": true
},
@@ -413,229 +435,224 @@
},
"tailwindcss": {
"optional": true
+ },
+ "vitest": {
+ "optional": true
}
}
},
+ "node_modules/@angular/build/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@angular/cdk": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.2.19.tgz",
- "integrity": "sha512-PCpJagurPBqciqcq4Z8+3OtKLb7rSl4w/qBJoIMua8CgnrjvA1i+SWawhdtfI1zlY8FSwhzLwXV0CmWWfFzQPg==",
+ "version": "20.2.14",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.2.14.tgz",
+ "integrity": "sha512-7bZxc01URbiPiIBWThQ69XwOxVduqEKN4PhpbF2AAyfMc/W8Hcr4VoIJOwL0O1Nkq5beS8pCAqoOeIgFyXd/kg==",
"license": "MIT",
"dependencies": {
- "parse5": "^7.1.2",
+ "parse5": "^8.0.0",
"tslib": "^2.3.0"
},
"peerDependencies": {
- "@angular/common": "^19.0.0 || ^20.0.0",
- "@angular/core": "^19.0.0 || ^20.0.0",
+ "@angular/common": "^20.0.0 || ^21.0.0",
+ "@angular/core": "^20.0.0 || ^21.0.0",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/cli": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.2.19.tgz",
- "integrity": "sha512-e9tAzFNOL4mMWfMnpC9Up83OCTOp2siIj8W41FCp8jfoEnw79AXDDLh3d70kOayiObchksTJVShslTogLUyhMw==",
+ "version": "20.3.14",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.3.14.tgz",
+ "integrity": "sha512-vlvnxyUtPnETl5az+creSPOrcnrZC5mhD5hSGl2WoqhYeyWdyUwsC9KLSy8/5gCH/4TNwtjqeX3Pw0KaAJUoCQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/architect": "0.1902.19",
- "@angular-devkit/core": "19.2.19",
- "@angular-devkit/schematics": "19.2.19",
- "@inquirer/prompts": "7.3.2",
- "@listr2/prompt-adapter-inquirer": "2.0.18",
- "@schematics/angular": "19.2.19",
+ "@angular-devkit/architect": "0.2003.14",
+ "@angular-devkit/core": "20.3.14",
+ "@angular-devkit/schematics": "20.3.14",
+ "@inquirer/prompts": "7.8.2",
+ "@listr2/prompt-adapter-inquirer": "3.0.1",
+ "@modelcontextprotocol/sdk": "1.25.2",
+ "@schematics/angular": "20.3.14",
"@yarnpkg/lockfile": "1.1.0",
+ "algoliasearch": "5.35.0",
"ini": "5.0.0",
"jsonc-parser": "3.3.1",
- "listr2": "8.2.5",
- "npm-package-arg": "12.0.2",
- "npm-pick-manifest": "10.0.0",
- "pacote": "20.0.0",
+ "listr2": "9.0.1",
+ "npm-package-arg": "13.0.0",
+ "pacote": "21.0.0",
"resolve": "1.22.10",
- "semver": "7.7.1",
- "symbol-observable": "4.0.0",
- "yargs": "17.7.2"
+ "semver": "7.7.2",
+ "yargs": "18.0.0",
+ "zod": "4.1.13"
},
"bin": {
"ng": "bin/ng.js"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
}
},
+ "node_modules/@angular/cli/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@angular/common": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.2.18.tgz",
- "integrity": "sha512-CrV02Omzw/QtfjlEVXVPJVXipdx83NuA+qSASZYrxrhKFusUZyK3P/Zznqg+wiAeNDbedQwMUVqoAARHf0xQrw==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.16.tgz",
+ "integrity": "sha512-GRAziNlntwdnJy3F+8zCOvDdy7id0gITjDnM6P9+n2lXvtDuBLGJKU3DWBbvxcCjtD6JK/g/rEX5fbCxbUHkQQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/core": "19.2.18",
+ "@angular/core": "20.3.16",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/compiler": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.2.18.tgz",
- "integrity": "sha512-3MscvODxRVxc3Cs0ZlHI5Pk5rEvE80otfvxZTMksOZuPlv1B+S8MjWfc3X3jk9SbyUEzODBEH55iCaBHD48V3g==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.16.tgz",
+ "integrity": "sha512-Pt9Ms9GwTThgzdxWBwMfN8cH1JEtQ2DK5dc2yxYtPSaD+WKmG9AVL1PrzIYQEbaKcWk2jxASUHpEWSlNiwo8uw==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
}
},
"node_modules/@angular/compiler-cli": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.2.18.tgz",
- "integrity": "sha512-N4TMtLfImJIoMaRL6mx7885UBeQidywptHH6ACZj71Ar6++DBc1mMlcwuvbeJCd3r3y8MQ5nLv5PZSN/tHr13w==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.3.16.tgz",
+ "integrity": "sha512-l3xF/fXfJAl/UrNnH9Ufkr79myjMgXdHq1mmmph2UnpeqilRB1b8lC9sLBV9MipQHVn3dwocxMIvtrcryfOaXw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/core": "7.26.9",
+ "@babel/core": "7.28.3",
"@jridgewell/sourcemap-codec": "^1.4.14",
"chokidar": "^4.0.0",
"convert-source-map": "^1.5.1",
"reflect-metadata": "^0.2.0",
"semver": "^7.0.0",
"tslib": "^2.3.0",
- "yargs": "^17.2.1"
+ "yargs": "^18.0.0"
},
"bin": {
"ng-xi18n": "bundles/src/bin/ng_xi18n.js",
- "ngc": "bundles/src/bin/ngc.js",
- "ngcc": "bundles/ngcc/index.js"
+ "ngc": "bundles/src/bin/ngc.js"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/compiler": "19.2.18",
- "typescript": ">=5.5 <5.9"
- }
- },
- "node_modules/@angular/compiler-cli/node_modules/@babel/core": {
- "version": "7.26.9",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz",
- "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.26.2",
- "@babel/generator": "^7.26.9",
- "@babel/helper-compilation-targets": "^7.26.5",
- "@babel/helper-module-transforms": "^7.26.0",
- "@babel/helpers": "^7.26.9",
- "@babel/parser": "^7.26.9",
- "@babel/template": "^7.26.9",
- "@babel/traverse": "^7.26.9",
- "@babel/types": "^7.26.9",
- "convert-source-map": "^2.0.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.3",
- "semver": "^6.3.1"
+ "@angular/compiler": "20.3.16",
+ "typescript": ">=5.8 <6.0"
},
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
"node_modules/@angular/core": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.2.18.tgz",
- "integrity": "sha512-+QRrf0Igt8ccUWXHA+7doK5W6ODyhHdqVyblSlcQ8OciwkzIIGGEYNZom5OZyWMh+oI54lcSeyV2O3xaDepSrQ==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.16.tgz",
+ "integrity": "sha512-KSFPKvOmWWLCJBbEO+CuRUXfecX2FRuO0jNi9c54ptXMOPHlK1lIojUnyXmMNzjdHgRug8ci9qDuftvC2B7MKg==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
+ "@angular/compiler": "20.3.16",
"rxjs": "^6.5.3 || ^7.4.0",
"zone.js": "~0.15.0"
+ },
+ "peerDependenciesMeta": {
+ "@angular/compiler": {
+ "optional": true
+ },
+ "zone.js": {
+ "optional": true
+ }
}
},
"node_modules/@angular/forms": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.2.18.tgz",
- "integrity": "sha512-pe40934jWhoS7DyGl7jyZdoj1gvBgur2t1zrJD+csEkTitYnW14+La2Pv6SW1pNX5nIzFsgsS9Nex1KcH5S6Tw==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.16.tgz",
+ "integrity": "sha512-1yzbXpExTqATpVcqA3wGrq4ACFIP3mRxA4pbso5KoJU+/4JfzNFwLsDaFXKpm5uxwchVnj8KM2vPaDOkvtp7NA==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "19.2.18",
- "@angular/core": "19.2.18",
- "@angular/platform-browser": "19.2.18",
+ "@angular/common": "20.3.16",
+ "@angular/core": "20.3.16",
+ "@angular/platform-browser": "20.3.16",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/material": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.2.19.tgz",
- "integrity": "sha512-auIE6JUzTIA3LyYklh9J/T7u64crmphxUBgAa0zcOMDog6SYfwbNe9YeLQqua5ek4OUAOdK/BHHfVl5W5iaUoQ==",
+ "version": "20.2.14",
+ "resolved": "https://registry.npmjs.org/@angular/material/-/material-20.2.14.tgz",
+ "integrity": "sha512-IbAgV6XLsvmHiJzxycVhcNC1PA4M30qi+ERCOir6cT333Bxm8vDV32gsOjfL52uzG5YRARroPC+8s1XqR2oxeA==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
- "@angular/cdk": "19.2.19",
- "@angular/common": "^19.0.0 || ^20.0.0",
- "@angular/core": "^19.0.0 || ^20.0.0",
- "@angular/forms": "^19.0.0 || ^20.0.0",
- "@angular/platform-browser": "^19.0.0 || ^20.0.0",
+ "@angular/cdk": "20.2.14",
+ "@angular/common": "^20.0.0 || ^21.0.0",
+ "@angular/core": "^20.0.0 || ^21.0.0",
+ "@angular/forms": "^20.0.0 || ^21.0.0",
+ "@angular/platform-browser": "^20.0.0 || ^21.0.0",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/platform-browser": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.2.18.tgz",
- "integrity": "sha512-eahtsHPyXTYLARs9YOlXhnXGgzw0wcyOcDkBvNWK/3lA0NHIgIHmQgXAmBo+cJ+g9skiEQTD2OmSrrwbFKWJkw==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.16.tgz",
+ "integrity": "sha512-YsrLS6vyS77i4pVHg4gdSBW74qvzHjpQRTVQ5Lv/OxIjJdYYYkMmjNalCNgy1ZuyY6CaLIB11ccxhrNnxfKGOQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/animations": "19.2.18",
- "@angular/common": "19.2.18",
- "@angular/core": "19.2.18"
+ "@angular/animations": "20.3.16",
+ "@angular/common": "20.3.16",
+ "@angular/core": "20.3.16"
},
"peerDependenciesMeta": {
"@angular/animations": {
@@ -644,38 +661,38 @@
}
},
"node_modules/@angular/platform-browser-dynamic": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.18.tgz",
- "integrity": "sha512-wqDtK2yVN5VDqVeOSOfqELdu40fyoIDknBGSxA27CEXzFVdMWJyIpuvUi+GMa+9eGjlS+1uVVBaRwxmnuvHj+A==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.3.16.tgz",
+ "integrity": "sha512-5mECCV9YeKH6ue239GXRTGeDSd/eTbM1j8dDejhm5cGnPBhTxRw4o+GgSrWTYtb6VmIYdwUGBTC+wCBphiaQ2A==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "19.2.18",
- "@angular/compiler": "19.2.18",
- "@angular/core": "19.2.18",
- "@angular/platform-browser": "19.2.18"
+ "@angular/common": "20.3.16",
+ "@angular/compiler": "20.3.16",
+ "@angular/core": "20.3.16",
+ "@angular/platform-browser": "20.3.16"
}
},
"node_modules/@angular/router": {
- "version": "19.2.18",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.2.18.tgz",
- "integrity": "sha512-7cimxtPODSwokFQ0TRYzX0ad8Yjrl0MJfzaDCJejd1n/q7RZ7KZmHd0DS/LkDNXVMEh4swr00fK+3YWG/Szsrg==",
+ "version": "20.3.16",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.16.tgz",
+ "integrity": "sha512-e1LiQFZaajKqc00cY5FboIrWJZSMnZ64GDp5R0UejritYrqorQQQNOqP1W85BMuY2owibMmxVfX+dJg/Mc8PuQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "19.2.18",
- "@angular/core": "19.2.18",
- "@angular/platform-browser": "19.2.18",
+ "@angular/common": "20.3.16",
+ "@angular/core": "20.3.16",
+ "@angular/platform-browser": "20.3.16",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -705,22 +722,22 @@
}
},
"node_modules/@babel/core": {
- "version": "7.26.10",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz",
- "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==",
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz",
+ "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.26.2",
- "@babel/generator": "^7.26.10",
- "@babel/helper-compilation-targets": "^7.26.5",
- "@babel/helper-module-transforms": "^7.26.0",
- "@babel/helpers": "^7.26.10",
- "@babel/parser": "^7.26.10",
- "@babel/template": "^7.26.9",
- "@babel/traverse": "^7.26.10",
- "@babel/types": "^7.26.10",
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.3",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.28.3",
+ "@babel/helpers": "^7.28.3",
+ "@babel/parser": "^7.28.3",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.3",
+ "@babel/types": "^7.28.2",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -753,16 +770,16 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.26.10",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz",
- "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==",
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
+ "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.26.10",
- "@babel/types": "^7.26.10",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
+ "@babel/parser": "^7.28.3",
+ "@babel/types": "^7.28.2",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
},
"engines": {
@@ -770,13 +787,13 @@
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz",
- "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==",
+ "version": "7.27.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
+ "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.25.9"
+ "@babel/types": "^7.27.3"
},
"engines": {
"node": ">=6.9.0"
@@ -809,109 +826,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz",
- "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-member-expression-to-functions": "^7.28.5",
- "@babel/helper-optimise-call-expression": "^7.27.1",
- "@babel/helper-replace-supers": "^7.28.6",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/traverse": "^7.28.6",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.27.3"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz",
- "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "regexpu-core": "^6.3.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.27.3"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
- "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-plugin-utils": "^7.27.1",
- "debug": "^4.4.1",
- "lodash.debounce": "^4.0.8",
- "resolve": "^1.22.10"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
"node_modules/@babel/helper-globals": {
"version": "7.28.0",
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
@@ -922,20 +836,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz",
- "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.28.5",
- "@babel/types": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-module-imports": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
@@ -968,92 +868,6 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
- "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
- "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz",
- "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.1",
- "@babel/helper-wrap-function": "^7.27.1",
- "@babel/traverse": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.27.3"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz",
- "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.28.5",
- "@babel/helper-optimise-call-expression": "^7.27.1",
- "@babel/traverse": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
- "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.27.1",
- "@babel/types": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-split-export-declaration": {
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
@@ -1097,21 +911,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-wrap-function": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz",
- "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.28.6",
- "@babel/traverse": "^7.28.6",
- "@babel/types": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helpers": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz",
@@ -1142,1170 +941,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz",
- "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz",
- "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz",
- "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz",
- "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/plugin-transform-optional-chaining": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.13.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz",
- "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/traverse": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.21.0-placeholder-for-preset-env.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
- "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz",
- "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.26.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz",
- "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.25.9"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
- "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz",
- "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.26.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz",
- "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.26.5",
- "@babel/helper-remap-async-to-generator": "^7.25.9",
- "@babel/traverse": "^7.26.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz",
- "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.25.9",
- "@babel/helper-plugin-utils": "^7.25.9",
- "@babel/helper-remap-async-to-generator": "^7.25.9"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz",
- "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz",
- "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-class-properties": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz",
- "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz",
- "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0"
- }
- },
- "node_modules/@babel/plugin-transform-classes": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz",
- "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-compilation-targets": "^7.28.6",
- "@babel/helper-globals": "^7.28.0",
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/helper-replace-supers": "^7.28.6",
- "@babel/traverse": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.27.3"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz",
- "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/template": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz",
- "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz",
- "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz",
- "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.28.6.tgz",
- "integrity": "sha512-5suVoXjC14lUN6ZL9OLKIHCNVWCrqGqlmEp/ixdXjvgnEl/kauLvvMO/Xw9NyMc95Joj1AeLVPVMvibBgSoFlA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-transform-dynamic-import": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz",
- "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz",
- "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-export-namespace-from": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz",
- "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-for-of": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz",
- "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-function-name": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz",
- "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz",
- "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz",
- "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz",
- "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz",
- "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz",
- "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz",
- "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz",
- "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.28.3",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5",
- "@babel/traverse": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz",
- "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz",
- "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-transform-new-target": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz",
- "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz",
- "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-numeric-separator": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz",
- "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz",
- "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/plugin-transform-destructuring": "^7.28.5",
- "@babel/plugin-transform-parameters": "^7.27.7",
- "@babel/traverse": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-object-super": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz",
- "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-replace-supers": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz",
- "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz",
- "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-parameters": {
- "version": "7.27.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz",
- "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-private-methods": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz",
- "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz",
- "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-create-class-features-plugin": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.27.3"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz",
- "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.6.tgz",
- "integrity": "sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-regexp-modifiers": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz",
- "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz",
- "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-runtime": {
- "version": "7.26.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz",
- "integrity": "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.25.9",
- "@babel/helper-plugin-utils": "^7.26.5",
- "babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.11.0",
- "babel-plugin-polyfill-regenerator": "^0.6.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz",
- "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-spread": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz",
- "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz",
- "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz",
- "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz",
- "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz",
- "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-property-regex": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz",
- "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz",
- "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz",
- "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/preset-env": {
- "version": "7.26.9",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz",
- "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.26.8",
- "@babel/helper-compilation-targets": "^7.26.5",
- "@babel/helper-plugin-utils": "^7.26.5",
- "@babel/helper-validator-option": "^7.25.9",
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9",
- "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9",
- "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
- "@babel/plugin-syntax-import-assertions": "^7.26.0",
- "@babel/plugin-syntax-import-attributes": "^7.26.0",
- "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
- "@babel/plugin-transform-arrow-functions": "^7.25.9",
- "@babel/plugin-transform-async-generator-functions": "^7.26.8",
- "@babel/plugin-transform-async-to-generator": "^7.25.9",
- "@babel/plugin-transform-block-scoped-functions": "^7.26.5",
- "@babel/plugin-transform-block-scoping": "^7.25.9",
- "@babel/plugin-transform-class-properties": "^7.25.9",
- "@babel/plugin-transform-class-static-block": "^7.26.0",
- "@babel/plugin-transform-classes": "^7.25.9",
- "@babel/plugin-transform-computed-properties": "^7.25.9",
- "@babel/plugin-transform-destructuring": "^7.25.9",
- "@babel/plugin-transform-dotall-regex": "^7.25.9",
- "@babel/plugin-transform-duplicate-keys": "^7.25.9",
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9",
- "@babel/plugin-transform-dynamic-import": "^7.25.9",
- "@babel/plugin-transform-exponentiation-operator": "^7.26.3",
- "@babel/plugin-transform-export-namespace-from": "^7.25.9",
- "@babel/plugin-transform-for-of": "^7.26.9",
- "@babel/plugin-transform-function-name": "^7.25.9",
- "@babel/plugin-transform-json-strings": "^7.25.9",
- "@babel/plugin-transform-literals": "^7.25.9",
- "@babel/plugin-transform-logical-assignment-operators": "^7.25.9",
- "@babel/plugin-transform-member-expression-literals": "^7.25.9",
- "@babel/plugin-transform-modules-amd": "^7.25.9",
- "@babel/plugin-transform-modules-commonjs": "^7.26.3",
- "@babel/plugin-transform-modules-systemjs": "^7.25.9",
- "@babel/plugin-transform-modules-umd": "^7.25.9",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9",
- "@babel/plugin-transform-new-target": "^7.25.9",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6",
- "@babel/plugin-transform-numeric-separator": "^7.25.9",
- "@babel/plugin-transform-object-rest-spread": "^7.25.9",
- "@babel/plugin-transform-object-super": "^7.25.9",
- "@babel/plugin-transform-optional-catch-binding": "^7.25.9",
- "@babel/plugin-transform-optional-chaining": "^7.25.9",
- "@babel/plugin-transform-parameters": "^7.25.9",
- "@babel/plugin-transform-private-methods": "^7.25.9",
- "@babel/plugin-transform-private-property-in-object": "^7.25.9",
- "@babel/plugin-transform-property-literals": "^7.25.9",
- "@babel/plugin-transform-regenerator": "^7.25.9",
- "@babel/plugin-transform-regexp-modifiers": "^7.26.0",
- "@babel/plugin-transform-reserved-words": "^7.25.9",
- "@babel/plugin-transform-shorthand-properties": "^7.25.9",
- "@babel/plugin-transform-spread": "^7.25.9",
- "@babel/plugin-transform-sticky-regex": "^7.25.9",
- "@babel/plugin-transform-template-literals": "^7.26.8",
- "@babel/plugin-transform-typeof-symbol": "^7.26.7",
- "@babel/plugin-transform-unicode-escapes": "^7.25.9",
- "@babel/plugin-transform-unicode-property-regex": "^7.25.9",
- "@babel/plugin-transform-unicode-regex": "^7.25.9",
- "@babel/plugin-transform-unicode-sets-regex": "^7.25.9",
- "@babel/preset-modules": "0.1.6-no-external-plugins",
- "babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.11.0",
- "babel-plugin-polyfill-regenerator": "^0.6.1",
- "core-js-compat": "^3.40.0",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/preset-env/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/preset-modules": {
- "version": "0.1.6-no-external-plugins",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
- "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/@babel/runtime": {
- "version": "7.26.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz",
- "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/template": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
@@ -2381,20 +1016,10 @@
"node": ">=0.1.90"
}
},
- "node_modules/@discoveryjs/json-ext": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz",
- "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.17.0"
- }
- },
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz",
- "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz",
+ "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==",
"cpu": [
"ppc64"
],
@@ -2409,9 +1034,9 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz",
- "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz",
+ "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==",
"cpu": [
"arm"
],
@@ -2426,9 +1051,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz",
- "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz",
+ "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==",
"cpu": [
"arm64"
],
@@ -2443,9 +1068,9 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz",
- "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz",
+ "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==",
"cpu": [
"x64"
],
@@ -2460,9 +1085,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz",
- "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz",
+ "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
"cpu": [
"arm64"
],
@@ -2477,9 +1102,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz",
- "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz",
+ "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==",
"cpu": [
"x64"
],
@@ -2494,9 +1119,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz",
- "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz",
+ "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==",
"cpu": [
"arm64"
],
@@ -2511,9 +1136,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz",
- "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz",
+ "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==",
"cpu": [
"x64"
],
@@ -2528,9 +1153,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz",
- "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz",
+ "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==",
"cpu": [
"arm"
],
@@ -2545,9 +1170,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz",
- "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz",
+ "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==",
"cpu": [
"arm64"
],
@@ -2562,9 +1187,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz",
- "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz",
+ "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==",
"cpu": [
"ia32"
],
@@ -2579,9 +1204,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz",
- "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz",
+ "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==",
"cpu": [
"loong64"
],
@@ -2596,9 +1221,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz",
- "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz",
+ "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==",
"cpu": [
"mips64el"
],
@@ -2613,9 +1238,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz",
- "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz",
+ "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==",
"cpu": [
"ppc64"
],
@@ -2630,9 +1255,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz",
- "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz",
+ "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==",
"cpu": [
"riscv64"
],
@@ -2647,9 +1272,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz",
- "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz",
+ "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==",
"cpu": [
"s390x"
],
@@ -2664,9 +1289,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz",
- "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz",
+ "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
"cpu": [
"x64"
],
@@ -2681,9 +1306,9 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz",
- "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz",
+ "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==",
"cpu": [
"arm64"
],
@@ -2698,9 +1323,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz",
- "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz",
+ "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==",
"cpu": [
"x64"
],
@@ -2715,9 +1340,9 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz",
- "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz",
+ "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==",
"cpu": [
"arm64"
],
@@ -2732,9 +1357,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz",
- "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz",
+ "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==",
"cpu": [
"x64"
],
@@ -2748,10 +1373,27 @@
"node": ">=18"
}
},
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz",
+ "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@esbuild/sunos-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz",
- "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz",
+ "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==",
"cpu": [
"x64"
],
@@ -2766,9 +1408,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz",
- "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz",
+ "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==",
"cpu": [
"arm64"
],
@@ -2783,9 +1425,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz",
- "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz",
+ "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==",
"cpu": [
"ia32"
],
@@ -2800,9 +1442,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz",
- "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz",
+ "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==",
"cpu": [
"x64"
],
@@ -2816,6 +1458,19 @@
"node": ">=18"
}
},
+ "node_modules/@hono/node-server": {
+ "version": "1.19.9",
+ "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz",
+ "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.14.1"
+ },
+ "peerDependencies": {
+ "hono": "^4"
+ }
+ },
"node_modules/@inquirer/ansi": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz",
@@ -2852,14 +1507,14 @@
}
},
"node_modules/@inquirer/confirm": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.6.tgz",
- "integrity": "sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw==",
+ "version": "5.1.14",
+ "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz",
+ "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@inquirer/core": "^10.1.7",
- "@inquirer/type": "^3.0.4"
+ "@inquirer/core": "^10.1.15",
+ "@inquirer/type": "^3.0.8"
},
"engines": {
"node": ">=18"
@@ -3047,22 +1702,22 @@
}
},
"node_modules/@inquirer/prompts": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz",
- "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==",
+ "version": "7.8.2",
+ "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.2.tgz",
+ "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@inquirer/checkbox": "^4.1.2",
- "@inquirer/confirm": "^5.1.6",
- "@inquirer/editor": "^4.2.7",
- "@inquirer/expand": "^4.0.9",
- "@inquirer/input": "^4.1.6",
- "@inquirer/number": "^3.0.9",
- "@inquirer/password": "^4.0.9",
- "@inquirer/rawlist": "^4.0.9",
- "@inquirer/search": "^3.0.9",
- "@inquirer/select": "^4.0.9"
+ "@inquirer/checkbox": "^4.2.1",
+ "@inquirer/confirm": "^5.1.14",
+ "@inquirer/editor": "^4.2.17",
+ "@inquirer/expand": "^4.0.17",
+ "@inquirer/input": "^4.2.1",
+ "@inquirer/number": "^3.0.17",
+ "@inquirer/password": "^4.0.17",
+ "@inquirer/rawlist": "^4.1.5",
+ "@inquirer/search": "^3.1.0",
+ "@inquirer/select": "^4.3.1"
},
"engines": {
"node": ">=18"
@@ -3166,6 +1821,29 @@
}
}
},
+ "node_modules/@isaacs/balanced-match": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
+ "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/@isaacs/brace-expansion": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
+ "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@isaacs/balanced-match": "^4.0.1"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
@@ -3290,6 +1968,8 @@
"integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
"dev": true,
"license": "MIT",
+ "optional": true,
+ "peer": true,
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25"
@@ -3313,182 +1993,33 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@jsonjoy.com/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
- "node_modules/@jsonjoy.com/buffers": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz",
- "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
- "node_modules/@jsonjoy.com/codegen": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz",
- "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
- "node_modules/@jsonjoy.com/json-pack": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz",
- "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jsonjoy.com/base64": "^1.1.2",
- "@jsonjoy.com/buffers": "^1.2.0",
- "@jsonjoy.com/codegen": "^1.0.0",
- "@jsonjoy.com/json-pointer": "^1.0.2",
- "@jsonjoy.com/util": "^1.9.0",
- "hyperdyperid": "^1.2.0",
- "thingies": "^2.5.0",
- "tree-dump": "^1.1.0"
- },
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
- "node_modules/@jsonjoy.com/json-pointer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz",
- "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jsonjoy.com/codegen": "^1.0.0",
- "@jsonjoy.com/util": "^1.9.0"
- },
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
- "node_modules/@jsonjoy.com/util": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz",
- "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jsonjoy.com/buffers": "^1.0.0",
- "@jsonjoy.com/codegen": "^1.0.0"
- },
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
"node_modules/@kurkle/color": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz",
"integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==",
"license": "MIT"
},
- "node_modules/@leichtgewicht/ip-codec": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz",
- "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@listr2/prompt-adapter-inquirer": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.18.tgz",
- "integrity": "sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz",
+ "integrity": "sha512-3XFmGwm3u6ioREG+ynAQB7FoxfajgQnMhIu8wC5eo/Lsih4aKDg0VuIMGaOsYn7hJSJagSeaD4K8yfpkEoDEmA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@inquirer/type": "^1.5.5"
+ "@inquirer/type": "^3.0.7"
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=20.0.0"
},
"peerDependencies": {
- "@inquirer/prompts": ">= 3 < 8"
- }
- },
- "node_modules/@listr2/prompt-adapter-inquirer/node_modules/@inquirer/type": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz",
- "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mute-stream": "^1.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@listr2/prompt-adapter-inquirer/node_modules/mute-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
- "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "@inquirer/prompts": ">= 3 < 8",
+ "listr2": "9.0.1"
}
},
"node_modules/@lmdb/lmdb-darwin-arm64": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.2.6.tgz",
- "integrity": "sha512-yF/ih9EJJZc72psFQbwnn8mExIWfTnzWJg+N02hnpXtDPETYLmQswIMBn7+V88lfCaFrMozJsUvcEQIkEPU0Gg==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz",
+ "integrity": "sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==",
"cpu": [
"arm64"
],
@@ -3500,9 +2031,9 @@
]
},
"node_modules/@lmdb/lmdb-darwin-x64": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.2.6.tgz",
- "integrity": "sha512-5BbCumsFLbCi586Bb1lTWQFkekdQUw8/t8cy++Uq251cl3hbDIGEwD9HAwh8H6IS2F6QA9KdKmO136LmipRNkg==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz",
+ "integrity": "sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==",
"cpu": [
"x64"
],
@@ -3514,9 +2045,9 @@
]
},
"node_modules/@lmdb/lmdb-linux-arm": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.2.6.tgz",
- "integrity": "sha512-+6XgLpMb7HBoWxXj+bLbiiB4s0mRRcDPElnRS3LpWRzdYSe+gFk5MT/4RrVNqd2MESUDmb53NUXw1+BP69bjiQ==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz",
+ "integrity": "sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==",
"cpu": [
"arm"
],
@@ -3528,9 +2059,9 @@
]
},
"node_modules/@lmdb/lmdb-linux-arm64": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.2.6.tgz",
- "integrity": "sha512-l5VmJamJ3nyMmeD1ANBQCQqy7do1ESaJQfKPSm2IG9/ADZryptTyCj8N6QaYgIWewqNUrcbdMkJajRQAt5Qjfg==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz",
+ "integrity": "sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==",
"cpu": [
"arm64"
],
@@ -3542,9 +2073,9 @@
]
},
"node_modules/@lmdb/lmdb-linux-x64": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.2.6.tgz",
- "integrity": "sha512-nDYT8qN9si5+onHYYaI4DiauDMx24OAiuZAUsEqrDy+ja/3EbpXPX/VAkMV8AEaQhy3xc4dRC+KcYIvOFefJ4Q==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz",
+ "integrity": "sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==",
"cpu": [
"x64"
],
@@ -3555,10 +2086,24 @@
"linux"
]
},
+ "node_modules/@lmdb/lmdb-win32-arm64": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz",
+ "integrity": "sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
"node_modules/@lmdb/lmdb-win32-x64": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.2.6.tgz",
- "integrity": "sha512-XlqVtILonQnG+9fH2N3Aytria7P/1fwDgDhl29rde96uH2sLB8CHORIf2PfuLVzFQJ7Uqp8py9AYwr3ZUCFfWg==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz",
+ "integrity": "sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==",
"cpu": [
"x64"
],
@@ -3569,6 +2114,62 @@
"win32"
]
},
+ "node_modules/@modelcontextprotocol/sdk": {
+ "version": "1.25.2",
+ "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.25.2.tgz",
+ "integrity": "sha512-LZFeo4F9M5qOhC/Uc1aQSrBHxMrvxett+9KLHt7OhcExtoiRN9DKgbZffMP/nxjutWDQpfMDfP3nkHI4X9ijww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@hono/node-server": "^1.19.7",
+ "ajv": "^8.17.1",
+ "ajv-formats": "^3.0.1",
+ "content-type": "^1.0.5",
+ "cors": "^2.8.5",
+ "cross-spawn": "^7.0.5",
+ "eventsource": "^3.0.2",
+ "eventsource-parser": "^3.0.0",
+ "express": "^5.0.1",
+ "express-rate-limit": "^7.5.0",
+ "jose": "^6.1.1",
+ "json-schema-typed": "^8.0.2",
+ "pkce-challenge": "^5.0.0",
+ "raw-body": "^3.0.0",
+ "zod": "^3.25 || ^4.0",
+ "zod-to-json-schema": "^3.25.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@cfworker/json-schema": "^4.1.1",
+ "zod": "^3.25 || ^4.0"
+ },
+ "peerDependenciesMeta": {
+ "@cfworker/json-schema": {
+ "optional": true
+ },
+ "zod": {
+ "optional": false
+ }
+ }
+ },
+ "node_modules/@modelcontextprotocol/sdk/node_modules/raw-body": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz",
+ "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "~3.1.2",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.7.0",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
"node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
@@ -3976,23 +2577,6 @@
"node": ">= 10"
}
},
- "node_modules/@ngtools/webpack": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.2.19.tgz",
- "integrity": "sha512-R9aeTrOBiRVl8I698JWPniUAAEpSvzc8SUGWSM5UXWMcHnWqd92cOnJJ1aXDGJZKXrbhMhCBx9Dglmcks5IDpg==",
- "dev": true,
- "license": "MIT",
- "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": "^19.0.0 || ^19.2.0-next.0",
- "typescript": ">=5.5 <5.9",
- "webpack": "^5.54.0"
- }
- },
"node_modules/@ngx-translate/core": {
"version": "17.0.0",
"resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-17.0.0.tgz",
@@ -4019,44 +2603,6 @@
"@angular/core": ">=16"
}
},
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/@npmcli/agent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz",
@@ -4224,6 +2770,26 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/@npmcli/package-json/node_modules/hosted-git-info": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
+ "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^10.0.1"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@npmcli/package-json/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/@npmcli/package-json/node_modules/minimatch": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
@@ -4651,20 +3217,6 @@
"license": "MIT",
"optional": true
},
- "node_modules/@parcel/watcher/node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -4677,9 +3229,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz",
- "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz",
+ "integrity": "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==",
"cpu": [
"arm"
],
@@ -4691,9 +3243,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz",
- "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz",
+ "integrity": "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==",
"cpu": [
"arm64"
],
@@ -4705,9 +3257,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz",
- "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz",
+ "integrity": "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==",
"cpu": [
"arm64"
],
@@ -4719,9 +3271,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz",
- "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz",
+ "integrity": "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==",
"cpu": [
"x64"
],
@@ -4733,9 +3285,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz",
- "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz",
+ "integrity": "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==",
"cpu": [
"arm64"
],
@@ -4747,9 +3299,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz",
- "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz",
+ "integrity": "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==",
"cpu": [
"x64"
],
@@ -4761,9 +3313,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz",
- "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz",
+ "integrity": "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==",
"cpu": [
"arm"
],
@@ -4775,9 +3327,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz",
- "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz",
+ "integrity": "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==",
"cpu": [
"arm"
],
@@ -4789,9 +3341,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz",
- "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz",
+ "integrity": "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==",
"cpu": [
"arm64"
],
@@ -4803,9 +3355,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz",
- "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz",
+ "integrity": "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==",
"cpu": [
"arm64"
],
@@ -4817,9 +3369,9 @@
]
},
"node_modules/@rollup/rollup-linux-loong64-gnu": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.1.tgz",
- "integrity": "sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz",
+ "integrity": "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==",
"cpu": [
"loong64"
],
@@ -4830,66 +3382,10 @@
"linux"
]
},
- "node_modules/@rollup/rollup-linux-loong64-musl": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.1.tgz",
- "integrity": "sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz",
- "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz",
- "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.1.tgz",
- "integrity": "sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-ppc64-musl": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.1.tgz",
- "integrity": "sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz",
+ "integrity": "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==",
"cpu": [
"ppc64"
],
@@ -4901,9 +3397,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz",
- "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz",
+ "integrity": "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==",
"cpu": [
"riscv64"
],
@@ -4915,9 +3411,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-musl": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.1.tgz",
- "integrity": "sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz",
+ "integrity": "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==",
"cpu": [
"riscv64"
],
@@ -4929,9 +3425,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz",
- "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz",
+ "integrity": "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==",
"cpu": [
"s390x"
],
@@ -4943,9 +3439,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz",
- "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz",
+ "integrity": "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==",
"cpu": [
"x64"
],
@@ -4957,9 +3453,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz",
- "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz",
+ "integrity": "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==",
"cpu": [
"x64"
],
@@ -4970,24 +3466,10 @@
"linux"
]
},
- "node_modules/@rollup/rollup-openbsd-x64": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.1.tgz",
- "integrity": "sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ]
- },
"node_modules/@rollup/rollup-openharmony-arm64": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.1.tgz",
- "integrity": "sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz",
+ "integrity": "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==",
"cpu": [
"arm64"
],
@@ -4999,9 +3481,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz",
- "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz",
+ "integrity": "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==",
"cpu": [
"arm64"
],
@@ -5013,9 +3495,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz",
- "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz",
+ "integrity": "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==",
"cpu": [
"ia32"
],
@@ -5027,9 +3509,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-gnu": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz",
- "integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz",
+ "integrity": "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==",
"cpu": [
"x64"
],
@@ -5041,9 +3523,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz",
- "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz",
+ "integrity": "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==",
"cpu": [
"x64"
],
@@ -5055,18 +3537,18 @@
]
},
"node_modules/@schematics/angular": {
- "version": "19.2.19",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.2.19.tgz",
- "integrity": "sha512-6/0pvbPCY4UHeB4lnM/5r250QX5gcLgOYbR5FdhFu+22mOPHfWpRc5tNuY9kCephDHzAHjo6fTW1vefOOmA4jw==",
+ "version": "20.3.14",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.3.14.tgz",
+ "integrity": "sha512-JO37puMXFWN8YWqZZJ/URs8vPJNszZXcIyBnYdKDWTGaAnbOZMu0nzQlOC+h5NM7R5cPQtOpJv0wxEnY6EYI4A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "19.2.19",
- "@angular-devkit/schematics": "19.2.19",
+ "@angular-devkit/core": "20.3.14",
+ "@angular-devkit/schematics": "20.3.14",
"jsonc-parser": "3.3.1"
},
"engines": {
- "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
"yarn": ">= 1.13.0"
}
@@ -5151,19 +3633,6 @@
"node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@sindresorhus/merge-streams": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
- "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@socket.io/component-emitter": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
@@ -5221,48 +3690,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@types/body-parser": {
- "version": "1.19.6",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
- "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/bonjour": {
- "version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz",
- "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/connect": {
- "version": "3.4.38",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
- "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/connect-history-api-fallback": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz",
- "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/express-serve-static-core": "*",
- "@types/node": "*"
- }
- },
"node_modules/@types/cors": {
"version": "2.8.19",
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
@@ -5273,78 +3700,13 @@
"@types/node": "*"
}
},
- "node_modules/@types/eslint": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
- "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "node_modules/@types/eslint-scope": {
- "version": "3.7.7",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
- "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
"node_modules/@types/estree": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
- "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
"dev": true,
"license": "MIT"
},
- "node_modules/@types/express": {
- "version": "4.17.25",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz",
- "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.33",
- "@types/qs": "*",
- "@types/serve-static": "^1"
- }
- },
- "node_modules/@types/express-serve-static-core": {
- "version": "4.19.8",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz",
- "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/http-errors": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
- "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/http-proxy": {
- "version": "1.17.17",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz",
- "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@types/jasmine": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.6.tgz",
@@ -5352,20 +3714,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/mime": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/node": {
"version": "25.0.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.8.tgz",
@@ -5376,288 +3724,19 @@
"undici-types": "~7.16.0"
}
},
- "node_modules/@types/node-forge": {
- "version": "1.3.14",
- "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz",
- "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/qs": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
- "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
- "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/retry": {
- "version": "0.12.2",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz",
- "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/send": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz",
- "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/serve-index": {
- "version": "1.9.4",
- "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz",
- "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/express": "*"
- }
- },
- "node_modules/@types/serve-static": {
- "version": "1.15.10",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz",
- "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/http-errors": "*",
- "@types/node": "*",
- "@types/send": "<1"
- }
- },
- "node_modules/@types/serve-static/node_modules/@types/send": {
- "version": "0.17.6",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz",
- "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "node_modules/@types/sockjs": {
- "version": "0.3.36",
- "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz",
- "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/ws": {
- "version": "8.18.1",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
- "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@vitejs/plugin-basic-ssl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.2.0.tgz",
- "integrity": "sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz",
+ "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=14.21.3"
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
},
"peerDependencies": {
- "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
+ "vite": "^6.0.0 || ^7.0.0"
}
},
- "node_modules/@webassemblyjs/ast": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
- "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/helper-numbers": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
- }
- },
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
- "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
- "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
- "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
- "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.13.2",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
- "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
- "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/wasm-gen": "1.14.1"
- }
- },
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
- "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
- "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
- "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
- "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/helper-wasm-section": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-opt": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1",
- "@webassemblyjs/wast-printer": "1.14.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
- "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
- }
- },
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
- "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
- "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
- }
- },
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
- "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "dev": true,
- "license": "Apache-2.0"
- },
"node_modules/@yarnpkg/lockfile": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
@@ -5705,6 +3784,8 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
+ "optional": true,
+ "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -5712,35 +3793,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/adjust-sourcemap-loader": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
- "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "regex-parser": "^2.2.11"
- },
- "engines": {
- "node": ">=8.9"
- }
- },
- "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
"node_modules/agent-base": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
@@ -5786,27 +3838,30 @@
}
}
},
- "node_modules/ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "node_modules/algoliasearch": {
+ "version": "5.35.0",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz",
+ "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.3"
+ "@algolia/abtesting": "1.1.0",
+ "@algolia/client-abtesting": "5.35.0",
+ "@algolia/client-analytics": "5.35.0",
+ "@algolia/client-common": "5.35.0",
+ "@algolia/client-insights": "5.35.0",
+ "@algolia/client-personalization": "5.35.0",
+ "@algolia/client-query-suggestions": "5.35.0",
+ "@algolia/client-search": "5.35.0",
+ "@algolia/ingestion": "1.35.0",
+ "@algolia/monitoring": "1.35.0",
+ "@algolia/recommend": "5.35.0",
+ "@algolia/requester-browser-xhr": "5.35.0",
+ "@algolia/requester-fetch": "5.35.0",
+ "@algolia/requester-node-http": "5.35.0"
},
- "peerDependencies": {
- "ajv": "^8.8.2"
- }
- },
- "node_modules/ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
- "license": "MIT",
"engines": {
- "node": ">=6"
+ "node": ">= 14.0.0"
}
},
"node_modules/ansi-escapes": {
@@ -5825,19 +3880,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/ansi-html-community": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
- "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==",
- "dev": true,
- "engines": [
- "node >= 0.8.0"
- ],
- "license": "Apache-2.0",
- "bin": {
- "ansi-html": "bin/ansi-html"
- }
- },
"node_modules/ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
@@ -5894,128 +3936,6 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "license": "Python-2.0"
- },
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/autoprefixer": {
- "version": "10.4.20",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
- "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.23.3",
- "caniuse-lite": "^1.0.30001646",
- "fraction.js": "^4.3.7",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.1",
- "postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/babel-loader": {
- "version": "9.2.1",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz",
- "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-cache-dir": "^4.0.0",
- "schema-utils": "^4.0.0"
- },
- "engines": {
- "node": ">= 14.15.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0",
- "webpack": ">=5"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
- "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.27.7",
- "@babel/helper-define-polyfill-provider": "^0.6.5",
- "semver": "^6.3.1"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz",
- "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.3",
- "core-js-compat": "^3.40.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
- "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.5"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -6023,27 +3943,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
"node_modules/base64id": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
@@ -6064,22 +3963,15 @@
"baseline-browser-mapping": "dist/cli.js"
}
},
- "node_modules/batch": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
- "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/beasties": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.2.tgz",
- "integrity": "sha512-p4AF8uYzm9Fwu8m/hSVTCPXrRBPmB34hQpHsec2KOaR9CZmgoU8IOv4Cvwq4hgz2p4hLMNbsdNl5XeA6XbAQwA==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz",
+ "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "css-select": "^5.1.0",
- "css-what": "^6.1.0",
+ "css-select": "^6.0.0",
+ "css-what": "^7.0.0",
"dom-serializer": "^2.0.0",
"domhandler": "^5.0.3",
"htmlparser2": "^10.0.0",
@@ -6091,16 +3983,6 @@
"node": ">=14.0.0"
}
},
- "node_modules/big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
"node_modules/binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
@@ -6114,18 +3996,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
"node_modules/body-parser": {
"version": "1.20.4",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
@@ -6181,17 +4051,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/bonjour-service": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz",
- "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "multicast-dns": "^7.2.5"
- }
- },
"node_modules/boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -6257,31 +4116,6 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -6289,22 +4123,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/bundle-name": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
- "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "run-applescript": "^7.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/bytes": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -6404,9 +4222,9 @@
}
},
"node_modules/cacache/node_modules/tar": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz",
- "integrity": "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.4.tgz",
+ "integrity": "sha512-AN04xbWGrSTDmVwlI4/GTlIIwMFk/XEv7uL8aa57zuvRy6s4hdBed+lVq2fAZ89XDa7Us3ANXcE3Tvqvja1kTA==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
@@ -6461,16 +4279,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/caniuse-lite": {
"version": "1.0.30001764",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001764.tgz",
@@ -6493,17 +4301,13 @@
"license": "CC-BY-4.0"
},
"node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "version": "5.6.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
+ "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
"engines": {
- "node": ">=10"
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
@@ -6554,16 +4358,6 @@
"node": ">=10"
}
},
- "node_modules/chrome-trace-event": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
- "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0"
- }
- },
"node_modules/cli-cursor": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
@@ -6621,131 +4415,51 @@
}
},
"node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
+ "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
"dev": true,
"license": "ISC",
"dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
+ "string-width": "^7.2.0",
+ "strip-ansi": "^7.1.0",
+ "wrap-ansi": "^9.0.0"
},
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/cliui/node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+ "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
- }
- },
- "node_modules/cliui/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cliui/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
},
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/cliui/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
+ "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "ansi-styles": "^6.2.1",
+ "string-width": "^7.0.0",
+ "strip-ansi": "^7.1.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/clone-deep/node_modules/is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -6778,73 +4492,9 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true,
- "license": "MIT"
- },
- "node_modules/common-path-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
- "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/compressible": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
- "dev": true,
"license": "MIT",
- "dependencies": {
- "mime-db": ">= 1.43.0 < 2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/compression": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
- "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.2",
- "compressible": "~2.0.18",
- "debug": "2.6.9",
- "negotiator": "~0.6.4",
- "on-headers": "~1.1.0",
- "safe-buffer": "5.2.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/compression/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/compression/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/compression/node_modules/negotiator": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
- "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
+ "optional": true,
+ "peer": true
},
"node_modules/concat-map": {
"version": "0.0.1",
@@ -6869,16 +4519,6 @@
"node": ">= 0.10.0"
}
},
- "node_modules/connect-history-api-fallback": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
- "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/connect/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -6897,16 +4537,17 @@
"license": "MIT"
},
"node_modules/content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz",
+ "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
"engines": {
- "node": ">= 0.6"
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/content-type": {
@@ -6937,11 +4578,14 @@
}
},
"node_modules/cookie-signature": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz",
- "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
+ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.6.0"
+ }
},
"node_modules/copy-anything": {
"version": "2.0.6",
@@ -6949,6 +4593,8 @@
"integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
"dev": true,
"license": "MIT",
+ "optional": true,
+ "peer": true,
"dependencies": {
"is-what": "^3.14.1"
},
@@ -6956,52 +4602,6 @@
"url": "https://github.com/sponsors/mesqueeb"
}
},
- "node_modules/copy-webpack-plugin": {
- "version": "12.0.2",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz",
- "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-glob": "^3.3.2",
- "glob-parent": "^6.0.1",
- "globby": "^14.0.0",
- "normalize-path": "^3.0.0",
- "schema-utils": "^4.2.0",
- "serialize-javascript": "^6.0.2"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
- }
- },
- "node_modules/core-js-compat": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz",
- "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.28.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
- "node_modules/core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
@@ -7016,33 +4616,6 @@
"node": ">= 0.10"
}
},
- "node_modules/cosmiconfig": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
- "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "env-paths": "^2.2.1",
- "import-fresh": "^3.3.0",
- "js-yaml": "^4.1.0",
- "parse-json": "^5.2.0"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/d-fischer"
- },
- "peerDependencies": {
- "typescript": ">=4.9.5"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -7074,63 +4647,27 @@
"node": ">= 8"
}
},
- "node_modules/css-loader": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz",
- "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "icss-utils": "^5.1.0",
- "postcss": "^8.4.33",
- "postcss-modules-extract-imports": "^3.1.0",
- "postcss-modules-local-by-default": "^4.0.5",
- "postcss-modules-scope": "^3.2.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.2.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "@rspack/core": "0.x || 1.x",
- "webpack": "^5.27.0"
- },
- "peerDependenciesMeta": {
- "@rspack/core": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
- }
- },
"node_modules/css-select": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
- "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz",
+ "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"boolbase": "^1.0.0",
- "css-what": "^6.1.0",
- "domhandler": "^5.0.2",
- "domutils": "^3.0.1",
- "nth-check": "^2.0.1"
+ "css-what": "^7.0.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.2.2",
+ "nth-check": "^2.1.1"
},
"funding": {
"url": "https://github.com/sponsors/fb55"
}
},
"node_modules/css-what": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
- "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz",
+ "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==",
"dev": true,
"license": "BSD-2-Clause",
"engines": {
@@ -7140,19 +4677,6 @@
"url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/custom-event": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
@@ -7188,62 +4712,6 @@
}
}
},
- "node_modules/default-browser": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz",
- "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bundle-name": "^4.1.0",
- "default-browser-id": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/default-browser-id": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
- "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/defaults": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
- "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "clone": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/define-lazy-prop": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
- "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -7276,13 +4744,6 @@
"node": ">=8"
}
},
- "node_modules/detect-node": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/di": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
@@ -7290,19 +4751,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/dns-packet": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz",
- "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@leichtgewicht/ip-codec": "^2.0.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/dom-serialize": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
@@ -7418,16 +4866,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -7494,20 +4932,6 @@
"node": ">=10.0.0"
}
},
- "node_modules/enhanced-resolve": {
- "version": "5.18.4",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz",
- "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
"node_modules/ent": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz",
@@ -7574,6 +4998,7 @@
"dev": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"dependencies": {
"prr": "~1.0.1"
},
@@ -7581,16 +5006,6 @@
"errno": "cli.js"
}
},
- "node_modules/error-ex": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
- "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
"node_modules/es-define-property": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
@@ -7611,13 +5026,6 @@
"node": ">= 0.4"
}
},
- "node_modules/es-module-lexer": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
- "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/es-object-atoms": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
@@ -7632,9 +5040,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
- "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==",
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz",
+ "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -7645,44 +5053,32 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.4",
- "@esbuild/android-arm": "0.25.4",
- "@esbuild/android-arm64": "0.25.4",
- "@esbuild/android-x64": "0.25.4",
- "@esbuild/darwin-arm64": "0.25.4",
- "@esbuild/darwin-x64": "0.25.4",
- "@esbuild/freebsd-arm64": "0.25.4",
- "@esbuild/freebsd-x64": "0.25.4",
- "@esbuild/linux-arm": "0.25.4",
- "@esbuild/linux-arm64": "0.25.4",
- "@esbuild/linux-ia32": "0.25.4",
- "@esbuild/linux-loong64": "0.25.4",
- "@esbuild/linux-mips64el": "0.25.4",
- "@esbuild/linux-ppc64": "0.25.4",
- "@esbuild/linux-riscv64": "0.25.4",
- "@esbuild/linux-s390x": "0.25.4",
- "@esbuild/linux-x64": "0.25.4",
- "@esbuild/netbsd-arm64": "0.25.4",
- "@esbuild/netbsd-x64": "0.25.4",
- "@esbuild/openbsd-arm64": "0.25.4",
- "@esbuild/openbsd-x64": "0.25.4",
- "@esbuild/sunos-x64": "0.25.4",
- "@esbuild/win32-arm64": "0.25.4",
- "@esbuild/win32-ia32": "0.25.4",
- "@esbuild/win32-x64": "0.25.4"
- }
- },
- "node_modules/esbuild-wasm": {
- "version": "0.25.4",
- "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.4.tgz",
- "integrity": "sha512-2HlCS6rNvKWaSKhWaG/YIyRsTsL3gUrMP2ToZMBIjw9LM7vVcIs+rz8kE2vExvTJgvM8OKPqNpcHawY/BQc/qQ==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=18"
+ "@esbuild/aix-ppc64": "0.25.9",
+ "@esbuild/android-arm": "0.25.9",
+ "@esbuild/android-arm64": "0.25.9",
+ "@esbuild/android-x64": "0.25.9",
+ "@esbuild/darwin-arm64": "0.25.9",
+ "@esbuild/darwin-x64": "0.25.9",
+ "@esbuild/freebsd-arm64": "0.25.9",
+ "@esbuild/freebsd-x64": "0.25.9",
+ "@esbuild/linux-arm": "0.25.9",
+ "@esbuild/linux-arm64": "0.25.9",
+ "@esbuild/linux-ia32": "0.25.9",
+ "@esbuild/linux-loong64": "0.25.9",
+ "@esbuild/linux-mips64el": "0.25.9",
+ "@esbuild/linux-ppc64": "0.25.9",
+ "@esbuild/linux-riscv64": "0.25.9",
+ "@esbuild/linux-s390x": "0.25.9",
+ "@esbuild/linux-x64": "0.25.9",
+ "@esbuild/netbsd-arm64": "0.25.9",
+ "@esbuild/netbsd-x64": "0.25.9",
+ "@esbuild/openbsd-arm64": "0.25.9",
+ "@esbuild/openbsd-x64": "0.25.9",
+ "@esbuild/openharmony-arm64": "0.25.9",
+ "@esbuild/sunos-x64": "0.25.9",
+ "@esbuild/win32-arm64": "0.25.9",
+ "@esbuild/win32-ia32": "0.25.9",
+ "@esbuild/win32-x64": "0.25.9"
}
},
"node_modules/escalade": {
@@ -7702,63 +5098,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esrecurse/node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@@ -7776,14 +5115,27 @@
"dev": true,
"license": "MIT"
},
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "node_modules/eventsource": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz",
+ "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eventsource-parser": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/eventsource-parser": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz",
+ "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=0.8.x"
+ "node": ">=18.0.0"
}
},
"node_modules/exponential-backoff": {
@@ -7794,60 +5146,102 @@
"license": "Apache-2.0"
},
"node_modules/express": {
- "version": "4.22.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz",
- "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
+ "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "~1.20.3",
- "content-disposition": "~0.5.4",
- "content-type": "~1.0.4",
- "cookie": "~0.7.1",
- "cookie-signature": "~1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.3.1",
- "fresh": "~0.5.2",
- "http-errors": "~2.0.0",
- "merge-descriptors": "1.0.3",
- "methods": "~1.1.2",
- "on-finished": "~2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "~0.1.12",
- "proxy-addr": "~2.0.7",
- "qs": "~6.14.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "~0.19.0",
- "serve-static": "~1.16.2",
- "setprototypeof": "1.2.0",
- "statuses": "~2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
+ "accepts": "^2.0.0",
+ "body-parser": "^2.2.1",
+ "content-disposition": "^1.0.0",
+ "content-type": "^1.0.5",
+ "cookie": "^0.7.1",
+ "cookie-signature": "^1.2.1",
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "finalhandler": "^2.1.0",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "merge-descriptors": "^2.0.0",
+ "mime-types": "^3.0.0",
+ "on-finished": "^2.4.1",
+ "once": "^1.4.0",
+ "parseurl": "^1.3.3",
+ "proxy-addr": "^2.0.7",
+ "qs": "^6.14.0",
+ "range-parser": "^1.2.1",
+ "router": "^2.2.0",
+ "send": "^1.1.0",
+ "serve-static": "^2.2.0",
+ "statuses": "^2.0.1",
+ "type-is": "^2.0.1",
+ "vary": "^1.1.2"
},
"engines": {
- "node": ">= 0.10.0"
+ "node": ">= 18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/express-rate-limit": {
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz",
+ "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/express-rate-limit"
+ },
+ "peerDependencies": {
+ "express": ">= 4.11"
+ }
+ },
+ "node_modules/express/node_modules/accepts": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
+ "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.0.0"
+ "mime-types": "^3.0.0",
+ "negotiator": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/body-parser": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz",
+ "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "^3.1.2",
+ "content-type": "^1.0.5",
+ "debug": "^4.4.3",
+ "http-errors": "^2.0.0",
+ "iconv-lite": "^0.7.0",
+ "on-finished": "^2.4.1",
+ "qs": "^6.14.1",
+ "raw-body": "^3.0.1",
+ "type-is": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/express/node_modules/encodeurl": {
@@ -7861,30 +5255,79 @@
}
},
"node_modules/express/node_modules/finalhandler": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz",
- "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
+ "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "on-finished": "~2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "~2.0.2",
- "unpipe": "~1.0.0"
+ "debug": "^4.4.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "on-finished": "^2.4.1",
+ "parseurl": "^1.3.3",
+ "statuses": "^2.0.1"
},
+ "engines": {
+ "node": ">= 18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express/node_modules/media-typer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
+ "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
+ "dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "node_modules/express/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/mime-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express/node_modules/raw-body": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz",
+ "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "~3.1.2",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.7.0",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
},
"node_modules/express/node_modules/statuses": {
"version": "2.0.2",
@@ -7896,6 +5339,21 @@
"node": ">= 0.8"
}
},
+ "node_modules/express/node_modules/type-is": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
+ "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^1.0.5",
+ "media-typer": "^1.1.0",
+ "mime-types": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -7910,36 +5368,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/fast-glob": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.8"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/fast-uri": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
@@ -7957,29 +5385,6 @@
],
"license": "BSD-3-Clause"
},
- "node_modules/fastq": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
- "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/faye-websocket": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
- "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "websocket-driver": ">=0.5.1"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
"node_modules/fdir": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
@@ -8060,50 +5465,6 @@
"node": ">= 0.8"
}
},
- "node_modules/find-cache-dir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz",
- "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "common-path-prefix": "^3.0.0",
- "pkg-dir": "^7.0.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/find-up": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
- "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^7.1.0",
- "path-exists": "^5.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "bin": {
- "flat": "cli.js"
- }
- },
"node_modules/flatted": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
@@ -8159,28 +5520,14 @@
"node": ">= 0.6"
}
},
- "node_modules/fraction.js": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
- "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "patreon",
- "url": "https://github.com/sponsors/rawify"
- }
- },
"node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 0.6"
+ "node": ">= 0.8"
}
},
"node_modules/fs-extra": {
@@ -8337,36 +5684,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/glob-to-regex.js": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz",
- "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
"node_modules/glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
@@ -8374,27 +5691,6 @@
"dev": true,
"license": "BSD-2-Clause"
},
- "node_modules/globby": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz",
- "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@sindresorhus/merge-streams": "^2.1.0",
- "fast-glob": "^3.3.3",
- "ignore": "^7.0.3",
- "path-type": "^6.0.0",
- "slash": "^5.1.0",
- "unicorn-magic": "^0.3.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -8415,13 +5711,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/handle-thing": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
- "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -8474,70 +5763,38 @@
"node": ">= 0.4"
}
},
+ "node_modules/hono": {
+ "version": "4.11.4",
+ "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.4.tgz",
+ "integrity": "sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=16.9.0"
+ }
+ },
"node_modules/hosted-git-info": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
- "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz",
+ "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==",
"dev": true,
"license": "ISC",
"dependencies": {
- "lru-cache": "^10.0.1"
+ "lru-cache": "^11.1.0"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
}
},
"node_modules/hosted-git-info/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "version": "11.2.4",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz",
+ "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==",
"dev": true,
- "license": "ISC"
- },
- "node_modules/hpack.js": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
- "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.1",
- "obuf": "^1.0.0",
- "readable-stream": "^2.0.1",
- "wbuf": "^1.1.0"
- }
- },
- "node_modules/hpack.js/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/hpack.js/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/hpack.js/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": "20 || >=22"
}
},
"node_modules/html-escaper": {
@@ -8587,13 +5844,6 @@
"dev": true,
"license": "BSD-2-Clause"
},
- "node_modules/http-deceiver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
- "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/http-errors": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
@@ -8625,13 +5875,6 @@
"node": ">= 0.8"
}
},
- "node_modules/http-parser-js": {
- "version": "0.5.10",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz",
- "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/http-proxy": {
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
@@ -8661,24 +5904,6 @@
"node": ">= 14"
}
},
- "node_modules/http-proxy-middleware": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.5.tgz",
- "integrity": "sha512-GLZZm1X38BPY4lkXA01jhwxvDoOkkXqjgVyUzVxiEK4iuRu03PZoYHhHRwxnfhQMDuaxi3vVri0YgSro/1oWqg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/http-proxy": "^1.17.15",
- "debug": "^4.3.6",
- "http-proxy": "^1.18.1",
- "is-glob": "^4.0.3",
- "is-plain-object": "^5.0.0",
- "micromatch": "^4.0.8"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
"node_modules/https-proxy-agent": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
@@ -8693,16 +5918,6 @@
"node": ">= 14"
}
},
- "node_modules/hyperdyperid": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz",
- "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.18"
- }
- },
"node_modules/iconv-lite": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
@@ -8720,84 +5935,30 @@
"url": "https://opencollective.com/express"
}
},
- "node_modules/icss-utils": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "BSD-3-Clause"
- },
- "node_modules/ignore": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/ignore-walk": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-7.0.0.tgz",
- "integrity": "sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz",
+ "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==",
"dev": true,
"license": "ISC",
"dependencies": {
- "minimatch": "^9.0.0"
+ "minimatch": "^10.0.3"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/ignore-walk/node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
+ "node": "^20.17.0 || >=22.9.0"
}
},
"node_modules/ignore-walk/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "@isaacs/brace-expansion": "^5.0.0"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -8810,6 +5971,7 @@
"dev": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"bin": {
"image-size": "bin/image-size.js"
},
@@ -8824,23 +5986,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/import-fresh": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
- "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@@ -8891,22 +6036,15 @@
}
},
"node_modules/ipaddr.js": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz",
- "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 10"
+ "node": ">= 0.10"
}
},
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -8936,22 +6074,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-docker": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
- "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -8988,43 +6110,14 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-inside-container": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
- "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-docker": "^3.0.0"
- },
- "bin": {
- "is-inside-container": "cli.js"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz",
+ "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-network-error": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz",
- "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=16"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -9040,28 +6133,12 @@
"node": ">=0.12.0"
}
},
- "node_modules/is-plain-obj": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
- "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
+ "node_modules/is-promise": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-plain-object": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "MIT"
},
"node_modules/is-regex": {
"version": "1.2.1",
@@ -9083,13 +6160,13 @@
}
},
"node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
+ "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -9100,30 +6177,9 @@
"resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
"integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
"dev": true,
- "license": "MIT"
- },
- "node_modules/is-wsl": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
- "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
- "dev": true,
"license": "MIT",
- "dependencies": {
- "is-inside-container": "^1.0.0"
- },
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true,
- "license": "MIT"
+ "optional": true,
+ "peer": true
},
"node_modules/isbinaryfile": {
"version": "4.0.10",
@@ -9145,16 +6201,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/istanbul-lib-coverage": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
@@ -9259,47 +6305,28 @@
"dev": true,
"license": "MIT"
},
- "node_modules/jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
"node_modules/jiti": {
"version": "1.21.7",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
"integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
"dev": true,
"license": "MIT",
+ "optional": true,
+ "peer": true,
"bin": {
"jiti": "bin/jiti.js"
}
},
+ "node_modules/jose": {
+ "version": "6.1.3",
+ "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz",
+ "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/panva"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -9307,19 +6334,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
"node_modules/jsesc": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
@@ -9350,6 +6364,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/json-schema-typed": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz",
+ "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
"node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
@@ -9519,16 +6540,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/karma-source-map-support": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz",
- "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "source-map-support": "^0.5.5"
- }
- },
"node_modules/karma/node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -9717,33 +6728,14 @@
"node": ">=10"
}
},
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/launch-editor": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz",
- "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "picocolors": "^1.1.1",
- "shell-quote": "^1.8.3"
- }
- },
"node_modules/less": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/less/-/less-4.2.2.tgz",
- "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/less/-/less-4.4.0.tgz",
+ "integrity": "sha512-kdTwsyRuncDfjEs0DlRILWNvxhDG/Zij4YLO4TMJgDLW+8OzpfkdPnRgrsRuY1o+oaxJGWsps5f/RVBgGmmN0w==",
"dev": true,
"license": "Apache-2.0",
+ "optional": true,
+ "peer": true,
"dependencies": {
"copy-anything": "^2.0.1",
"parse-node-version": "^1.0.1",
@@ -9753,7 +6745,7 @@
"lessc": "bin/lessc"
},
"engines": {
- "node": ">=6"
+ "node": ">=14"
},
"optionalDependencies": {
"errno": "^0.1.1",
@@ -9765,33 +6757,6 @@
"source-map": "~0.6.0"
}
},
- "node_modules/less-loader": {
- "version": "12.2.0",
- "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz",
- "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "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
- }
- }
- },
"node_modules/less/node_modules/make-dir": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
@@ -9799,6 +6764,7 @@
"dev": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"dependencies": {
"pify": "^4.0.1",
"semver": "^5.6.0"
@@ -9814,6 +6780,7 @@
"dev": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"bin": {
"mime": "cli.js"
},
@@ -9828,6 +6795,7 @@
"dev": true,
"license": "ISC",
"optional": true,
+ "peer": true,
"bin": {
"semver": "bin/semver"
}
@@ -9839,39 +6807,15 @@
"dev": true,
"license": "BSD-3-Clause",
"optional": true,
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/license-webpack-plugin": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz",
- "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "webpack-sources": "^3.0.0"
- },
- "peerDependenciesMeta": {
- "webpack": {
- "optional": true
- },
- "webpack-sources": {
- "optional": true
- }
- }
- },
- "node_modules/lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/listr2": {
- "version": "8.2.5",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz",
- "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz",
+ "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9883,7 +6827,7 @@
"wrap-ansi": "^9.0.0"
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=20.0.0"
}
},
"node_modules/listr2/node_modules/ansi-styles": {
@@ -9900,9 +6844,9 @@
}
},
"node_modules/listr2/node_modules/eventemitter3": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
- "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
+ "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
"dev": true,
"license": "MIT"
},
@@ -9925,9 +6869,9 @@
}
},
"node_modules/lmdb": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.2.6.tgz",
- "integrity": "sha512-SuHqzPl7mYStna8WRotY8XX/EUZBjjv3QyKIByeCLFfC9uXT/OIHByEcA07PzbMfQAM0KYJtLgtpMRlIe5dErQ==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.2.tgz",
+ "integrity": "sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -9943,52 +6887,13 @@
"download-lmdb-prebuilds": "bin/download-prebuilds.js"
},
"optionalDependencies": {
- "@lmdb/lmdb-darwin-arm64": "3.2.6",
- "@lmdb/lmdb-darwin-x64": "3.2.6",
- "@lmdb/lmdb-linux-arm": "3.2.6",
- "@lmdb/lmdb-linux-arm64": "3.2.6",
- "@lmdb/lmdb-linux-x64": "3.2.6",
- "@lmdb/lmdb-win32-x64": "3.2.6"
- }
- },
- "node_modules/loader-runner": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz",
- "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.11.5"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/loader-utils": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz",
- "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 12.13.0"
- }
- },
- "node_modules/locate-path": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
- "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^6.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "@lmdb/lmdb-darwin-arm64": "3.4.2",
+ "@lmdb/lmdb-darwin-x64": "3.4.2",
+ "@lmdb/lmdb-linux-arm": "3.4.2",
+ "@lmdb/lmdb-linux-arm64": "3.4.2",
+ "@lmdb/lmdb-linux-x64": "3.4.2",
+ "@lmdb/lmdb-win32-arm64": "3.4.2",
+ "@lmdb/lmdb-win32-x64": "3.4.2"
}
},
"node_modules/lodash": {
@@ -10004,25 +6909,31 @@
"integrity": "sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==",
"license": "MIT"
},
- "node_modules/lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz",
+ "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
+ "chalk": "^5.3.0",
+ "is-unicode-supported": "^1.3.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-symbols/node_modules/is-unicode-supported": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz",
+ "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -10208,89 +7119,19 @@
"node": ">= 0.6"
}
},
- "node_modules/memfs": {
- "version": "4.51.1",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.51.1.tgz",
- "integrity": "sha512-Eyt3XrufitN2ZL9c/uIRMyDwXanLI88h/L3MoWqNY747ha3dMR9dWqp8cRT5ntjZ0U1TNuq4U91ZXK0sMBjYOQ==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jsonjoy.com/json-pack": "^1.11.0",
- "@jsonjoy.com/util": "^1.9.0",
- "glob-to-regex.js": "^1.0.1",
- "thingies": "^2.5.0",
- "tree-dump": "^1.0.3",
- "tslib": "^2.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- }
- },
"node_modules/merge-descriptors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
+ "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
"dev": true,
"license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/micromatch/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -10327,16 +7168,6 @@
"node": ">= 0.6"
}
},
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/mimic-function": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
@@ -10350,34 +7181,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/mini-css-extract-plugin": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz",
- "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "schema-utils": "^4.0.0",
- "tapable": "^2.2.1"
- },
- "engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- }
- },
- "node_modules/minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -10618,20 +7421,6 @@
"@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
}
},
- "node_modules/multicast-dns": {
- "version": "7.2.5",
- "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz",
- "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dns-packet": "^5.2.2",
- "thunky": "^1.0.2"
- },
- "bin": {
- "multicast-dns": "cli.js"
- }
- },
"node_modules/mute-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
@@ -10668,6 +7457,7 @@
"dev": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"dependencies": {
"iconv-lite": "^0.6.3",
"sax": "^1.2.4"
@@ -10686,6 +7476,7 @@
"dev": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@@ -10703,13 +7494,6 @@
"node": ">= 0.6"
}
},
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/ng2-charts": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-8.0.0.tgz",
@@ -10736,16 +7520,6 @@
"license": "MIT",
"optional": true
},
- "node_modules/node-forge": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz",
- "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==",
- "dev": true,
- "license": "(BSD-3-Clause OR GPL-2.0)",
- "engines": {
- "node": ">= 6.13.0"
- }
- },
"node_modules/node-gyp": {
"version": "11.5.0",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.5.0.tgz",
@@ -10808,9 +7582,9 @@
}
},
"node_modules/node-gyp/node_modules/tar": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz",
- "integrity": "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.4.tgz",
+ "integrity": "sha512-AN04xbWGrSTDmVwlI4/GTlIIwMFk/XEv7uL8aa57zuvRy6s4hdBed+lVq2fAZ89XDa7Us3ANXcE3Tvqvja1kTA==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
@@ -10883,16 +7657,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/npm-bundled": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz",
@@ -10930,32 +7694,43 @@
}
},
"node_modules/npm-package-arg": {
- "version": "12.0.2",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz",
- "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==",
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz",
+ "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==",
"dev": true,
"license": "ISC",
"dependencies": {
- "hosted-git-info": "^8.0.0",
+ "hosted-git-info": "^9.0.0",
"proc-log": "^5.0.0",
"semver": "^7.3.5",
"validate-npm-package-name": "^6.0.0"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
}
},
"node_modules/npm-packlist": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-9.0.0.tgz",
- "integrity": "sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==",
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.3.tgz",
+ "integrity": "sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==",
"dev": true,
"license": "ISC",
"dependencies": {
- "ignore-walk": "^7.0.0"
+ "ignore-walk": "^8.0.0",
+ "proc-log": "^6.0.0"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/npm-packlist/node_modules/proc-log": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz",
+ "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
"node_modules/npm-pick-manifest": {
@@ -10974,6 +7749,42 @@
"node": "^18.17.0 || >=20.5.0"
}
},
+ "node_modules/npm-pick-manifest/node_modules/hosted-git-info": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
+ "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^10.0.1"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/npm-pick-manifest/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/npm-pick-manifest/node_modules/npm-package-arg": {
+ "version": "12.0.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz",
+ "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "hosted-git-info": "^8.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^6.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
"node_modules/npm-registry-fetch": {
"version": "18.0.2",
"resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz",
@@ -10994,6 +7805,42 @@
"node": "^18.17.0 || >=20.5.0"
}
},
+ "node_modules/npm-registry-fetch/node_modules/hosted-git-info": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
+ "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^10.0.1"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/npm-registry-fetch/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/npm-registry-fetch/node_modules/npm-package-arg": {
+ "version": "12.0.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz",
+ "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "hosted-git-info": "^8.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^6.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
"node_modules/nth-check": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
@@ -11030,13 +7877,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/obuf": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/on-finished": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
@@ -11050,16 +7890,6 @@
"node": ">= 0.8"
}
},
- "node_modules/on-headers": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
- "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -11086,17 +7916,22 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/open": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz",
- "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==",
+ "node_modules/ora": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz",
+ "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "default-browser": "^5.2.1",
- "define-lazy-prop": "^3.0.0",
- "is-inside-container": "^1.0.0",
- "is-wsl": "^3.1.0"
+ "chalk": "^5.3.0",
+ "cli-cursor": "^5.0.0",
+ "cli-spinners": "^2.9.2",
+ "is-interactive": "^2.0.0",
+ "is-unicode-supported": "^2.0.0",
+ "log-symbols": "^6.0.0",
+ "stdin-discarder": "^0.2.2",
+ "string-width": "^7.2.0",
+ "strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=18"
@@ -11105,103 +7940,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ora/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ora/node_modules/cli-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "restore-cursor": "^3.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ora/node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ora/node_modules/restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ora/node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/ora/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/ordered-binary": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.1.tgz",
@@ -11210,38 +7948,6 @@
"license": "MIT",
"optional": true
},
- "node_modules/p-limit": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
- "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^1.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
- "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/p-map": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
@@ -11255,34 +7961,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/p-retry": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz",
- "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/retry": "0.12.2",
- "is-network-error": "^1.0.0",
- "retry": "^0.13.1"
- },
- "engines": {
- "node": ">=16.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-retry/node_modules/retry": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
- "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/package-json-from-dist": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
@@ -11291,9 +7969,9 @@
"license": "BlueOak-1.0.0"
},
"node_modules/pacote": {
- "version": "20.0.0",
- "resolved": "https://registry.npmjs.org/pacote/-/pacote-20.0.0.tgz",
- "integrity": "sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A==",
+ "version": "21.0.0",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz",
+ "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -11306,7 +7984,7 @@
"fs-minipass": "^3.0.0",
"minipass": "^7.0.2",
"npm-package-arg": "^12.0.0",
- "npm-packlist": "^9.0.0",
+ "npm-packlist": "^10.0.0",
"npm-pick-manifest": "^10.0.0",
"npm-registry-fetch": "^18.0.0",
"proc-log": "^5.0.0",
@@ -11318,63 +7996,62 @@
"bin": {
"pacote": "bin/index.js"
},
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/pacote/node_modules/hosted-git-info": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
+ "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^10.0.1"
+ },
"engines": {
"node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "node_modules/pacote/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"dev": true,
- "license": "MIT",
+ "license": "ISC"
+ },
+ "node_modules/pacote/node_modules/npm-package-arg": {
+ "version": "12.0.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz",
+ "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "callsites": "^3.0.0"
+ "hosted-git-info": "^8.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^6.0.0"
},
"engines": {
- "node": ">=6"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/parse-json/node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/parse-node-version": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
"integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
"dev": true,
"license": "MIT",
+ "optional": true,
+ "peer": true,
"engines": {
"node": ">= 0.10"
}
},
"node_modules/parse5": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
- "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz",
+ "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==",
"license": "MIT",
"dependencies": {
"entities": "^6.0.0"
@@ -11384,28 +8061,41 @@
}
},
"node_modules/parse5-html-rewriting-stream": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz",
- "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz",
+ "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "entities": "^4.3.0",
- "parse5": "^7.0.0",
- "parse5-sax-parser": "^7.0.0"
+ "entities": "^6.0.0",
+ "parse5": "^8.0.0",
+ "parse5-sax-parser": "^8.0.0"
},
"funding": {
"url": "https://github.com/inikulin/parse5?sponsor=1"
}
},
+ "node_modules/parse5-html-rewriting-stream/node_modules/entities": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/parse5-sax-parser": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz",
- "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz",
+ "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "parse5": "^7.0.0"
+ "parse5": "^8.0.0"
},
"funding": {
"url": "https://github.com/inikulin/parse5?sponsor=1"
@@ -11433,16 +8123,6 @@
"node": ">= 0.8"
}
},
- "node_modules/path-exists": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
- "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- }
- },
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -11495,23 +8175,14 @@
"license": "ISC"
},
"node_modules/path-to-regexp": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
- "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/path-type": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz",
- "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
+ "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=18"
- },
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/picocolors": {
@@ -11522,9 +8193,9 @@
"license": "ISC"
},
"node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11541,40 +8212,38 @@
"dev": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"engines": {
"node": ">=6"
}
},
"node_modules/piscina": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.8.0.tgz",
- "integrity": "sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.3.tgz",
+ "integrity": "sha512-0u3N7H4+hbr40KjuVn2uNhOcthu/9usKhnw5vT3J7ply79v3D3M8naI00el9Klcy16x557VsEkkUQaHCWFXC/g==",
"dev": true,
"license": "MIT",
+ "engines": {
+ "node": ">=20.x"
+ },
"optionalDependencies": {
- "@napi-rs/nice": "^1.0.1"
+ "@napi-rs/nice": "^1.0.4"
}
},
- "node_modules/pkg-dir": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz",
- "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==",
+ "node_modules/pkce-challenge": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz",
+ "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "find-up": "^6.3.0"
- },
"engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=16.20.0"
}
},
"node_modules/postcss": {
- "version": "8.5.2",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz",
- "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==",
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
"dev": true,
"funding": [
{
@@ -11592,7 +8261,7 @@
],
"license": "MIT",
"dependencies": {
- "nanoid": "^3.3.8",
+ "nanoid": "^3.3.11",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
@@ -11600,38 +8269,6 @@
"node": "^10 || ^12 || >=14"
}
},
- "node_modules/postcss-loader": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz",
- "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cosmiconfig": "^9.0.0",
- "jiti": "^1.20.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "@rspack/core": "0.x || 1.x",
- "postcss": "^7.0.0 || ^8.0.1",
- "webpack": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "@rspack/core": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
- }
- },
"node_modules/postcss-media-query-parser": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
@@ -11639,90 +8276,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/postcss-modules-extract-imports": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz",
- "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-local-by-default": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz",
- "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "icss-utils": "^5.0.0",
- "postcss-selector-parser": "^7.0.0",
- "postcss-value-parser": "^4.1.0"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-scope": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz",
- "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "postcss-selector-parser": "^7.0.0"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-values": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
- "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "icss-utils": "^5.0.0"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
- "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/proc-log": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz",
@@ -11733,13 +8286,6 @@
"node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/promise-retry": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
@@ -11768,23 +8314,14 @@
"node": ">= 0.10"
}
},
- "node_modules/proxy-addr/node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
"integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
"dev": true,
"license": "MIT",
- "optional": true
+ "optional": true,
+ "peer": true
},
"node_modules/punycode": {
"version": "1.4.1",
@@ -11819,37 +8356,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "^5.1.0"
- }
- },
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -11889,21 +8395,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/readdirp": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
@@ -11925,78 +8416,6 @@
"dev": true,
"license": "Apache-2.0"
},
- "node_modules/regenerate": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regenerate-unicode-properties": {
- "version": "10.2.2",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz",
- "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerate": "^1.4.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/regenerator-runtime": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regex-parser": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz",
- "integrity": "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regexpu-core": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz",
- "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.2.2",
- "regjsgen": "^0.8.0",
- "regjsparser": "^0.13.0",
- "unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.2.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/regjsgen": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regjsparser": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz",
- "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "jsesc": "~3.1.0"
- },
- "bin": {
- "regjsparser": "bin/parser"
- }
- },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -12045,58 +8464,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-url-loader": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz",
- "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "adjust-sourcemap-loader": "^4.0.0",
- "convert-source-map": "^1.7.0",
- "loader-utils": "^2.0.0",
- "postcss": "^8.2.14",
- "source-map": "0.6.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/resolve-url-loader/node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/resolve-url-loader/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/restore-cursor": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
@@ -12124,17 +8491,6 @@
"node": ">= 4"
}
},
- "node_modules/reusify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
- "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
"node_modules/rfdc": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
@@ -12160,13 +8516,13 @@
}
},
"node_modules/rollup": {
- "version": "4.34.8",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz",
- "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==",
+ "version": "4.52.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz",
+ "integrity": "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/estree": "1.0.6"
+ "@types/estree": "1.0.8"
},
"bin": {
"rollup": "dist/bin/rollup"
@@ -12176,63 +8532,46 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.34.8",
- "@rollup/rollup-android-arm64": "4.34.8",
- "@rollup/rollup-darwin-arm64": "4.34.8",
- "@rollup/rollup-darwin-x64": "4.34.8",
- "@rollup/rollup-freebsd-arm64": "4.34.8",
- "@rollup/rollup-freebsd-x64": "4.34.8",
- "@rollup/rollup-linux-arm-gnueabihf": "4.34.8",
- "@rollup/rollup-linux-arm-musleabihf": "4.34.8",
- "@rollup/rollup-linux-arm64-gnu": "4.34.8",
- "@rollup/rollup-linux-arm64-musl": "4.34.8",
- "@rollup/rollup-linux-loongarch64-gnu": "4.34.8",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8",
- "@rollup/rollup-linux-riscv64-gnu": "4.34.8",
- "@rollup/rollup-linux-s390x-gnu": "4.34.8",
- "@rollup/rollup-linux-x64-gnu": "4.34.8",
- "@rollup/rollup-linux-x64-musl": "4.34.8",
- "@rollup/rollup-win32-arm64-msvc": "4.34.8",
- "@rollup/rollup-win32-ia32-msvc": "4.34.8",
- "@rollup/rollup-win32-x64-msvc": "4.34.8",
+ "@rollup/rollup-android-arm-eabi": "4.52.3",
+ "@rollup/rollup-android-arm64": "4.52.3",
+ "@rollup/rollup-darwin-arm64": "4.52.3",
+ "@rollup/rollup-darwin-x64": "4.52.3",
+ "@rollup/rollup-freebsd-arm64": "4.52.3",
+ "@rollup/rollup-freebsd-x64": "4.52.3",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.52.3",
+ "@rollup/rollup-linux-arm-musleabihf": "4.52.3",
+ "@rollup/rollup-linux-arm64-gnu": "4.52.3",
+ "@rollup/rollup-linux-arm64-musl": "4.52.3",
+ "@rollup/rollup-linux-loong64-gnu": "4.52.3",
+ "@rollup/rollup-linux-ppc64-gnu": "4.52.3",
+ "@rollup/rollup-linux-riscv64-gnu": "4.52.3",
+ "@rollup/rollup-linux-riscv64-musl": "4.52.3",
+ "@rollup/rollup-linux-s390x-gnu": "4.52.3",
+ "@rollup/rollup-linux-x64-gnu": "4.52.3",
+ "@rollup/rollup-linux-x64-musl": "4.52.3",
+ "@rollup/rollup-openharmony-arm64": "4.52.3",
+ "@rollup/rollup-win32-arm64-msvc": "4.52.3",
+ "@rollup/rollup-win32-ia32-msvc": "4.52.3",
+ "@rollup/rollup-win32-x64-gnu": "4.52.3",
+ "@rollup/rollup-win32-x64-msvc": "4.52.3",
"fsevents": "~2.3.2"
}
},
- "node_modules/run-applescript": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
- "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
+ "node_modules/router": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
+ "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
"dependencies": {
- "queue-microtask": "^1.2.2"
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "is-promise": "^4.0.0",
+ "parseurl": "^1.3.3",
+ "path-to-regexp": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
}
},
"node_modules/rxjs": {
@@ -12244,27 +8583,6 @@
"tslib": "^2.1.0"
}
},
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
"node_modules/safe-regex-test": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
@@ -12291,9 +8609,9 @@
"license": "MIT"
},
"node_modules/sass": {
- "version": "1.85.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz",
- "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==",
+ "version": "1.90.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz",
+ "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -12311,47 +8629,6 @@
"@parcel/watcher": "^2.4.1"
}
},
- "node_modules/sass-loader": {
- "version": "16.0.5",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz",
- "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "neo-async": "^2.6.2"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "@rspack/core": "0.x || 1.x",
- "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
- "sass": "^1.3.0",
- "sass-embedded": "*",
- "webpack": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "@rspack/core": {
- "optional": true
- },
- "node-sass": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
- }
- },
"node_modules/sax": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz",
@@ -12359,69 +8636,11 @@
"dev": true,
"license": "BlueOak-1.0.0",
"optional": true,
+ "peer": true,
"engines": {
"node": ">=11.0.0"
}
},
- "node_modules/schema-utils": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
- "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.9.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.1.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/schema-utils/node_modules/ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/select-hose": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
- "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/selfsigned": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz",
- "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node-forge": "^1.3.0",
- "node-forge": "^1"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
@@ -12436,47 +8655,32 @@
}
},
"node_modules/send": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz",
- "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz",
+ "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "~0.5.2",
- "http-errors": "~2.0.1",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "~2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "~2.0.2"
+ "debug": "^4.4.3",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.1",
+ "mime-types": "^3.0.2",
+ "ms": "^2.1.3",
+ "on-finished": "^2.4.1",
+ "range-parser": "^1.2.1",
+ "statuses": "^2.0.2"
},
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/send/node_modules/encodeurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
@@ -12487,17 +8691,31 @@
"node": ">= 0.8"
}
},
- "node_modules/send/node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "node_modules/send/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"dev": true,
"license": "MIT",
- "bin": {
- "mime": "cli.js"
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/send/node_modules/mime-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/send/node_modules/statuses": {
@@ -12510,106 +8728,24 @@
"node": ">= 0.8"
}
},
- "node_modules/serialize-javascript": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
- "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "randombytes": "^2.1.0"
- }
- },
- "node_modules/serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "accepts": "~1.3.4",
- "batch": "0.6.1",
- "debug": "2.6.9",
- "escape-html": "~1.0.3",
- "http-errors": "~1.6.2",
- "mime-types": "~2.1.17",
- "parseurl": "~1.3.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/serve-index/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/serve-index/node_modules/depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/serve-index/node_modules/http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/serve-index/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/serve-index/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/serve-index/node_modules/setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/serve-static": {
- "version": "1.16.3",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
- "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz",
+ "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "~0.19.1"
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "parseurl": "^1.3.3",
+ "send": "^1.2.0"
},
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/serve-static/node_modules/encodeurl": {
@@ -12629,19 +8765,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -12665,19 +8788,6 @@
"node": ">=8"
}
},
- "node_modules/shell-quote": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
- "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/side-channel": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
@@ -12785,19 +8895,6 @@
"node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/slash": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
- "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/slice-ansi": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz",
@@ -12883,18 +8980,6 @@
"node": ">=10.0.0"
}
},
- "node_modules/sockjs": {
- "version": "0.3.24",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
- "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "faye-websocket": "^0.11.3",
- "uuid": "^8.3.2",
- "websocket-driver": "^0.7.4"
- }
- },
"node_modules/socks": {
"version": "2.8.7",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz",
@@ -12926,13 +9011,13 @@
}
},
"node_modules/source-map": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
- "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+ "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
- "node": ">= 8"
+ "node": ">= 12"
}
},
"node_modules/source-map-js": {
@@ -12945,40 +9030,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/source-map-loader": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz",
- "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "iconv-lite": "^0.6.3",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.72.1"
- }
- },
- "node_modules/source-map-loader/node_modules/iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -13036,38 +9087,6 @@
"dev": true,
"license": "CC0-1.0"
},
- "node_modules/spdy": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
- "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.1.0",
- "handle-thing": "^2.0.0",
- "http-deceiver": "^1.2.7",
- "select-hose": "^2.0.0",
- "spdy-transport": "^3.0.0"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/spdy-transport": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
- "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.1.0",
- "detect-node": "^2.0.4",
- "hpack.js": "^2.1.6",
- "obuf": "^1.1.2",
- "readable-stream": "^3.0.6",
- "wbuf": "^1.7.3"
- }
- },
"node_modules/ssri": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz",
@@ -13091,6 +9110,19 @@
"node": ">= 0.6"
}
},
+ "node_modules/stdin-discarder": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz",
+ "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/streamroller": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz",
@@ -13106,16 +9138,6 @@
"node": ">=8.0"
}
},
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
"node_modules/string-width": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
@@ -13256,34 +9278,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/symbol-observable": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
- "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/tapable": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
- "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/tar": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
"integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -13382,14 +9381,16 @@
"license": "ISC"
},
"node_modules/terser": {
- "version": "5.39.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz",
- "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==",
+ "version": "5.43.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
+ "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
"dev": true,
"license": "BSD-2-Clause",
+ "optional": true,
+ "peer": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
- "acorn": "^8.8.2",
+ "acorn": "^8.14.0",
"commander": "^2.20.0",
"source-map-support": "~0.5.20"
},
@@ -13400,74 +9401,15 @@
"node": ">=10"
}
},
- "node_modules/terser-webpack-plugin": {
- "version": "5.3.16",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz",
- "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.25",
- "jest-worker": "^27.4.5",
- "schema-utils": "^4.3.0",
- "serialize-javascript": "^6.0.2",
- "terser": "^5.31.1"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- },
- "uglify-js": {
- "optional": true
- }
- }
- },
- "node_modules/thingies": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz",
- "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "^2"
- }
- },
- "node_modules/thunky": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
- "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/tinyglobby": {
- "version": "0.2.15",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
- "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
+ "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "fdir": "^6.5.0",
- "picomatch": "^4.0.3"
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2"
},
"engines": {
"node": ">=12.0.0"
@@ -13476,19 +9418,6 @@
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
- "node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/tmp": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
@@ -13522,33 +9451,6 @@
"node": ">=0.6"
}
},
- "node_modules/tree-dump": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz",
- "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
- "node_modules/tree-kill": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
- "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "tree-kill": "cli.js"
- }
- },
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
@@ -13584,17 +9486,10 @@
"node": ">= 0.6"
}
},
- "node_modules/typed-assert": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz",
- "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/typescript": {
- "version": "5.5.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
- "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -13639,63 +9534,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
- "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-match-property-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "unicode-canonical-property-names-ecmascript": "^2.0.0",
- "unicode-property-aliases-ecmascript": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz",
- "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-property-aliases-ecmascript": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz",
- "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicorn-magic": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
- "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/unique-filename": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz",
@@ -13773,13 +9611,6 @@
"browserslist": ">= 4.21.0"
}
},
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -13790,16 +9621,6 @@
"node": ">= 0.4.0"
}
},
- "node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
"node_modules/validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -13832,24 +9653,24 @@
}
},
"node_modules/vite": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz",
- "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==",
+ "version": "7.1.11",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.11.tgz",
+ "integrity": "sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.25.0",
- "fdir": "^6.4.4",
- "picomatch": "^4.0.2",
- "postcss": "^8.5.3",
- "rollup": "^4.34.9",
- "tinyglobby": "^0.2.13"
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3",
+ "postcss": "^8.5.6",
+ "rollup": "^4.43.0",
+ "tinyglobby": "^0.2.15"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
- "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+ "node": "^20.19.0 || >=22.12.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
@@ -13858,14 +9679,14 @@
"fsevents": "~2.3.3"
},
"peerDependencies": {
- "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
+ "@types/node": "^20.19.0 || >=22.12.0",
"jiti": ">=1.21.0",
- "less": "*",
+ "less": "^4.0.0",
"lightningcss": "^1.21.0",
- "sass": "*",
- "sass-embedded": "*",
- "stylus": "*",
- "sugarss": "*",
+ "sass": "^1.70.0",
+ "sass-embedded": "^1.70.0",
+ "stylus": ">=0.54.8",
+ "sugarss": "^5.0.0",
"terser": "^5.16.0",
"tsx": "^4.8.1",
"yaml": "^2.4.2"
@@ -13906,323 +9727,21 @@
}
}
},
- "node_modules/vite/node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz",
- "integrity": "sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-android-arm64": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.1.tgz",
- "integrity": "sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.1.tgz",
- "integrity": "sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.55.1.tgz",
- "integrity": "sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.1.tgz",
- "integrity": "sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.1.tgz",
- "integrity": "sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.1.tgz",
- "integrity": "sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.1.tgz",
- "integrity": "sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.55.1.tgz",
- "integrity": "sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.1.tgz",
- "integrity": "sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.1.tgz",
- "integrity": "sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.1.tgz",
- "integrity": "sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.1.tgz",
- "integrity": "sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.1.tgz",
- "integrity": "sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.55.1.tgz",
- "integrity": "sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.1.tgz",
- "integrity": "sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/vite/node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz",
- "integrity": "sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/vite/node_modules/@types/estree": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/vite/node_modules/postcss": {
- "version": "8.5.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
- "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "nanoid": "^3.3.11",
- "picocolors": "^1.1.1",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/vite/node_modules/rollup": {
- "version": "4.55.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz",
- "integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==",
+ "node_modules/vite/node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/estree": "1.0.8"
- },
- "bin": {
- "rollup": "dist/bin/rollup"
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
},
"engines": {
- "node": ">=18.0.0",
- "npm": ">=8.0.0"
+ "node": ">=12.0.0"
},
- "optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.55.1",
- "@rollup/rollup-android-arm64": "4.55.1",
- "@rollup/rollup-darwin-arm64": "4.55.1",
- "@rollup/rollup-darwin-x64": "4.55.1",
- "@rollup/rollup-freebsd-arm64": "4.55.1",
- "@rollup/rollup-freebsd-x64": "4.55.1",
- "@rollup/rollup-linux-arm-gnueabihf": "4.55.1",
- "@rollup/rollup-linux-arm-musleabihf": "4.55.1",
- "@rollup/rollup-linux-arm64-gnu": "4.55.1",
- "@rollup/rollup-linux-arm64-musl": "4.55.1",
- "@rollup/rollup-linux-loong64-gnu": "4.55.1",
- "@rollup/rollup-linux-loong64-musl": "4.55.1",
- "@rollup/rollup-linux-ppc64-gnu": "4.55.1",
- "@rollup/rollup-linux-ppc64-musl": "4.55.1",
- "@rollup/rollup-linux-riscv64-gnu": "4.55.1",
- "@rollup/rollup-linux-riscv64-musl": "4.55.1",
- "@rollup/rollup-linux-s390x-gnu": "4.55.1",
- "@rollup/rollup-linux-x64-gnu": "4.55.1",
- "@rollup/rollup-linux-x64-musl": "4.55.1",
- "@rollup/rollup-openbsd-x64": "4.55.1",
- "@rollup/rollup-openharmony-arm64": "4.55.1",
- "@rollup/rollup-win32-arm64-msvc": "4.55.1",
- "@rollup/rollup-win32-ia32-msvc": "4.55.1",
- "@rollup/rollup-win32-x64-gnu": "4.55.1",
- "@rollup/rollup-win32-x64-msvc": "4.55.1",
- "fsevents": "~2.3.2"
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
}
},
"node_modules/void-elements": {
@@ -14236,9 +9755,9 @@
}
},
"node_modules/watchpack": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
- "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz",
+ "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14249,26 +9768,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/wbuf": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
- "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/wcwidth": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "defaults": "^1.0.3"
- }
- },
"node_modules/weak-lru-cache": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz",
@@ -14277,309 +9776,6 @@
"license": "MIT",
"optional": true
},
- "node_modules/webpack": {
- "version": "5.98.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz",
- "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/eslint-scope": "^3.7.7",
- "@types/estree": "^1.0.6",
- "@webassemblyjs/ast": "^1.14.1",
- "@webassemblyjs/wasm-edit": "^1.14.1",
- "@webassemblyjs/wasm-parser": "^1.14.1",
- "acorn": "^8.14.0",
- "browserslist": "^4.24.0",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.17.1",
- "es-module-lexer": "^1.2.1",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.11",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^4.3.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.3.11",
- "watchpack": "^2.4.1",
- "webpack-sources": "^3.2.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-dev-middleware": {
- "version": "7.4.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz",
- "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "colorette": "^2.0.10",
- "memfs": "^4.6.0",
- "mime-types": "^2.1.31",
- "on-finished": "^2.4.1",
- "range-parser": "^1.2.1",
- "schema-utils": "^4.0.0"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "webpack": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-dev-server": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz",
- "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/bonjour": "^3.5.13",
- "@types/connect-history-api-fallback": "^1.5.4",
- "@types/express": "^4.17.21",
- "@types/express-serve-static-core": "^4.17.21",
- "@types/serve-index": "^1.9.4",
- "@types/serve-static": "^1.15.5",
- "@types/sockjs": "^0.3.36",
- "@types/ws": "^8.5.10",
- "ansi-html-community": "^0.0.8",
- "bonjour-service": "^1.2.1",
- "chokidar": "^3.6.0",
- "colorette": "^2.0.10",
- "compression": "^1.7.4",
- "connect-history-api-fallback": "^2.0.0",
- "express": "^4.21.2",
- "graceful-fs": "^4.2.6",
- "http-proxy-middleware": "^2.0.9",
- "ipaddr.js": "^2.1.0",
- "launch-editor": "^2.6.1",
- "open": "^10.0.3",
- "p-retry": "^6.2.0",
- "schema-utils": "^4.2.0",
- "selfsigned": "^2.4.1",
- "serve-index": "^1.9.1",
- "sockjs": "^0.3.24",
- "spdy": "^4.0.2",
- "webpack-dev-middleware": "^7.4.2",
- "ws": "^8.18.0"
- },
- "bin": {
- "webpack-dev-server": "bin/webpack-dev-server.js"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "webpack": {
- "optional": true
- },
- "webpack-cli": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-dev-server/node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/webpack-dev-server/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": {
- "version": "2.0.9",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz",
- "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/http-proxy": "^1.17.8",
- "http-proxy": "^1.18.1",
- "is-glob": "^4.0.1",
- "is-plain-obj": "^3.0.0",
- "micromatch": "^4.0.2"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "@types/express": "^4.17.13"
- },
- "peerDependenciesMeta": {
- "@types/express": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-dev-server/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/webpack-dev-server/node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/webpack-merge": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz",
- "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "clone-deep": "^4.0.1",
- "flat": "^5.0.2",
- "wildcard": "^2.0.1"
- },
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/webpack-sources": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
- "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/webpack-subresource-integrity": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz",
- "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "typed-assert": "^1.0.8"
- },
- "engines": {
- "node": ">= 12"
- },
- "peerDependencies": {
- "html-webpack-plugin": ">= 5.0.0-beta.1 < 6",
- "webpack": "^5.12.0"
- },
- "peerDependenciesMeta": {
- "html-webpack-plugin": {
- "optional": true
- }
- }
- },
- "node_modules/webpack/node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/websocket-driver": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
- "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "http-parser-js": ">=0.5.1",
- "safe-buffer": ">=5.1.0",
- "websocket-extensions": ">=0.1.1"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/websocket-extensions": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
- "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=0.8.0"
- }
- },
"node_modules/which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -14593,13 +9789,6 @@
"which": "bin/which"
}
},
- "node_modules/wildcard": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
- "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -14791,100 +9980,31 @@
"license": "ISC"
},
"node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "version": "18.0.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
+ "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "cliui": "^8.0.1",
+ "cliui": "^9.0.1",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
+ "string-width": "^7.2.0",
"y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
+ "yargs-parser": "^22.0.0"
},
"engines": {
- "node": ">=12"
+ "node": "^20.19.0 || ^22.12.0 || >=23"
}
},
"node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "version": "22.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
+ "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
"dev": true,
"license": "ISC",
"engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/yargs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yocto-queue": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz",
- "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^20.19.0 || ^22.12.0 || >=23"
}
},
"node_modules/yoctocolors-cjs": {
@@ -14900,6 +10020,26 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/zod": {
+ "version": "4.1.13",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz",
+ "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-to-json-schema": {
+ "version": "3.25.1",
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz",
+ "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==",
+ "dev": true,
+ "license": "ISC",
+ "peerDependencies": {
+ "zod": "^3.25 || ^4"
+ }
+ },
"node_modules/zone.js": {
"version": "0.15.1",
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz",
diff --git a/Front/skydivelogs-app/package.json b/Front/skydivelogs-app/package.json
index 9b65578..d65cee4 100644
--- a/Front/skydivelogs-app/package.json
+++ b/Front/skydivelogs-app/package.json
@@ -1,46 +1,46 @@
{
- "name": "skydivelogs-app",
- "version": "0.0.0",
- "license": "MIT",
- "scripts": {
- "ng": "ng",
- "start": "ng serve",
- "build": "ng build",
- "test": "ng test",
- "lint": "ng lint",
- "e2e": "ng e2e"
- },
- "private": true,
- "dependencies": {
- "@angular/animations": "^19.2.6",
- "@angular/cdk": "^19.2.9",
- "@angular/common": "^19.2.6",
- "@angular/compiler": "^19.2.6",
- "@angular/core": "^19.2.6",
- "@angular/forms": "^19.2.6",
- "@angular/material": "^19.2.9",
- "@angular/platform-browser": "^19.2.6",
- "@angular/platform-browser-dynamic": "^19.2.6",
- "@angular/router": "^19.2.6",
- "@ngx-translate/core": "^17.0.0",
- "@ngx-translate/http-loader": "^17.0.0",
- "chart.js": "^4.3.0",
- "ng2-charts": "^8.0.0",
- "rxjs": "~7.8.0",
- "tslib": "^2.3.0",
- "zone.js": "~0.15.0"
- },
- "devDependencies": {
- "@angular-devkit/build-angular": "^19.2.7",
- "@angular/cli": "~19.2.7",
- "@angular/compiler-cli": "^19.2.6",
- "@types/jasmine": "~4.3.0",
- "jasmine-core": "~5.1.0",
- "karma": "~6.4.0",
- "karma-chrome-launcher": "~3.2.0",
- "karma-coverage": "~2.2.0",
- "karma-jasmine": "~5.1.0",
- "karma-jasmine-html-reporter": "~2.1.0",
- "typescript": "~5.5.4"
- }
+ "name": "skydivelogs-app",
+ "version": "0.0.0",
+ "license": "MIT",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build --configuration production",
+ "test": "ng test",
+ "lint": "ng lint",
+ "e2e": "ng e2e"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/animations": "^20.3.16",
+ "@angular/cdk": "^20.2.14",
+ "@angular/common": "^20.3.16",
+ "@angular/compiler": "^20.3.16",
+ "@angular/core": "^20.3.16",
+ "@angular/forms": "^20.3.16",
+ "@angular/material": "^20.2.14",
+ "@angular/platform-browser": "^20.3.16",
+ "@angular/platform-browser-dynamic": "^20.3.16",
+ "@angular/router": "^20.3.16",
+ "@ngx-translate/core": "^17.0.0",
+ "@ngx-translate/http-loader": "^17.0.0",
+ "chart.js": "^4.3.0",
+ "ng2-charts": "^8.0.0",
+ "rxjs": "~7.8.0",
+ "tslib": "^2.3.0",
+ "zone.js": "~0.15.0"
+ },
+ "devDependencies": {
+ "@angular/build": "^20.3.14",
+ "@angular/cli": "~20.3.14",
+ "@angular/compiler-cli": "^20.3.16",
+ "@types/jasmine": "~4.3.0",
+ "jasmine-core": "~5.1.0",
+ "karma": "~6.4.0",
+ "karma-chrome-launcher": "~3.2.0",
+ "karma-coverage": "~2.2.0",
+ "karma-jasmine": "~5.1.0",
+ "karma-jasmine-html-reporter": "~2.1.0",
+ "typescript": "~5.9.3"
+ }
}
diff --git a/Front/skydivelogs-app/src/app/app.base.component.ts b/Front/skydivelogs-app/src/app/app.base.component.ts
deleted file mode 100644
index 4673b50..0000000
--- a/Front/skydivelogs-app/src/app/app.base.component.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { inject, OnInit } from "@angular/core";
-import { IconResolver, MatIconRegistry } from "@angular/material/icon";
-import { DomSanitizer } from "@angular/platform-browser";
-import { TranslateService } from "@ngx-translate/core";
-import { ServiceComm } from "../services/service-comm.service";
-
-@decorator
-export class BaseComponent implements OnInit {
- private titleId: string = "???";
- protected serviceComm: ServiceComm;
- protected translateService: TranslateService;
-
- constructor(titleId: string) {
- let iconRegistry = inject(MatIconRegistry);
- let sanitizer = inject(DomSanitizer);
- const resolver: IconResolver = (name) =>
- sanitizer.bypassSecurityTrustResourceUrl(`/assets/icon/${name}.svg`);
- iconRegistry.addSvgIconResolver(resolver);
-
- this.serviceComm = inject(ServiceComm);
- this.translateService = inject(TranslateService);
- this.titleId = titleId;
- }
-
- ngOnInit() {
- this.translateService.get(this.titleId).subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- // this.serviceComm.componentTitle.subscribe((title) => (this.title = data));
- });
- }
-}
-
-function decorator(target: typeof BaseComponent): void | typeof BaseComponent {}
diff --git a/Front/skydivelogs-app/src/app/app.component.css b/Front/skydivelogs-app/src/app/app.component.css
index f506723..71f1f8c 100644
--- a/Front/skydivelogs-app/src/app/app.component.css
+++ b/Front/skydivelogs-app/src/app/app.component.css
@@ -1,56 +1,44 @@
-/* .hamburger__icon {
- position: relative;
- height: 1rem;
- margin-right: 1rem;
- cursor: pointer;
- fill: #ffff;
-}
-
-.hamburger__icon__fill {
- fill: #424242
-} */
-
.navigation.side-menu-active {
- left: 0px;
+ left: 0px;
}
.navigation {
- position: absolute;
- width: 200px;
- z-index: 101;
- background-color: grey;
- padding: 5px;
- left: -220px;
- transition: 0.5s linear left;
- -webkit-transition: 0.5s linear left;
+ position: absolute;
+ width: 200px;
+ z-index: 101;
+ background-color: grey;
+ padding: 5px;
+ left: -220px;
+ transition: 0.5s linear left;
+ -webkit-transition: 0.5s linear left;
}
.navigation ul {
- list-style: none;
- padding: 0;
+ list-style: none;
+ padding: 0;
}
.navigation ul li {
- margin: 10px;
+ margin: 10px;
}
.navigation ul li a {
- text-decoration: none;
- cursor: pointer;
- color: #424242;
- vertical-align: middle;
+ text-decoration: none;
+ cursor: pointer;
+ color: #424242;
+ vertical-align: middle;
}
.navigation .mat-icon {
- vertical-align: middle;
+ vertical-align: middle;
}
.navigation .splitter {
- width: 100%;
- margin-top: 20px;
- margin-bottom: 20px;
+ width: 100%;
+ margin-top: 20px;
+ margin-bottom: 20px;
}
.mat-icon {
- margin-right: 15px;
+ margin-right: 15px;
}
diff --git a/Front/skydivelogs-app/src/app/app.component.html b/Front/skydivelogs-app/src/app/app.component.html
index de07832..6c50029 100644
--- a/Front/skydivelogs-app/src/app/app.component.html
+++ b/Front/skydivelogs-app/src/app/app.component.html
@@ -1,190 +1,200 @@
-
-
- {{ translatedTitle }}
-
-
-
-
-
-
-
-
-
-
-
-
-
+@if (this.show()) {
+
+
+
+ {{ translatedTitle }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
-
-
-
- {{ "App_Nav_Summary" | translate }}
-
-
-
-
- {{ "App_Nav_Jumps" | translate }}
-
-
-
- {{ "App_Nav_NewJump" | translate }}
-
-
-
-
- {{ "App_Nav_TunnelFlights" | translate }}
-
-
-
- {{ "App_Nav_NewTunnelFlight" | translate }}
-
-
-
-
- {{ "App_Nav_Dzs" | translate }}
-
-
-
- {{ "App_Nav_Aircrafts" | translate }}
-
-
-
- {{ "App_Nav_JumpTypes" | translate }}
-
-
-
- {{ "App_Nav_Gears" | translate }}
-
-
-
-
-
- {{ this.currentUser.firstName }} {{ this.currentUser.lastName }}
-
-
-
-
- {{
- "App_Nav_Logout" | translate
- }}
-
-
+
+
+
+ {{ "App_Nav_Summary" | translate }}
+
+
+
+
+ {{ "App_Nav_Jumps" | translate }}
+
+
+
+ {{ "App_Nav_NewJump" | translate }}
+
+
+
+
+ {{ "App_Nav_TunnelFlights" | translate }}
+
+
+
+ {{ "App_Nav_NewTunnelFlight" | translate }}
+
+
+
+
+ {{ "App_Nav_Dzs" | translate }}
+
+
+
+ {{ "App_Nav_Aircrafts" | translate }}
+
+
+
+ {{ "App_Nav_JumpTypes" | translate }}
+
+
+
+ {{ "App_Nav_Gears" | translate }}
+
+ @if (currentUser) {
+
+
+
+
+ {{ this.currentUser.firstName }}
+ {{ this.currentUser.lastName }}
+
+
+ }
+ @if (currentUser) {
+
+
+ {{ "App_Nav_Logout" | translate }}
+
+ }
+
-
-
-
-
+
+
+
+
diff --git a/Front/skydivelogs-app/src/app/app.component.ts b/Front/skydivelogs-app/src/app/app.component.ts
index fe08a5e..db7bec3 100644
--- a/Front/skydivelogs-app/src/app/app.component.ts
+++ b/Front/skydivelogs-app/src/app/app.component.ts
@@ -1,21 +1,21 @@
import { Component, inject, OnInit } from "@angular/core";
import { Router, RouterLink, RouterOutlet } from "@angular/router";
-import { CommonModule } from "@angular/common";
+
import { DomSanitizer } from "@angular/platform-browser";
import { MatToolbarModule } from "@angular/material/toolbar";
import {
- IconResolver,
- MatIconModule,
- MatIconRegistry,
+ IconResolver,
+ MatIconModule,
+ MatIconRegistry,
} from "@angular/material/icon";
import { MatSelectModule } from "@angular/material/select";
import { MatOptionModule } from "@angular/material/core";
import { MatSidenavModule } from "@angular/material/sidenav";
import { MatListModule } from "@angular/material/list";
import {
- TranslateService,
- TranslateModule,
- TranslatePipe,
+ TranslateService,
+ TranslateModule,
+ TranslatePipe,
} from "@ngx-translate/core";
import { User } from "../models/user";
@@ -27,80 +27,82 @@ import { ConfigurationHelper } from "../services/configuration-helper";
import { ServiceCacheApi } from "../services/service-cache-api.service";
@Component({
- selector: "app-root",
- templateUrl: "./app.component.html",
- styleUrls: ["./app.component.css"],
- imports: [
- CommonModule,
- MatToolbarModule,
- MatIconModule,
- MatSelectModule,
- MatOptionModule,
- MatSidenavModule,
- MatListModule,
- RouterOutlet,
- RouterLink,
- TranslateModule,
- TranslatePipe,
- ],
+ selector: "app-root",
+ templateUrl: "./app.component.html",
+ styleUrls: ["./app.component.css"],
+ imports: [
+ MatToolbarModule,
+ MatIconModule,
+ MatSelectModule,
+ MatOptionModule,
+ MatSidenavModule,
+ MatListModule,
+ RouterOutlet,
+ RouterLink,
+ TranslateModule,
+ TranslatePipe,
+ ],
})
export class AppComponent implements OnInit {
- public translatedTitle = "???";
- public currentUser: User;
- public version: string;
- public selectedLanguageFlag: string;
+ public translatedTitle = "???";
+ public currentUser: User;
+ public version: string;
+ public selectedLanguageFlag: string;
- constructor(
- private router: Router,
- private authenticationService: AuthenticationService,
- private serviceComm: ServiceComm,
- private serviceCacheApi: ServiceCacheApi,
- private translateService: TranslateService,
- ) {
- const sanitizer = inject(DomSanitizer);
- const resolver: IconResolver = (name) =>
- sanitizer.bypassSecurityTrustResourceUrl(`/assets/icon/${name}.svg`);
- const iconRegistry = inject(MatIconRegistry);
- iconRegistry.addSvgIconResolver(resolver);
+ constructor(
+ private router: Router,
+ private authenticationService: AuthenticationService,
+ private serviceComm: ServiceComm,
+ private serviceCacheApi: ServiceCacheApi,
+ private translateService: TranslateService,
+ ) {
+ const sanitizer = inject(DomSanitizer);
+ const resolver: IconResolver = (name) =>
+ sanitizer.bypassSecurityTrustResourceUrl(
+ `/assets/icon/${name}.svg`,
+ );
+ const iconRegistry = inject(MatIconRegistry);
+ iconRegistry.addSvgIconResolver(resolver);
- this.authenticationService.currentUser.subscribe((user) => {
- if (user) {
- this.currentUser = user;
- this.translateService.addLangs(["en", "fr"]);
- this.translateService.use(user.language);
- this.selectedLanguageFlag = user.language;
- }
- });
+ this.authenticationService.currentUser.subscribe((user) => {
+ if (user) {
+ this.currentUser = user;
+ this.translateService.addLangs(["en", "fr"]);
+ this.translateService.use(user.language);
+ this.selectedLanguageFlag = user.language;
+ }
+ });
- ConfigurationHelper.settings.subscribe((settings) => {
- if (settings != null) {
- this.version = settings.version;
- }
- });
- }
+ ConfigurationHelper.settings.subscribe((settings) => {
+ if (settings != null) {
+ this.version = settings.version;
+ }
+ });
+ }
- ngOnInit() {
- this.serviceComm.componentTitle.subscribe(
- (title) => (this.translatedTitle = title),
- );
- }
+ ngOnInit() {}
+ ngAfterViewInit() {
+ this.serviceComm.componentTitle.subscribe(
+ (title) => (this.translatedTitle = title),
+ );
+ }
- public show() {
- return this.authenticationService.currentUserValue != undefined;
- }
+ public show() {
+ return this.authenticationService.currentUserValue != undefined;
+ }
- public logout() {
- this.serviceCacheApi.delete(CacheApiKey.Dropzone);
- this.authenticationService.logout();
- this.router.navigate(["/login"], { skipLocationChange: true });
- }
+ public logout() {
+ this.serviceCacheApi.delete(CacheApiKey.Dropzone);
+ this.authenticationService.logout();
+ this.router.navigate(["/login"], { skipLocationChange: true });
+ }
- public switchLang(event: any) {
- this.translateService.use(event.value);
- this.currentUser.language = event.value;
- this.authenticationService.currentUserValue = this.currentUser;
- this.selectedLanguageFlag = event.value;
+ public switchLang(event: any) {
+ this.translateService.use(event.value);
+ this.currentUser.language = event.value;
+ this.authenticationService.currentUserValue = this.currentUser;
+ this.selectedLanguageFlag = event.value;
- this.serviceComm.forceTranslate();
- }
+ this.serviceComm.forceTranslate();
+ }
}
diff --git a/Front/skydivelogs-app/src/app/app.config.ts b/Front/skydivelogs-app/src/app/app.config.ts
index 46428cd..9e7f38e 100644
--- a/Front/skydivelogs-app/src/app/app.config.ts
+++ b/Front/skydivelogs-app/src/app/app.config.ts
@@ -32,42 +32,44 @@ import { provideTranslateHttpLoader } from "@ngx-translate/http-loader";
// Déclaration de la fonction d'initialisation de la configuration
export function initConfig(configService: ConfigurationHelper) {
- return () => configService.load(environment.env);
+ return () => configService.load(environment.env);
}
export const appConfig: ApplicationConfig = {
- providers: [
- TunnelService,
- TunnelFlightService,
- ImageService,
- AircraftService,
- DropzoneService,
- GearService,
- JumpService,
- JumpTypeService,
- StatsService,
- ServiceComm,
- DateService,
- RequestCache,
- ConfigurationHelper,
- DatePipe,
- ServiceCacheApi,
- provideAppInitializer(() => {
- const initializerFn = initConfig(inject(ConfigurationHelper));
- return initializerFn();
- }),
- provideHttpClient(withInterceptors([JwtAuthInterceptor, ErrorInterceptor])),
- provideCharts(withDefaultRegisterables()),
- provideZoneChangeDetection({ eventCoalescing: true }),
- provideRouter(routes),
- provideHttpClient(),
- provideTranslateService({
- loader: provideTranslateHttpLoader({
- prefix: "/assets/i18n/",
- suffix: ".json",
- }),
- fallbackLang: "en",
- lang: "en",
- }),
- ],
+ providers: [
+ TunnelService,
+ TunnelFlightService,
+ ImageService,
+ AircraftService,
+ DropzoneService,
+ GearService,
+ JumpService,
+ JumpTypeService,
+ StatsService,
+ ServiceComm,
+ DateService,
+ RequestCache,
+ ConfigurationHelper,
+ DatePipe,
+ ServiceCacheApi,
+ provideAppInitializer(() => {
+ const initializerFn = initConfig(inject(ConfigurationHelper));
+ return initializerFn();
+ }),
+ provideHttpClient(
+ withInterceptors([JwtAuthInterceptor, ErrorInterceptor]),
+ ),
+ provideCharts(withDefaultRegisterables()),
+ provideZoneChangeDetection({ eventCoalescing: true }),
+ provideRouter(routes),
+ provideHttpClient(),
+ provideTranslateService({
+ loader: provideTranslateHttpLoader({
+ prefix: "/assets/i18n/",
+ suffix: ".json",
+ }),
+ fallbackLang: "en",
+ lang: "en",
+ }),
+ ],
};
diff --git a/Front/skydivelogs-app/src/app/app.routes.ts b/Front/skydivelogs-app/src/app/app.routes.ts
index cfcb433..befabe1 100644
--- a/Front/skydivelogs-app/src/app/app.routes.ts
+++ b/Front/skydivelogs-app/src/app/app.routes.ts
@@ -3,91 +3,97 @@ import { Routes } from "@angular/router";
import { AuthGuardService } from "../services/auth-guard.service";
export const routes: Routes = [
- {
- path: "",
- loadComponent: () =>
- import("./default/default.component").then((m) => m.DefaultComponent),
- canActivate: [AuthGuardService],
- },
- {
- path: "summary",
- loadComponent: () =>
- import("./summary/summary.component").then((m) => m.SummaryComponent),
- canActivate: [AuthGuardService],
- },
- {
- path: "jumps",
- loadComponent: () =>
- import("./list-of-jumps/list-of-jumps.component").then(
- (m) => m.ListOfJumpsComponent,
- ),
- canActivate: [AuthGuardService],
- },
- {
- path: "dzs",
- loadComponent: () =>
- import("./list-of-dzs/list-of-dzs.component").then(
- (m) => m.ListOfDzsComponent,
- ),
- canActivate: [AuthGuardService],
- },
- {
- path: "newjump",
- loadComponent: () =>
- import("./new-jump/new-jump.component").then((m) => m.NewJumpComponent),
- canActivate: [AuthGuardService],
- },
- {
- path: "aircrafts",
- loadComponent: () =>
- import("./list-of-aircrafts/list-of-aircrafts.component").then(
- (m) => m.ListOfAircraftsComponent,
- ),
- canActivate: [AuthGuardService],
- },
- {
- path: "jumpTypes",
- loadComponent: () =>
- import("./list-of-jump-types/list-of-jump-types.component").then(
- (m) => m.ListOfJumpTypesComponent,
- ),
- canActivate: [AuthGuardService],
- },
- {
- path: "gears",
- loadComponent: () =>
- import("./list-of-gears/list-of-gears.component").then(
- (m) => m.ListOfGearsComponent,
- ),
- canActivate: [AuthGuardService],
- },
- {
- path: "user",
- loadComponent: () =>
- import("./user-profile/user-profile.component").then(
- (m) => m.UserProfileComponent,
- ),
- canActivate: [AuthGuardService],
- },
- {
- path: "newTunnelFlight",
- loadComponent: () =>
- import("./new-tunnel-flight/new-tunnel-flight.component").then(
- (m) => m.NewTunnelFlightComponent,
- ),
- canActivate: [AuthGuardService],
- },
- {
- path: "tunnelFlights",
- loadComponent: () =>
- import("./list-of-tunnel-flights/list-of-tunnel-flights.component").then(
- (m) => m.ListOfTunnelFlightsComponent,
- ),
- canActivate: [AuthGuardService],
- },
- {
- path: "login",
- loadComponent: () =>
- import("./login/login.component").then((m) => m.LoginComponent),
- },
+ {
+ path: "",
+ loadComponent: () =>
+ import("./default/default.component").then(
+ (m) => m.DefaultComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "summary",
+ loadComponent: () =>
+ import("./summary/summary.component").then(
+ (m) => m.SummaryComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "jumps",
+ loadComponent: () =>
+ import("./list-of-jumps/list-of-jumps.component").then(
+ (m) => m.ListOfJumpsComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "dzs",
+ loadComponent: () =>
+ import("./list-of-dzs/list-of-dzs.component").then(
+ (m) => m.ListOfDzsComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "newjump",
+ loadComponent: () =>
+ import("./new-jump/new-jump.component").then(
+ (m) => m.NewJumpComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "aircrafts",
+ loadComponent: () =>
+ import("./list-of-aircrafts/list-of-aircrafts.component").then(
+ (m) => m.ListOfAircraftsComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "jumpTypes",
+ loadComponent: () =>
+ import("./list-of-jump-types/list-of-jump-types.component").then(
+ (m) => m.ListOfJumpTypesComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "gears",
+ loadComponent: () =>
+ import("./list-of-gears/list-of-gears.component").then(
+ (m) => m.ListOfGearsComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "user",
+ loadComponent: () =>
+ import("./user-profile/user-profile.component").then(
+ (m) => m.UserProfileComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "newTunnelFlight",
+ loadComponent: () =>
+ import("./new-tunnel-flight/new-tunnel-flight.component").then(
+ (m) => m.NewTunnelFlightComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "tunnelFlights",
+ loadComponent: () =>
+ import("./list-of-tunnel-flights/list-of-tunnel-flights.component").then(
+ (m) => m.ListOfTunnelFlightsComponent,
+ ),
+ canActivate: [AuthGuardService],
+ },
+ {
+ path: "login",
+ loadComponent: () =>
+ import("./login/login.component").then((m) => m.LoginComponent),
+ },
];
diff --git a/Front/skydivelogs-app/src/app/create-user/create-user.component.html b/Front/skydivelogs-app/src/app/create-user/create-user.component.html
index 1ea23d3..1b04bda 100644
--- a/Front/skydivelogs-app/src/app/create-user/create-user.component.html
+++ b/Front/skydivelogs-app/src/app/create-user/create-user.component.html
@@ -1,104 +1,136 @@
diff --git a/Front/skydivelogs-app/src/app/create-user/create-user.component.ts b/Front/skydivelogs-app/src/app/create-user/create-user.component.ts
index 90b5cf5..a4142cd 100644
--- a/Front/skydivelogs-app/src/app/create-user/create-user.component.ts
+++ b/Front/skydivelogs-app/src/app/create-user/create-user.component.ts
@@ -1,15 +1,15 @@
import { Component, OnInit, ViewChild } from "@angular/core";
import { Router, ActivatedRoute } from "@angular/router";
import {
- FormBuilder,
- FormGroup,
- ReactiveFormsModule,
- Validators,
+ FormBuilder,
+ FormGroup,
+ ReactiveFormsModule,
+ Validators,
} from "@angular/forms";
import {
- TranslateModule,
- TranslatePipe,
- TranslateService,
+ TranslateModule,
+ TranslatePipe,
+ TranslateService,
} from "@ngx-translate/core";
import { CommonModule } from "@angular/common";
import { MatFormFieldModule } from "@angular/material/form-field";
@@ -22,90 +22,90 @@ import { AuthenticationService } from "../../services/authentication.service";
import { User } from "../../models/user";
@Component({
- selector: "app-create-user",
- templateUrl: "./create-user.component.html",
- styleUrls: ["./create-user.component.css"],
- imports: [
- CommonModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatInputModule,
- MatButtonModule,
- TranslateModule,
- TranslatePipe,
- ],
+ selector: "app-create-user",
+ templateUrl: "./create-user.component.html",
+ styleUrls: ["./create-user.component.css"],
+ imports: [
+ CommonModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatInputModule,
+ MatButtonModule,
+ TranslateModule,
+ TranslatePipe,
+ ],
})
export class CreateUserComponent implements OnInit {
- public createForm: FormGroup;
- public invalidForm = true;
- public submitted = false;
- public returnUrl: string;
- public error: string = "";
+ public createForm: FormGroup;
+ public invalidForm = true;
+ public submitted = false;
+ public returnUrl: string;
+ public error: string = "";
- constructor(
- private formBuilder: FormBuilder,
- private route: ActivatedRoute,
- private router: Router,
- private authenticationService: AuthenticationService,
- private translateService: TranslateService,
- ) {
- // redirect to home if already logged in
- if (this.authenticationService.currentUserValue) {
- this.router.navigate(["/"]);
+ constructor(
+ private formBuilder: FormBuilder,
+ private route: ActivatedRoute,
+ private router: Router,
+ private authenticationService: AuthenticationService,
+ private translateService: TranslateService,
+ ) {
+ // redirect to home if already logged in
+ if (this.authenticationService.currentUserValue) {
+ this.router.navigate(["/"]);
+ }
}
- }
- ngOnInit() {
- this.createForm = this.formBuilder.group(
- {
- firstname: ["", [Validators.required, Validators.minLength(3)]],
- lastname: ["", [Validators.required, Validators.minLength(3)]],
- email: ["", [Validators.required, Validators.email]],
- username: ["", [Validators.required, Validators.minLength(3)]],
- password: [
- "",
- [
- Validators.required,
- Validators.pattern(
- "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[@$!%*#?&-_|]).{8,}$",
- ),
- ],
- ],
- },
- { updateOn: "blur" },
- );
+ ngOnInit() {
+ this.createForm = this.formBuilder.group(
+ {
+ firstname: ["", [Validators.required, Validators.minLength(3)]],
+ lastname: ["", [Validators.required, Validators.minLength(3)]],
+ email: ["", [Validators.required, Validators.email]],
+ username: ["", [Validators.required, Validators.minLength(3)]],
+ password: [
+ "",
+ [
+ Validators.required,
+ Validators.pattern(
+ "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[@$!%*#?&-_|]).{8,}$",
+ ),
+ ],
+ ],
+ },
+ { updateOn: "blur" },
+ );
- // get return url from route parameters or default to '/'
- this.returnUrl = this.route.snapshot.queryParams["returnUrl"] || "/";
- }
-
- get formCtrls() {
- return this.createForm.controls;
- }
-
- onCreateSubmit() {
- this.invalidForm = false;
- this.submitted = true;
- if (this.createForm.invalid) {
- this.invalidForm = true;
- return;
+ // get return url from route parameters or default to '/'
+ this.returnUrl = this.route.snapshot.queryParams["returnUrl"] || "/";
+ }
+
+ get formCtrls() {
+ return this.createForm.controls;
+ }
+
+ onCreateSubmit() {
+ this.invalidForm = false;
+ this.submitted = true;
+ if (this.createForm.invalid) {
+ this.invalidForm = true;
+ return;
+ }
+ let createUser = new User();
+ createUser.login = this.formCtrls["username"].value;
+ createUser.password = this.formCtrls["password"].value;
+ createUser.firstName = this.formCtrls["firstname"].value;
+ createUser.lastName = this.formCtrls["lastname"].value;
+ createUser.email = this.formCtrls["email"].value;
+ createUser.language = this.translateService.getCurrentLang();
+ this.authenticationService
+ .create(createUser)
+ .pipe(first())
+ .subscribe({
+ complete: () => this.router.navigate([this.returnUrl]),
+ error: (error) => {
+ this.error = error.message;
+ this.invalidForm = false;
+ },
+ });
}
- let createUser = new User();
- createUser.login = this.formCtrls["username"].value;
- createUser.password = this.formCtrls["password"].value;
- createUser.firstName = this.formCtrls["firstname"].value;
- createUser.lastName = this.formCtrls["lastname"].value;
- createUser.email = this.formCtrls["email"].value;
- createUser.language = this.translateService.getCurrentLang();
- this.authenticationService
- .create(createUser)
- .pipe(first())
- .subscribe({
- complete: () => this.router.navigate([this.returnUrl]),
- error: (error) => {
- this.error = error.message;
- this.invalidForm = false;
- },
- });
- }
}
diff --git a/Front/skydivelogs-app/src/app/default/default.component.css b/Front/skydivelogs-app/src/app/default/default.component.css
index 43332bf..8668e1f 100644
--- a/Front/skydivelogs-app/src/app/default/default.component.css
+++ b/Front/skydivelogs-app/src/app/default/default.component.css
@@ -1,11 +1,11 @@
.content {
- height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
+ height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
}
p {
- margin: 0;
+ margin: 0;
}
diff --git a/Front/skydivelogs-app/src/app/default/default.component.html b/Front/skydivelogs-app/src/app/default/default.component.html
index fb7fe86..197379b 100644
--- a/Front/skydivelogs-app/src/app/default/default.component.html
+++ b/Front/skydivelogs-app/src/app/default/default.component.html
@@ -1,62 +1,62 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Front/skydivelogs-app/src/app/default/default.component.ts b/Front/skydivelogs-app/src/app/default/default.component.ts
index 7a28d1b..f52ec07 100644
--- a/Front/skydivelogs-app/src/app/default/default.component.ts
+++ b/Front/skydivelogs-app/src/app/default/default.component.ts
@@ -12,48 +12,48 @@ import { JumpTypeService } from "../../services/jump-type.service";
import { ServiceComm } from "../../services/service-comm.service";
@Component({
- selector: "app-default",
- templateUrl: "./default.component.html",
- styleUrls: ["./default.component.css"],
- imports: [TranslateModule, MatIconModule, RouterLink],
+ selector: "app-default",
+ templateUrl: "./default.component.html",
+ styleUrls: ["./default.component.css"],
+ imports: [TranslateModule, MatIconModule, RouterLink],
})
export class DefaultComponent implements OnInit {
- constructor(
- private serviceComm: ServiceComm,
- private translateService: TranslateService,
- private authenticationService: AuthenticationService,
- private serviceApiAircraft: AircraftService,
- private serviceApiJumpType: JumpTypeService,
- private serviceApiDropzone: DropzoneService,
- private serviceApiGear: GearService,
- ) {}
+ constructor(
+ private serviceComm: ServiceComm,
+ private translateService: TranslateService,
+ private authenticationService: AuthenticationService,
+ private serviceApiAircraft: AircraftService,
+ private serviceApiJumpType: JumpTypeService,
+ private serviceApiDropzone: DropzoneService,
+ private serviceApiGear: GearService,
+ ) {}
- ngOnInit() {
- this.authenticationService.alwaysLogin();
+ ngOnInit() {
+ this.authenticationService.alwaysLogin();
- this.putToCacheRefDatas().subscribe(() => {
- console.log("Push to cache the referentiel datas");
- });
- this.updateTitle();
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
+ this.putToCacheRefDatas().subscribe(() => {
+ console.log("Push to cache the referentiel datas");
+ });
this.updateTitle();
- }
- });
- }
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
+ }
- private putToCacheRefDatas(): Observable {
- var aircraftResp = this.serviceApiAircraft.getListOfAircrafts(false);
- var jumpTypeResp = this.serviceApiJumpType.getListOfJumpTypes();
- var dzResp = this.serviceApiDropzone.getListOfDropZones(false);
- var gearResp = this.serviceApiGear.getListOfGears();
+ private putToCacheRefDatas(): Observable {
+ var aircraftResp = this.serviceApiAircraft.getListOfAircrafts(false);
+ var jumpTypeResp = this.serviceApiJumpType.getListOfJumpTypes();
+ var dzResp = this.serviceApiDropzone.getListOfDropZones(false);
+ var gearResp = this.serviceApiGear.getListOfGears();
- return forkJoin([aircraftResp, jumpTypeResp, dzResp, gearResp]);
- }
+ return forkJoin([aircraftResp, jumpTypeResp, dzResp, gearResp]);
+ }
- private updateTitle() {
- this.translateService.get("Default_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ private updateTitle() {
+ this.translateService.get("Default_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/jump-infos/jump-infos.component.html b/Front/skydivelogs-app/src/app/jump-infos/jump-infos.component.html
index ba26a16..31ddc55 100644
--- a/Front/skydivelogs-app/src/app/jump-infos/jump-infos.component.html
+++ b/Front/skydivelogs-app/src/app/jump-infos/jump-infos.component.html
@@ -1,34 +1,36 @@
diff --git a/Front/skydivelogs-app/src/app/jump-infos/jump-infos.component.ts b/Front/skydivelogs-app/src/app/jump-infos/jump-infos.component.ts
index c995166..bf96de9 100644
--- a/Front/skydivelogs-app/src/app/jump-infos/jump-infos.component.ts
+++ b/Front/skydivelogs-app/src/app/jump-infos/jump-infos.component.ts
@@ -1,5 +1,5 @@
import { Component, Inject, OnInit } from "@angular/core";
-import { CommonModule } from "@angular/common";
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
import { TranslateModule } from "@ngx-translate/core";
import { MatCheckboxModule } from "@angular/material/checkbox";
@@ -15,45 +15,44 @@ import { JumpService } from "../../services/jump.service";
import { ServiceComm } from "../../services/service-comm.service";
@Component({
- selector: "app-jump-infos",
- templateUrl: "./jump-infos.component.html",
- styleUrls: ["./jump-infos.component.css"],
- imports: [
- TranslateModule,
- CommonModule,
- FormsModule,
- MatCheckboxModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatInputModule,
- MatButtonModule,
- ],
+ selector: "app-jump-infos",
+ templateUrl: "./jump-infos.component.html",
+ styleUrls: ["./jump-infos.component.css"],
+ imports: [
+ TranslateModule,
+ FormsModule,
+ MatCheckboxModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatInputModule,
+ MatButtonModule,
+ ],
})
export class JumpInfosComponent implements OnInit {
- public editMode: boolean;
- public jump: JumpResp;
+ public editMode: boolean;
+ public jump: JumpResp;
- constructor(
- @Inject(MAT_DIALOG_DATA) public data: any,
- private serviceJump: JumpService,
- private serviceComm: ServiceComm
- ) {
- this.jump = new JumpResp(data.jump);
- this.editMode = data.editMode;
- }
+ constructor(
+ @Inject(MAT_DIALOG_DATA) public data: any,
+ private serviceJump: JumpService,
+ private serviceComm: ServiceComm,
+ ) {
+ this.jump = new JumpResp(data.jump);
+ this.editMode = data.editMode;
+ }
- ngOnInit(): void {}
+ ngOnInit(): void {}
- public updateJump() {
- this.serviceJump
- .updateJump(
- this.jump.id,
- this.jump.isSpecial,
- this.jump.withCutaway,
- this.jump.notes
- )
- .subscribe(() => {
- this.serviceComm.refreshData(AddAction.Jump);
- });
- }
+ public updateJump() {
+ this.serviceJump
+ .updateJump(
+ this.jump.id,
+ this.jump.isSpecial,
+ this.jump.withCutaway,
+ this.jump.notes,
+ )
+ .subscribe(() => {
+ this.serviceComm.refreshData(AddAction.Jump);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css
index ff391a1..04e46a6 100644
--- a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css
+++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css
@@ -1,22 +1,22 @@
table {
- width: 100%;
+ width: 100%;
}
.mat-row td {
- padding: 15px;
+ padding: 15px;
}
.spanWithBreakWord {
- display: inline-block;
- min-width: 200px;
- word-wrap: break-word;
+ display: inline-block;
+ min-width: 200px;
+ word-wrap: break-word;
}
.content {
- min-height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
- padding-top: 25px;
+ min-height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
+ padding-top: 25px;
}
diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html
index b990242..062473c 100644
--- a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html
+++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html
@@ -1,49 +1,54 @@
-
-
-
-
-
- |
- {{ "ListAircrafts_Header_Id" | translate }}
- |
- {{ element.id }} |
-
-
-
-
- {{ "ListAircrafts_Header_Name" | translate }}
- |
- {{ element.name }} |
-
-
-
-
- {{ "ListAircrafts_Header_Image" | translate }}
- |
-
-
- |
-
-
-
-
-
-
-
-
-
-
-
+ @if (dataSourceTable != null) {
+
+ @if (isUserAdmin == true) {
+
+ }
+
+
+ |
+ {{ "ListAircrafts_Header_Id" | translate }}
+ |
+ {{ element.id }} |
+
+
+
+ {{ "ListAircrafts_Header_Name" | translate }}
+ |
+
+ {{ element.name }}
+ |
+
+
+
+ {{ "ListAircrafts_Header_Image" | translate }}
+ |
+
+
+ |
+
+
+
+
+
+ } @else {
+
+ }
+
diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts
index a793ecd..696737b 100644
--- a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts
+++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts
@@ -3,7 +3,7 @@ import { MatPaginator, MatPaginatorModule } from "@angular/material/paginator";
import { MatTableDataSource, MatTableModule } from "@angular/material/table";
import { MatDialog } from "@angular/material/dialog";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
-import { CommonModule } from "@angular/common";
+
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
import { MatButtonModule } from "@angular/material/button";
@@ -15,71 +15,72 @@ import { AddAction } from "../../models/add-action.enum";
import { AircraftResp } from "../../models/aircraft";
@Component({
- selector: "app-list-of-aircrafts",
- templateUrl: "./list-of-aircrafts.component.html",
- styleUrls: ["./list-of-aircrafts.component.css"],
- imports: [
- TranslateModule,
- CommonModule,
- MatPaginatorModule,
- MatProgressSpinnerModule,
- MatTableModule,
- MatButtonModule,
- ],
+ selector: "app-list-of-aircrafts",
+ templateUrl: "./list-of-aircrafts.component.html",
+ styleUrls: ["./list-of-aircrafts.component.css"],
+ imports: [
+ TranslateModule,
+ MatPaginatorModule,
+ MatProgressSpinnerModule,
+ MatTableModule,
+ MatButtonModule,
+ ],
})
export class ListOfAircraftsComponent implements OnInit {
- public displayedColumns: Array = ["name", "imageData"];
- public dataSourceTable: MatTableDataSource;
- public resultsLength = 0;
- public isUserAdmin: boolean;
- @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
+ public displayedColumns: Array = ["name", "imageData"];
+ public dataSourceTable: MatTableDataSource;
+ public resultsLength = 0;
+ public isUserAdmin: boolean;
+ @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
- constructor(
- private serviceApi: AircraftService,
- private serviceComm: ServiceComm,
- private authenticationService: AuthenticationService,
- public dialog: MatDialog,
- private translateService: TranslateService
- ) {
- this.isUserAdmin =
- this.authenticationService.currentUserValue.roles === "admin";
- }
+ constructor(
+ private serviceApi: AircraftService,
+ private serviceComm: ServiceComm,
+ private authenticationService: AuthenticationService,
+ public dialog: MatDialog,
+ private translateService: TranslateService,
+ ) {
+ this.isUserAdmin =
+ this.authenticationService.currentUserValue.roles === "admin";
+ }
+
+ ngOnInit() {
+ this.serviceComm.refreshRequest.subscribe((action) => {
+ if (action === AddAction.Aircraft) {
+ this.dialog.closeAll();
+ this.getListOfAircrafts();
+ }
+ });
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
- ngOnInit() {
- this.serviceComm.refreshRequest.subscribe((action) => {
- if (action === AddAction.Aircraft) {
- this.dialog.closeAll();
- this.getListOfAircrafts();
- }
- });
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
this.updateTitle();
- }
- });
+ this.getListOfAircrafts();
+ }
- this.updateTitle();
- this.getListOfAircrafts();
- }
+ private getListOfAircrafts() {
+ this.serviceApi.getListOfAircrafts().subscribe((data) => {
+ setTimeout(() => {
+ data.sort((a, b) => a.name.localeCompare(b.name));
+ this.dataSourceTable = new MatTableDataSource(
+ data,
+ );
+ this.dataSourceTable.paginator = this.paginator;
+ this.resultsLength = data.length;
+ }, 500);
+ });
+ }
- private getListOfAircrafts() {
- this.serviceApi.getListOfAircrafts().subscribe((data) => {
- setTimeout(() => {
- data.sort((a, b) => a.name.localeCompare(b.name));
- this.dataSourceTable = new MatTableDataSource(data);
- this.dataSourceTable.paginator = this.paginator;
- this.resultsLength = data.length;
- }, 500);
- });
- }
+ openDialogToAdd() {
+ this.dialog.open(NewAircraftComponent);
+ }
- openDialogToAdd() {
- this.dialog.open(NewAircraftComponent);
- }
-
- private updateTitle() {
- this.translateService.get("ListAircrafts_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ private updateTitle() {
+ this.translateService.get("ListAircrafts_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.css b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.css
index 7513415..04e46a6 100644
--- a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.css
+++ b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.css
@@ -1,22 +1,22 @@
table {
- width: 100%;
+ width: 100%;
}
.mat-row td {
- padding: 15px;
+ padding: 15px;
}
.spanWithBreakWord {
- display: inline-block;
- min-width: 200px;
- word-wrap: break-word;
+ display: inline-block;
+ min-width: 200px;
+ word-wrap: break-word;
}
.content {
- min-height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
- padding-top: 25px;
-}
\ No newline at end of file
+ min-height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
+ padding-top: 25px;
+}
diff --git a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html
index 912a252..f7d1aea 100644
--- a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html
+++ b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html
@@ -1,118 +1,138 @@
-
-
-
-
- {{ "ListDz_Filter" | translate }}
-
-
-
-
-
- |
-
-
-
-
-
-
-
-
-
-
-
-
- |
-
-
-
-
- {{ "ListDz_Header_ID" | translate }}
- |
- {{ element.id }} |
-
-
-
-
- {{ "ListDz_Header_Name" | translate }}
- |
-
-
- |
-
-
-
-
- {{ "ListDz_Header_Address" | translate }}
- |
-
-
- |
-
-
-
-
- {{ "ListDz_Header_Type" | translate }}
- |
- {{ element.type }} |
-
-
-
-
-
-
-
-
-
-
-
+ @if (dataSourceTable != null) {
+
+ @if (isUserAdmin == true) {
+
+ }
+
+ {{ "ListDz_Filter" | translate }}
+
+
+
+
+ |
+
+ @if (element.isFavorite === true) {
+
+ }
+ @if (element.isFavorite === false) {
+
+ }
+
+
+
+
+
+
+ @if (element.email) {
+
+
+
+ }
+ |
+
+
+
+ {{ "ListDz_Header_ID" | translate }}
+ |
+ {{ element.id }} |
+
+
+
+ {{ "ListDz_Header_Name" | translate }}
+ |
+
+
+ |
+
+
+
+ {{ "ListDz_Header_Address" | translate }}
+ |
+
+
+ |
+
+
+
+ {{ "ListDz_Header_Type" | translate }}
+ |
+
+ {{ element.type }}
+ |
+
+
+
+
+
+ } @else {
+
+ }
+
diff --git a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts
index 117b8ce..d4840aa 100644
--- a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts
+++ b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts
@@ -3,7 +3,7 @@ import { MatPaginator, MatPaginatorModule } from "@angular/material/paginator";
import { MatTableDataSource, MatTableModule } from "@angular/material/table";
import { MatDialog } from "@angular/material/dialog";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
-import { CommonModule } from "@angular/common";
+
import { MatIconModule } from "@angular/material/icon";
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
import { MatFormFieldModule } from "@angular/material/form-field";
@@ -19,112 +19,113 @@ import { AuthenticationService } from "../../services/authentication.service";
import { NewDropZoneComponent } from "../new-drop-zone/new-drop-zone.component";
@Component({
- selector: "app-list-of-dzs",
- templateUrl: "./list-of-dzs.component.html",
- styleUrls: ["./list-of-dzs.component.css"],
- imports: [
- TranslateModule,
- CommonModule,
- MatIconModule,
- MatPaginatorModule,
- MatProgressSpinnerModule,
- MatTableModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatInputModule,
- MatButtonModule,
- ],
+ selector: "app-list-of-dzs",
+ templateUrl: "./list-of-dzs.component.html",
+ styleUrls: ["./list-of-dzs.component.css"],
+ imports: [
+ TranslateModule,
+ MatIconModule,
+ MatPaginatorModule,
+ MatProgressSpinnerModule,
+ MatTableModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatInputModule,
+ MatButtonModule,
+ ],
})
export class ListOfDzsComponent implements OnInit {
- public displayedColumns: Array = [
- "isfavorite",
- "name",
- "address",
- "type",
- ];
- public dataSourceTable: MatTableDataSource;
- public isUserAdmin: boolean;
- public resultsLength = 0;
- @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
+ public displayedColumns: Array = [
+ "isfavorite",
+ "name",
+ "address",
+ "type",
+ ];
+ public dataSourceTable: MatTableDataSource;
+ public isUserAdmin: boolean;
+ public resultsLength = 0;
+ @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
- constructor(
- private serviceApi: DropzoneService,
- private serviceComm: ServiceComm,
- private authenticationService: AuthenticationService,
- public dialog: MatDialog,
- private translateService: TranslateService
- ) {
- this.isUserAdmin =
- this.authenticationService.currentUserValue.roles === "admin";
- }
+ constructor(
+ private serviceApi: DropzoneService,
+ private serviceComm: ServiceComm,
+ private authenticationService: AuthenticationService,
+ public dialog: MatDialog,
+ private translateService: TranslateService,
+ ) {
+ this.isUserAdmin =
+ this.authenticationService.currentUserValue.roles === "admin";
+ }
+
+ ngOnInit() {
+ this.serviceComm.refreshRequest.subscribe((action) => {
+ if (action === AddAction.Dropzone) {
+ this.dialog.closeAll();
+ this.getListOfDropZones();
+ }
+ });
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
- ngOnInit() {
- this.serviceComm.refreshRequest.subscribe((action) => {
- if (action === AddAction.Dropzone) {
- this.dialog.closeAll();
- this.getListOfDropZones();
- }
- });
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
this.updateTitle();
- }
- });
+ this.getListOfDropZones();
+ }
- this.updateTitle();
- this.getListOfDropZones();
- }
+ private getListOfDropZones() {
+ this.serviceApi.getListOfDropZones().subscribe((data) => {
+ setTimeout(() => {
+ data.sort(
+ (a, b) =>
+ (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0) ||
+ a.name.localeCompare(b.name),
+ );
+ this.dataSourceTable = new MatTableDataSource(
+ data,
+ );
+ this.dataSourceTable.paginator = this.paginator;
+ this.resultsLength = data.length;
+ }, 500);
+ });
+ }
- private getListOfDropZones() {
- this.serviceApi.getListOfDropZones().subscribe((data) => {
- setTimeout(() => {
- data.sort(
- (a, b) =>
- (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0) ||
- a.name.localeCompare(b.name)
- );
+ public setToFavorite(dropzone: DropZoneResp) {
+ dropzone.isFavorite = true;
+ this.serviceApi.setFavoriteDropZone(dropzone);
+
+ const data = this.dataSourceTable.data;
+ data.sort((a, b) => (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0));
this.dataSourceTable = new MatTableDataSource(data);
this.dataSourceTable.paginator = this.paginator;
- this.resultsLength = data.length;
- }, 500);
- });
- }
+ }
- public setToFavorite(dropzone: DropZoneResp) {
- dropzone.isFavorite = true;
- this.serviceApi.setFavoriteDropZone(dropzone);
+ public removeToFavorite(dropzone: DropZoneResp) {
+ dropzone.isFavorite = false;
+ this.serviceApi.removeFavoriteDropZone(dropzone);
- const data = this.dataSourceTable.data;
- data.sort((a, b) => (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0));
- this.dataSourceTable = new MatTableDataSource(data);
- this.dataSourceTable.paginator = this.paginator;
- }
+ const data = this.dataSourceTable.data;
+ data.sort((a, b) => (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0));
+ this.dataSourceTable = new MatTableDataSource(data);
+ this.dataSourceTable.paginator = this.paginator;
+ }
- public removeToFavorite(dropzone: DropZoneResp) {
- dropzone.isFavorite = false;
- this.serviceApi.removeFavoriteDropZone(dropzone);
+ openDialogToAdd() {
+ this.dialog.open(NewDropZoneComponent, {
+ height: "400px",
+ width: "600px",
+ });
+ }
- const data = this.dataSourceTable.data;
- data.sort((a, b) => (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0));
- this.dataSourceTable = new MatTableDataSource(data);
- this.dataSourceTable.paginator = this.paginator;
- }
+ applyFilter(event: Event) {
+ const filterValue = (event.target as HTMLInputElement).value;
+ this.dataSourceTable.filter = filterValue.trim().toLowerCase();
+ }
- openDialogToAdd() {
- this.dialog.open(NewDropZoneComponent, {
- height: "400px",
- width: "600px",
- });
- }
-
- applyFilter(event: Event) {
- const filterValue = (event.target as HTMLInputElement).value;
- this.dataSourceTable.filter = filterValue.trim().toLowerCase();
- }
-
- private updateTitle() {
- this.translateService.get("ListDz_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ private updateTitle() {
+ this.translateService.get("ListDz_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.css b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.css
index 7d2df70..15b82c8 100644
--- a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.css
+++ b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.css
@@ -1,26 +1,26 @@
table {
- width: 100%;
+ width: 100%;
}
.mat-row td {
- padding: 15px;
+ padding: 15px;
}
.spanWithBreakWord {
- display: inline-block;
- min-width: 200px;
- word-wrap: break-word;
+ display: inline-block;
+ min-width: 200px;
+ word-wrap: break-word;
}
.content {
- min-height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
- padding-top: 25px;
+ min-height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
+ padding-top: 25px;
}
th.mat-header-cell {
- text-align: center;
+ text-align: center;
}
diff --git a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html
index 9f60c58..b8e76e2 100644
--- a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html
+++ b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html
@@ -1,68 +1,88 @@
-
-
-
-
-
- |
- {{ "ListGears_Header_Id" | translate }}
- |
- {{ element.id }} |
-
-
-
-
- {{ "ListGears_Header_Name" | translate }}
- |
- {{ element.name }} |
-
-
-
-
- {{ "ListGears_Header_Manufacturer" | translate }}
- |
- {{ element.manufacturer }} |
-
-
-
-
- {{ "ListGears_Header_CanopySize" | translate }}
- |
-
- {{ element.minSize }} - {{ element.maxSize }}
- |
-
-
-
-
- {{ "ListGears_Header_Aad" | translate }}
- |
- {{ element.aad }} |
-
-
-
-
- {{ "ListGears_Header_Main" | translate }}
- |
- {{ element.mainCanopy }} |
-
-
-
-
- {{ "ListGears_Header_Reserve" | translate }}
- |
- {{ element.reserveCanopy }} |
-
-
-
-
-
-
-
-
-
-
-
+ @if (dataSourceTable != null) {
+
+
+
+
+ |
+ {{ "ListGears_Header_Id" | translate }}
+ |
+ {{ element.id }} |
+
+
+
+ {{ "ListGears_Header_Name" | translate }}
+ |
+
+ {{ element.name }}
+ |
+
+
+
+ {{ "ListGears_Header_Manufacturer" | translate }}
+ |
+
+ {{ element.manufacturer }}
+ |
+
+
+
+ {{ "ListGears_Header_CanopySize" | translate }}
+ |
+
+ {{ element.minSize }} - {{ element.maxSize }}
+ |
+
+
+
+ {{ "ListGears_Header_Aad" | translate }}
+ |
+
+ {{ element.aad }}
+ |
+
+
+
+ {{ "ListGears_Header_Main" | translate }}
+ |
+
+ {{ element.mainCanopy }}
+ |
+
+
+
+ {{ "ListGears_Header_Reserve" | translate }}
+ |
+
+ {{ element.reserveCanopy }}
+ |
+
+
+
+
+
+ } @else {
+
+ }
+
diff --git a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.ts b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.ts
index 0dd0353..d8c3bc7 100644
--- a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.ts
+++ b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.ts
@@ -3,7 +3,7 @@ import { MatPaginator, MatPaginatorModule } from "@angular/material/paginator";
import { MatTableDataSource, MatTableModule } from "@angular/material/table";
import { MatDialog } from "@angular/material/dialog";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
-import { CommonModule } from "@angular/common";
+
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
import { MatButtonModule } from "@angular/material/button";
@@ -14,76 +14,75 @@ import { AddAction } from "../../models/add-action.enum";
import { NewGearComponent } from "../new-gear/new-gear.component";
@Component({
- selector: "app-list-of-gears",
- templateUrl: "./list-of-gears.component.html",
- styleUrls: ["./list-of-gears.component.css"],
- imports: [
- TranslateModule,
- CommonModule,
- MatPaginatorModule,
- MatProgressSpinnerModule,
- MatTableModule,
- MatButtonModule,
- ],
+ selector: "app-list-of-gears",
+ templateUrl: "./list-of-gears.component.html",
+ styleUrls: ["./list-of-gears.component.css"],
+ imports: [
+ TranslateModule,
+ MatPaginatorModule,
+ MatProgressSpinnerModule,
+ MatTableModule,
+ MatButtonModule,
+ ],
})
export class ListOfGearsComponent implements OnInit {
- public displayedColumns: Array = [
- "name",
- "manufacturer",
- "maxSize",
- "aad",
- "mainCanopy",
- "reserveCanopy",
- ];
- public dataSourceTable: MatTableDataSource;
- public resultsLength = 0;
- @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
+ public displayedColumns: Array = [
+ "name",
+ "manufacturer",
+ "maxSize",
+ "aad",
+ "mainCanopy",
+ "reserveCanopy",
+ ];
+ public dataSourceTable: MatTableDataSource;
+ public resultsLength = 0;
+ @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
- constructor(
- private serviceApi: GearService,
- private serviceComm: ServiceComm,
- public dialog: MatDialog,
- private translateService: TranslateService
- ) {}
+ constructor(
+ private serviceApi: GearService,
+ private serviceComm: ServiceComm,
+ public dialog: MatDialog,
+ private translateService: TranslateService,
+ ) {}
+
+ ngOnInit() {
+ this.serviceComm.refreshRequest.subscribe((action) => {
+ if (action === AddAction.Gear) {
+ this.dialog.closeAll();
+ this.getListOfGears();
+ }
+ });
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
- ngOnInit() {
- this.serviceComm.refreshRequest.subscribe((action) => {
- if (action === AddAction.Gear) {
- this.dialog.closeAll();
- this.getListOfGears();
- }
- });
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
this.updateTitle();
- }
- });
+ this.getListOfGears();
+ }
- this.updateTitle();
- this.getListOfGears();
- }
+ getListOfGears() {
+ this.serviceApi.getListOfGears().subscribe((data) => {
+ setTimeout(() => {
+ data.sort((a, b) => b.id - a.id);
+ this.dataSourceTable = new MatTableDataSource(data);
+ this.dataSourceTable.paginator = this.paginator;
+ this.resultsLength = data.length;
+ }, 500);
+ });
+ }
- getListOfGears() {
- this.serviceApi.getListOfGears().subscribe((data) => {
- setTimeout(() => {
- data.sort((a, b) => b.id - a.id);
- this.dataSourceTable = new MatTableDataSource(data);
- this.dataSourceTable.paginator = this.paginator;
- this.resultsLength = data.length;
- }, 500);
- });
- }
+ openDialogToAdd() {
+ this.dialog.open(NewGearComponent, {
+ height: "400px",
+ width: "600px",
+ });
+ }
- openDialogToAdd() {
- this.dialog.open(NewGearComponent, {
- height: "400px",
- width: "600px",
- });
- }
-
- private updateTitle() {
- this.translateService.get("ListGears_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ private updateTitle() {
+ this.translateService.get("ListGears_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.css b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.css
index 804593e..6406e37 100644
--- a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.css
+++ b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.css
@@ -1,45 +1,45 @@
.imgmodal {
- display: none;
- position: fixed;
- z-index: 1000;
- padding-top: 10px;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- overflow: auto;
- background-color: #000000;
+ display: none;
+ position: fixed;
+ z-index: 1000;
+ padding-top: 10px;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+ background-color: #000000;
}
.imgbox {
- display: grid;
- height: 100%;
+ display: grid;
+ height: 100%;
}
.center-fit {
- max-width: 100%;
- max-height: 100vh;
- margin: auto;
+ max-width: 100%;
+ max-height: 100vh;
+ margin: auto;
}
.close {
- color: white;
- position: absolute;
- top: 10px;
- right: 25px;
- font-size: 35px;
- font-weight: bold;
+ color: white;
+ position: absolute;
+ top: 10px;
+ right: 25px;
+ font-size: 35px;
+ font-weight: bold;
}
.rotate {
- color: white;
- position: absolute;
- top: 10px;
- right: 65px;
- font-size: 35px;
- font-weight: bold;
+ color: white;
+ position: absolute;
+ top: 10px;
+ right: 65px;
+ font-size: 35px;
+ font-weight: bold;
}
.cursor {
- cursor: pointer;
-}
\ No newline at end of file
+ cursor: pointer;
+}
diff --git a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.html b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.html
index 2d5e7db..ee9967f 100644
--- a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.html
+++ b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.html
@@ -1,87 +1,103 @@
- 0">
-
-
- |
- Comments
- |
-
- {{ element.comment }}
- |
-
-
-
-
- Image
- |
-
-
- |
-
-
-
-
-
-
-
-
+@if (resultsLength > 0) {
+
+
+
+ |
+ Comments
+ |
+
+ {{
+ element.comment
+ }}
+ |
+
+
+
+ Image
+ |
+
+
+ |
+
+
+
+
+
+
+}
-
×
-
-
-

-
+
×
+
+
+

+
diff --git a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.ts b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.ts
index bc99f85..0ec8406 100644
--- a/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.ts
+++ b/Front/skydivelogs-app/src/app/list-of-images/list-of-images.component.ts
@@ -1,9 +1,9 @@
import { Component, OnInit, ViewChild } from "@angular/core";
import {
- FormGroup,
- FormControl,
- Validators,
- ReactiveFormsModule,
+ FormGroup,
+ FormControl,
+ Validators,
+ ReactiveFormsModule,
} from "@angular/forms";
import { MatTableDataSource, MatTableModule } from "@angular/material/table";
import { MatPaginator, MatPaginatorModule } from "@angular/material/paginator";
@@ -21,139 +21,144 @@ import { ImageResp } from "../../models/image";
import { AddAction } from "../../models/add-action.enum";
@Component({
- selector: "app-list-of-images",
- templateUrl: "./list-of-images.component.html",
- styleUrls: ["./list-of-images.component.css"],
- animations: [
- trigger("rotatedState", [
- state("default", style({ transform: "rotate(0)" })),
- state("rot90", style({ transform: "rotate(-90deg)" })),
- state("rot180", style({ transform: "rotate(-180deg)" })),
- state("rot270", style({ transform: "rotate(-270deg)" })),
- ]),
- ],
- imports: [
- TranslateModule,
- CommonModule,
- MatIconModule,
- MatPaginatorModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatTableModule,
- MatButtonModule,
- MatInputModule,
- ],
+ selector: "app-list-of-images",
+ templateUrl: "./list-of-images.component.html",
+ styleUrls: ["./list-of-images.component.css"],
+ animations: [
+ trigger("rotatedState", [
+ state("default", style({ transform: "rotate(0)" })),
+ state("rot90", style({ transform: "rotate(-90deg)" })),
+ state("rot180", style({ transform: "rotate(-180deg)" })),
+ state("rot270", style({ transform: "rotate(-270deg)" })),
+ ]),
+ ],
+ imports: [
+ TranslateModule,
+ CommonModule,
+ MatIconModule,
+ MatPaginatorModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatTableModule,
+ MatButtonModule,
+ MatInputModule,
+ ],
})
export class ListOfImagesComponent implements OnInit {
- public displayedColumns: Array = ["comment", "data"];
- public imgForm: FormGroup;
- public imageError: string;
- private selectedFile: string;
- public popinImage: string;
- public showPopin: boolean;
- public dataSourceTable: MatTableDataSource;
- public resultsLength = 0;
- public stateRotation: string = "default";
- @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
+ public displayedColumns: Array = ["comment", "data"];
+ public imgForm: FormGroup;
+ public imageError: string;
+ private selectedFile: string;
+ public popinImage: string;
+ public showPopin: boolean;
+ public dataSourceTable: MatTableDataSource;
+ public resultsLength = 0;
+ public stateRotation: string = "default";
+ @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
- constructor(
- private serviceApi: ImageService,
- private serviceComm: ServiceComm,
- ) {}
+ constructor(
+ private serviceApi: ImageService,
+ private serviceComm: ServiceComm,
+ ) {}
- ngOnInit(): void {
- this.serviceComm.refreshRequest.subscribe((action) => {
- if (action === AddAction.Gear) {
+ ngOnInit(): void {
+ this.serviceComm.refreshRequest.subscribe((action) => {
+ if (action === AddAction.Gear) {
+ this.getListOfImages();
+ }
+ });
this.getListOfImages();
- }
- });
- this.getListOfImages();
- this.imgForm = new FormGroup({
- comment: new FormControl("", Validators.required),
- image: new FormControl("", Validators.required),
- });
- }
-
- private getListOfImages() {
- this.serviceApi.getListOfImages().subscribe((data) => {
- setTimeout(() => {
- this.dataSourceTable = new MatTableDataSource(data);
- this.dataSourceTable.paginator = this.paginator;
- this.resultsLength = data.length;
- }, 500);
- });
- }
-
- public onFileChanged(fileInput: any) {
- const file = fileInput.dataTransfer
- ? fileInput.dataTransfer.files[0]
- : fileInput.target.files[0];
- const allowed_types = ["image/png", "image/jpeg"];
- const max_size = 20971520;
-
- if (!allowed_types.includes(file.type)) {
- this.imageError = "Only Images are allowed ( JPG | PNG )";
- } else if (file.size > max_size) {
- this.imageError = "Maximum size allowed is " + max_size / 1000 + "Mb";
- } else {
- const reader = new FileReader();
- reader.onload = this.checkAndExtractDataToBase64.bind(this);
- reader.readAsDataURL(fileInput.target.files[0]);
- }
- }
-
- private checkAndExtractDataToBase64(e: any) {
- const max_height = 15200;
- const max_width = 25600;
-
- const image = new Image();
- image.src = e.target.result;
- image.onload = (rs) => {
- const img_height = rs.currentTarget["height"];
- const img_width = rs.currentTarget["width"];
-
- if (img_height > max_height && img_width > max_width) {
- this.imageError =
- "Maximum dimentions allowed " + max_height + "*" + max_width + "px";
- } else {
- const imgBase64Path = e.target.result;
- this.selectedFile = imgBase64Path;
- this.imageError = "OK";
- }
- };
- }
-
- onSubmit(formData) {
- if (formData.invalid) {
- return;
+ this.imgForm = new FormGroup({
+ comment: new FormControl("", Validators.required),
+ image: new FormControl("", Validators.required),
+ });
}
- this.serviceApi
- .addImage(formData.comment, this.selectedFile)
- .subscribe(() => {
- this.getListOfImages();
- });
- }
-
- openModal(image: ImageResp) {
- this.popinImage = image.data;
- this.showPopin = true;
- }
-
- closeModal() {
- this.showPopin = false;
- }
-
- rotate() {
- if (this.stateRotation === "default") {
- this.stateRotation = "rot90";
- } else if (this.stateRotation === "rot90") {
- this.stateRotation = "rot180";
- } else if (this.stateRotation === "rot180") {
- this.stateRotation = "rot270";
- } else {
- this.stateRotation = "default";
+ private getListOfImages() {
+ this.serviceApi.getListOfImages().subscribe((data) => {
+ setTimeout(() => {
+ this.dataSourceTable = new MatTableDataSource(data);
+ this.dataSourceTable.paginator = this.paginator;
+ this.resultsLength = data.length;
+ }, 500);
+ });
+ }
+
+ public onFileChanged(fileInput: any) {
+ const file = fileInput.dataTransfer
+ ? fileInput.dataTransfer.files[0]
+ : fileInput.target.files[0];
+ const allowed_types = ["image/png", "image/jpeg"];
+ const max_size = 20971520;
+
+ if (!allowed_types.includes(file.type)) {
+ this.imageError = "Only Images are allowed ( JPG | PNG )";
+ } else if (file.size > max_size) {
+ this.imageError =
+ "Maximum size allowed is " + max_size / 1000 + "Mb";
+ } else {
+ const reader = new FileReader();
+ reader.onload = this.checkAndExtractDataToBase64.bind(this);
+ reader.readAsDataURL(fileInput.target.files[0]);
+ }
+ }
+
+ private checkAndExtractDataToBase64(e: any) {
+ const max_height = 15200;
+ const max_width = 25600;
+
+ const image = new Image();
+ image.src = e.target.result;
+ image.onload = (rs) => {
+ const img_height = rs.currentTarget["height"];
+ const img_width = rs.currentTarget["width"];
+
+ if (img_height > max_height && img_width > max_width) {
+ this.imageError =
+ "Maximum dimentions allowed " +
+ max_height +
+ "*" +
+ max_width +
+ "px";
+ } else {
+ const imgBase64Path = e.target.result;
+ this.selectedFile = imgBase64Path;
+ this.imageError = "OK";
+ }
+ };
+ }
+
+ onSubmit(formData) {
+ if (formData.invalid) {
+ return;
+ }
+
+ this.serviceApi
+ .addImage(formData.comment, this.selectedFile)
+ .subscribe(() => {
+ this.getListOfImages();
+ });
+ }
+
+ openModal(image: ImageResp) {
+ this.popinImage = image.data;
+ this.showPopin = true;
+ }
+
+ closeModal() {
+ this.showPopin = false;
+ }
+
+ rotate() {
+ if (this.stateRotation === "default") {
+ this.stateRotation = "rot90";
+ } else if (this.stateRotation === "rot90") {
+ this.stateRotation = "rot180";
+ } else if (this.stateRotation === "rot180") {
+ this.stateRotation = "rot270";
+ } else {
+ this.stateRotation = "default";
+ }
}
- }
}
diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css
index ff391a1..04e46a6 100644
--- a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css
+++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css
@@ -1,22 +1,22 @@
table {
- width: 100%;
+ width: 100%;
}
.mat-row td {
- padding: 15px;
+ padding: 15px;
}
.spanWithBreakWord {
- display: inline-block;
- min-width: 200px;
- word-wrap: break-word;
+ display: inline-block;
+ min-width: 200px;
+ word-wrap: break-word;
}
.content {
- min-height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
- padding-top: 25px;
+ min-height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
+ padding-top: 25px;
}
diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html
index 4c35577..addb09c 100644
--- a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html
+++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html
@@ -1,36 +1,42 @@
-
-
-
-
-
- |
- {{ "ListJumpType_Header_Id" | translate }}
- |
- {{ element.id }} |
-
-
-
-
- {{ "ListJumpType_Header_Name" | translate }}
- |
- {{ element.name }} |
-
-
-
-
-
-
-
-
-
-
-
+ @if (dataSourceTable != null) {
+
+ @if (isUserAdmin == true) {
+
+ }
+
+
+ |
+ {{ "ListJumpType_Header_Id" | translate }}
+ |
+ {{ element.id }} |
+
+
+
+ {{ "ListJumpType_Header_Name" | translate }}
+ |
+
+ {{ element.name }}
+ |
+
+
+
+
+
+ } @else {
+
+ }
+
diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts
index 2b8b565..37a5410 100644
--- a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts
+++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts
@@ -3,7 +3,7 @@ import { MatPaginator, MatPaginatorModule } from "@angular/material/paginator";
import { MatTableDataSource, MatTableModule } from "@angular/material/table";
import { MatDialog } from "@angular/material/dialog";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
-import { CommonModule } from "@angular/common";
+
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
import { MatButtonModule } from "@angular/material/button";
@@ -15,71 +15,72 @@ import { AuthenticationService } from "../../services/authentication.service";
import { NewJumpTypeComponent } from "../new-jump-type/new-jump-type.component";
@Component({
- selector: "app-list-of-jump-types",
- templateUrl: "./list-of-jump-types.component.html",
- styleUrls: ["./list-of-jump-types.component.css"],
- imports: [
- TranslateModule,
- CommonModule,
- MatPaginatorModule,
- MatProgressSpinnerModule,
- MatTableModule,
- MatButtonModule,
- ],
+ selector: "app-list-of-jump-types",
+ templateUrl: "./list-of-jump-types.component.html",
+ styleUrls: ["./list-of-jump-types.component.css"],
+ imports: [
+ TranslateModule,
+ MatPaginatorModule,
+ MatProgressSpinnerModule,
+ MatTableModule,
+ MatButtonModule,
+ ],
})
export class ListOfJumpTypesComponent implements OnInit {
- public displayedColumns: Array = ["name"];
- public dataSourceTable: MatTableDataSource;
- public isUserAdmin: boolean;
- public resultsLength = 0;
- @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
+ public displayedColumns: Array = ["name"];
+ public dataSourceTable: MatTableDataSource;
+ public isUserAdmin: boolean;
+ public resultsLength = 0;
+ @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
- constructor(
- private serviceApi: JumpTypeService,
- private serviceComm: ServiceComm,
- private authenticationService: AuthenticationService,
- public dialog: MatDialog,
- private translateService: TranslateService
- ) {
- this.isUserAdmin =
- this.authenticationService.currentUserValue.roles === "admin";
- }
+ constructor(
+ private serviceApi: JumpTypeService,
+ private serviceComm: ServiceComm,
+ private authenticationService: AuthenticationService,
+ public dialog: MatDialog,
+ private translateService: TranslateService,
+ ) {
+ this.isUserAdmin =
+ this.authenticationService.currentUserValue.roles === "admin";
+ }
+
+ ngOnInit() {
+ this.serviceComm.refreshRequest.subscribe((action) => {
+ if (action === AddAction.JumpType) {
+ this.dialog.closeAll();
+ this.getListOfJumpTypes();
+ }
+ });
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
- ngOnInit() {
- this.serviceComm.refreshRequest.subscribe((action) => {
- if (action === AddAction.JumpType) {
- this.dialog.closeAll();
- this.getListOfJumpTypes();
- }
- });
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
this.updateTitle();
- }
- });
+ this.getListOfJumpTypes();
+ }
- this.updateTitle();
- this.getListOfJumpTypes();
- }
+ getListOfJumpTypes() {
+ this.serviceApi.getListOfJumpTypes().subscribe((data) => {
+ setTimeout(() => {
+ data.sort((a, b) => a.name.localeCompare(b.name));
+ this.dataSourceTable = new MatTableDataSource(
+ data,
+ );
+ this.dataSourceTable.paginator = this.paginator;
+ this.resultsLength = data.length;
+ }, 500);
+ });
+ }
- getListOfJumpTypes() {
- this.serviceApi.getListOfJumpTypes().subscribe((data) => {
- setTimeout(() => {
- data.sort((a, b) => a.name.localeCompare(b.name));
- this.dataSourceTable = new MatTableDataSource(data);
- this.dataSourceTable.paginator = this.paginator;
- this.resultsLength = data.length;
- }, 500);
- });
- }
+ openDialogToAdd() {
+ this.dialog.open(NewJumpTypeComponent);
+ }
- openDialogToAdd() {
- this.dialog.open(NewJumpTypeComponent);
- }
-
- private updateTitle() {
- this.translateService.get("ListJumpTypes_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ private updateTitle() {
+ this.translateService.get("ListJumpTypes_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.css b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.css
index 28559ab..372df31 100644
--- a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.css
+++ b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.css
@@ -1,32 +1,32 @@
table {
- width: 100%;
+ width: 100%;
}
.mat-row td {
- padding: 15px;
+ padding: 15px;
}
.spanWithBreakWord {
- display: inline-block;
- min-width: 200px;
- word-wrap: break-word;
+ display: inline-block;
+ min-width: 200px;
+ word-wrap: break-word;
}
.smallSpanWithBreakWord {
- display: inline-block;
- min-width: 50px;
- word-wrap: break-word;
+ display: inline-block;
+ min-width: 50px;
+ word-wrap: break-word;
}
.content {
- min-height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
- padding-top: 25px;
+ min-height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
+ padding-top: 25px;
}
th.mat-header-cell {
- text-align: center;
-}
\ No newline at end of file
+ text-align: center;
+}
diff --git a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html
index e1a81e4..43a8f4b 100644
--- a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html
+++ b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html
@@ -1,165 +1,176 @@
-
-
-
-
-
-
-
-
-
- |
-
+ |
-
+ {{ "ListJump_Add" | translate }}
+
+
-
-
- {{ "ListJump_Header_Num" | translate }}
- |
-
- {{
- paginator.length - (paginator.pageIndex * paginator.pageSize + i)
- }}
- |
-
+ @if (isLoading) {
+
+ }
-
-
- {{ "ListJump_Header_Date" | translate }}
- |
-
-
- |
-
+
+
+
+ |
+
+
+
+
+ |
+
-
-
- {{ "ListJump_Header_JumpType" | translate }}
- |
-
-
- |
-
+
+
+ {{ "ListJump_Header_Num" | translate }}
+ |
+
+ {{
+ paginator.length -
+ (paginator.pageIndex * paginator.pageSize + i)
+ }}
+ |
+
-
-
- {{ "ListJump_Header_Aircraft" | translate }}
- |
-
-
- |
-
+
+
+ {{ "ListJump_Header_Date" | translate }}
+ |
+
+
+ |
+
-
-
- {{ "ListJump_Header_Dz" | translate }}
- |
-
-
- |
-
+
+
+ {{ "ListJump_Header_JumpType" | translate }}
+ |
+
+
+ |
+
-
-
- {{ "ListJump_Header_Id" | translate }}
- |
- {{ element.gear.name }} |
-
+
+
+ {{ "ListJump_Header_Aircraft" | translate }}
+ |
+
+
+ |
+
-
- |
-
-
-
- |
-
+
+
+ {{ "ListJump_Header_Dz" | translate }}
+ |
+
+
+ |
+
-
-
-
-
+
+
+ {{ "ListJump_Header_Id" | translate }}
+ |
+
+ {{ element.gear.name }}
+ |
+
-
+
+ |
+
+
+
+ |
+
+
+
+
+
+
+
+
diff --git a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.ts b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.ts
index 15aafc9..aaeced8 100644
--- a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.ts
+++ b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.ts
@@ -1,9 +1,9 @@
import { Component, OnInit, ViewChild } from "@angular/core";
import { RouterLink, RouterModule } from "@angular/router";
import {
- MatPaginator,
- MatPaginatorModule,
- PageEvent,
+ MatPaginator,
+ MatPaginatorModule,
+ PageEvent,
} from "@angular/material/paginator";
import { MatTableDataSource, MatTableModule } from "@angular/material/table";
import { MatDialog } from "@angular/material/dialog";
@@ -25,108 +25,108 @@ import { JumpInfosComponent } from "../jump-infos/jump-infos.component";
import { StatsService } from "../../services/stats.service";
@Component({
- selector: "app-list-of-jumps",
- templateUrl: "./list-of-jumps.component.html",
- styleUrls: ["./list-of-jumps.component.css"],
- imports: [
- TranslateModule,
- CommonModule,
- RouterLink,
- RouterModule,
- MatIconModule,
- MatPaginatorModule,
- MatProgressSpinnerModule,
- MatProgressBarModule,
- MatTableModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatInputModule,
- MatButtonModule,
- ],
+ selector: "app-list-of-jumps",
+ templateUrl: "./list-of-jumps.component.html",
+ styleUrls: ["./list-of-jumps.component.css"],
+ imports: [
+ TranslateModule,
+ CommonModule,
+ RouterLink,
+ RouterModule,
+ MatIconModule,
+ MatPaginatorModule,
+ MatProgressSpinnerModule,
+ MatProgressBarModule,
+ MatTableModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatInputModule,
+ MatButtonModule,
+ ],
})
export class ListOfJumpsComponent implements OnInit {
- public displayedColumns: Array = [
- "infos",
- "id",
- "jumpDate",
- "jumpType",
- "aircraft",
- "dropZone",
- "actions",
- ];
- public dataSourceTable: MatTableDataSource = new MatTableDataSource();
- @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
- public isLoading: boolean = false;
+ public displayedColumns: Array = [
+ "infos",
+ "id",
+ "jumpDate",
+ "jumpType",
+ "aircraft",
+ "dropZone",
+ "actions",
+ ];
+ public dataSourceTable: MatTableDataSource = new MatTableDataSource();
+ @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
+ public isLoading: boolean = false;
- constructor(
- private serviceApi: JumpService,
- private serviceComm: ServiceComm,
- public dialog: MatDialog,
- private translateService: TranslateService,
- private statsService: StatsService
- ) {}
+ constructor(
+ private serviceApi: JumpService,
+ private serviceComm: ServiceComm,
+ public dialog: MatDialog,
+ private translateService: TranslateService,
+ private statsService: StatsService,
+ ) {}
- ngAferViewInit(): void {
- this.dataSourceTable.paginator = this.paginator;
- }
+ ngAferViewInit(): void {
+ this.dataSourceTable.paginator = this.paginator;
+ }
+
+ ngOnInit() {
+ this.serviceComm.refreshRequest.subscribe((action) => {
+ if (action === AddAction.Jump) {
+ this.dialog.closeAll();
+ this.getListOfJumps();
+ }
+ });
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
- ngOnInit() {
- this.serviceComm.refreshRequest.subscribe((action) => {
- if (action === AddAction.Jump) {
- this.dialog.closeAll();
- this.getListOfJumps();
- }
- });
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
this.updateTitle();
- }
- });
+ this.getListOfJumps();
+ }
- this.updateTitle();
- this.getListOfJumps();
- }
+ getListOfJumps(pageSize: number = 20, pageIndex: number = 0) {
+ this.isLoading = true;
- getListOfJumps(pageSize: number = 20, pageIndex: number = 0) {
- this.isLoading = true;
+ this.serviceApi
+ .getJumps(pageIndex * pageSize, pageIndex * pageSize + pageSize)
+ .subscribe((data) => {
+ this.dataSourceTable.data = data.rows;
+ setTimeout(() => {
+ this.paginator.length = data.count;
+ this.paginator.pageIndex = pageIndex;
+ this.isLoading = false;
+ }, 500);
+ });
+ }
- this.serviceApi
- .getJumps(pageIndex * pageSize, pageIndex * pageSize + pageSize)
- .subscribe((data) => {
- this.dataSourceTable.data = data.rows;
- setTimeout(() => {
- this.paginator.length = data.count;
- this.paginator.pageIndex = pageIndex;
- this.isLoading = false;
- }, 500);
- });
- }
+ openDialog(item: Jump, editMode: boolean) {
+ this.dialog.open(JumpInfosComponent, {
+ data: { jump: item, editMode: editMode },
+ maxHeight: "400px",
+ minWidth: "350px",
+ });
+ }
- openDialog(item: Jump, editMode: boolean) {
- this.dialog.open(JumpInfosComponent, {
- data: { jump: item, editMode: editMode },
- maxHeight: "400px",
- minWidth: "350px",
- });
- }
+ delete(item: Jump) {
+ let data: Array = this.dataSourceTable.data;
+ data = data.filter((d) => d.id !== item.id);
- delete(item: Jump) {
- let data: Array = this.dataSourceTable.data;
- data = data.filter((d) => d.id !== item.id);
+ this.dataSourceTable.data = data;
- this.dataSourceTable.data = data;
+ this.serviceApi.deleteJump(item);
+ this.statsService.resetStats();
+ }
- this.serviceApi.deleteJump(item);
- this.statsService.resetStats();
- }
+ pageChanged(event: PageEvent) {
+ this.getListOfJumps(event.pageSize, event.pageIndex);
+ }
- pageChanged(event: PageEvent) {
- this.getListOfJumps(event.pageSize, event.pageIndex);
- }
-
- private updateTitle() {
- this.translateService.get("ListJumps_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ private updateTitle() {
+ this.translateService.get("ListJumps_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.css b/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.css
index d52e6a2..a58b82b 100644
--- a/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.css
+++ b/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.css
@@ -1,24 +1,24 @@
.formListTunnelFlight {
- display: flex;
- flex-direction: column;
+ display: flex;
+ flex-direction: column;
- min-width: 150px;
- max-width: 500px;
- width: 100%;
+ min-width: 150px;
+ max-width: 500px;
+ width: 100%;
}
.content {
- min-height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
- padding-top: 25px;
+ min-height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
+ padding-top: 25px;
}
.chart-container {
- position: relative;
- margin: auto;
- height: 80vh;
- width: 80vw;
+ position: relative;
+ margin: auto;
+ height: 80vh;
+ width: 80vw;
}
diff --git a/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.html b/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.html
index 8e8b25d..0778389 100644
--- a/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.html
+++ b/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.html
@@ -1,136 +1,147 @@
-
-
+
+ @if (isLoading) {
+
+ }
+
+
- {{ "ListTunnelFlight_Add" | translate }}
-
-
+ {{
+ "ListTunnelFlight_CurrentYear" | translate
+ }}
+ {{
+ "ListTunnelFlight_12Months" | translate
+ }}
+ {{
+ "ListTunnelFlight_AllFlights" | translate
+ }}
+
-
+
+ @for (stat of stats; track stat) {
+
+
+
+ }
+
-
- {{
- "ListTunnelFlight_CurrentYear" | translate
- }}
- {{
- "ListTunnelFlight_12Months" | translate
- }}
- {{
- "ListTunnelFlight_AllFlights" | translate
- }}
-
+
+
+
+
-
-
-
-
-
+
+
+ {{ "ListTunnelFlight_LoadTable" | translate }}
+
-
-
-
-
-
-
-
- {{ "ListTunnelFlight_LoadTable" | translate }}
-
-
-
-
- | ID |
-
-
- |
-
-
-
- Tunnel |
-
-
- |
-
-
-
- Jump Type |
-
-
- |
-
-
-
- Minutes |
-
-
- |
-
-
-
- Notes |
-
-
- |
-
-
-
- Date |
-
-
- |
-
-
-
- |
-
-
- |
-
-
-
-
-
-
+ @if (dataSourceTable?.data.length) {
+
+
+ | ID |
+
+
+ |
+
+
+ Tunnel |
+
+
+ |
+
+
+ Jump Type |
+
+
+ |
+
+
+ Minutes |
+
+
+ |
+
+
+ Notes |
+
+
+ |
+
+
+ Date |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+ }
+
diff --git a/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.ts b/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.ts
index a2e820e..67268cc 100644
--- a/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.ts
+++ b/Front/skydivelogs-app/src/app/list-of-tunnel-flights/list-of-tunnel-flights.component.ts
@@ -22,257 +22,274 @@ import { DateService } from "../../services/date.service";
import { TunnelFlight, TunnelFlightByMonth } from "../../models/tunnel-flight";
@Component({
- selector: "app-list-of-tunnel-flights",
- templateUrl: "./list-of-tunnel-flights.component.html",
- styleUrls: ["./list-of-tunnel-flights.component.css"],
- imports: [
- TranslateModule,
- BaseChartDirective,
- CommonModule,
- MatIconModule,
- MatListModule,
- MatProgressSpinnerModule,
- RouterLink,
- MatRadioModule,
- MatProgressBarModule,
- FormsModule,
- RouterModule,
- MatTableModule,
- MatButtonModule,
- ],
+ selector: "app-list-of-tunnel-flights",
+ templateUrl: "./list-of-tunnel-flights.component.html",
+ styleUrls: ["./list-of-tunnel-flights.component.css"],
+ imports: [
+ TranslateModule,
+ BaseChartDirective,
+ CommonModule,
+ MatIconModule,
+ MatListModule,
+ MatProgressSpinnerModule,
+ RouterLink,
+ MatRadioModule,
+ MatProgressBarModule,
+ FormsModule,
+ RouterModule,
+ MatTableModule,
+ MatButtonModule,
+ ],
})
export class ListOfTunnelFlightsComponent implements OnInit {
- public barChartLegend = true;
- public barChartData: ChartData<"bar">;
- public barChartOptions: ChartConfiguration["options"];
- public barChartType: ChartType;
- public isLoading: boolean = false;
- public selectedPeriod: string;
- public dataSourceTable: MatTableDataSource =
- new MatTableDataSource();
- public displayedColumns: Array = [
- "id",
- "tunnel",
- "jumpType",
- "nbMinutes",
- "notes",
- "flightDate",
- "actions",
- ];
- public stats: Array<{ id: String | Number; values: String | Number }> = [];
+ public barChartLegend = true;
+ public barChartData: ChartData<"bar">;
+ public barChartOptions: ChartConfiguration["options"];
+ public barChartType: ChartType;
+ public isLoading: boolean = false;
+ public selectedPeriod: string;
+ public dataSourceTable: MatTableDataSource =
+ new MatTableDataSource();
+ public displayedColumns: Array = [
+ "id",
+ "tunnel",
+ "jumpType",
+ "nbMinutes",
+ "notes",
+ "flightDate",
+ "actions",
+ ];
+ public stats: Array<{ id: String | Number; values: String | Number }> = [];
- constructor(
- private serviceComm: ServiceComm,
- private serviceTunnelFlight: TunnelFlightService,
- private translateService: TranslateService,
- private dateService: DateService
- ) {}
+ constructor(
+ private serviceComm: ServiceComm,
+ private serviceTunnelFlight: TunnelFlightService,
+ private translateService: TranslateService,
+ private dateService: DateService,
+ ) {}
- ngOnInit() {
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
- this.updateTitle();
- }
- });
- this.updateTitle();
-
- this.chartConfig();
- this.selectedPeriod = "currentYear";
- this.getDataForGraph();
- }
-
- public onPeriodChange() {
- this.getDataForGraph();
- if (this.dataSourceTable?.data.length > 0) {
- this.getDataForTable();
- }
- }
-
- public onLoadTable() {
- this.getDataForTable();
- }
-
- private chartConfig() {
- this.barChartType = "bar";
- this.barChartOptions = {
- responsive: true,
- maintainAspectRatio: true,
- plugins: {
- legend: {
- display: true,
- },
- tooltip: {
- callbacks: {
- footer: this.footer,
- },
- },
- },
- interaction: {
- intersect: false,
- mode: "nearest",
- axis: "x",
- },
- scales: {
- x: {
- stacked: true,
- },
- y: {
- stacked: true,
- },
- },
- };
- }
-
- private updateTitle() {
- this.translateService.get("ListTunnelFlight_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
-
- private getDataForTable(): void {
- this.isLoading = true;
-
- // Get data to show in a table
- let endDate = new Date();
- endDate.setHours(0, 0, 0, 0);
- let beginDate = this.computeBeginDateByPeriod(this.selectedPeriod, endDate);
-
- this.serviceTunnelFlight
- .getTunnelFlights(beginDate, endDate)
- .subscribe((data) => {
- this.dataSourceTable.data = data;
- this.isLoading = false;
- });
- }
-
- private getDataForGraph(): void {
- this.isLoading = true;
-
- // Get data to show in a table
- let endDate = new Date();
- endDate.setHours(0, 0, 0, 0);
- let beginDate = this.computeBeginDateByPeriod(this.selectedPeriod, endDate);
-
- this.serviceTunnelFlight
- .getTunnelFlightsByMonth(beginDate, endDate)
- .subscribe((data) => {
- const allMonths = this.getMontsBetweenDates(beginDate, endDate);
- const cumulatedTime = this.getCumulatedTimeByTypeByMonth(
- data,
- allMonths
- );
- this.computeTimeByType(data);
- this.barChartData = {
- labels: allMonths,
- datasets: cumulatedTime,
- };
-
- this.isLoading = false;
- });
- }
-
- private computeTimeByType(stats: TunnelFlightByMonth[]) {
- this.stats = [];
- from(stats)
- .pipe(
- groupBy((type) => type.type, { element: (p) => p.nb }),
- mergeMap((group$) =>
- group$.pipe(reduce((acc, cur) => [...acc, cur], [`${group$.key}`]))
- ),
- map((arr) => ({
- id: arr[0],
- values: arr.slice(1).reduce((a, b) => Number(a) + Number(b), 0),
- }))
- )
- .subscribe((p) => {
- console.log(p);
- this.stats.push(p);
- });
- }
-
- private getMontsBetweenDates(beginDate: Date, endDate: Date): Array {
- let results: Array = [];
- let tmpBeginDate = new Date(beginDate.getTime());
- const tmpEndDate = new Date(endDate.getTime());
-
- while (tmpBeginDate < tmpEndDate) {
- results.push(formatDate(tmpBeginDate, "yy-MM", "en"));
- tmpBeginDate.setMonth(tmpBeginDate.getMonth() + 1);
- }
-
- return results;
- }
-
- private getCumulatedTimeByTypeByMonth(
- stats: TunnelFlightByMonth[],
- allMonths: string[]
- ): Array {
- let tmpResults = new Map();
-
- const disctintType = Array.from(new Set(stats.map((item) => item.type)));
- disctintType.forEach((type) => {
- tmpResults.set(
- type,
- Array.from({ length: allMonths.length }, (v, k) => 0)
- );
- });
-
- for (let i = 0; i < allMonths.length; i++) {
- const month = allMonths[i];
- let filteredStats = stats.filter((d) => d.month == month);
-
- if (filteredStats.length > 0) {
- filteredStats.forEach((fs) => {
- tmpResults.get(fs.type)[i] += fs.nb;
+ ngOnInit() {
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
});
- }
+ this.updateTitle();
+
+ this.chartConfig();
+ this.selectedPeriod = "currentYear";
+ this.getDataForGraph();
}
- const results = Array.from(tmpResults, function (item) {
- return { label: item[0], data: item[1] };
- });
-
- return results;
- }
-
- private footer = (tooltipItems: any) => {
- let sum = 0;
-
- tooltipItems.forEach(function (tooltipItem: any) {
- sum += tooltipItem.parsed.y;
- });
-
- return "Sum: " + sum;
- };
-
- private computeBeginDateByPeriod(
- selectedPeriod: String,
- endDate: Date
- ): Date {
- let beginDate = new Date();
-
- switch (selectedPeriod) {
- case "currentYear":
- beginDate = new Date(endDate.getFullYear(), 0, 1);
- break;
- case "12Months":
- beginDate = this.dateService.addMonths(endDate, -12);
- beginDate.setDate(1);
- break;
- case "all":
- beginDate = this.dateService.addMonths(endDate, -120);
- beginDate.setDate(1);
- break;
+ public onPeriodChange() {
+ this.getDataForGraph();
+ if (this.dataSourceTable?.data.length > 0) {
+ this.getDataForTable();
+ }
}
- return beginDate;
- }
+ public onLoadTable() {
+ this.getDataForTable();
+ }
- public delete(item: TunnelFlight) {
- let data: Array = this.dataSourceTable.data;
- data = data.filter((d) => d.id !== item.id);
+ private chartConfig() {
+ this.barChartType = "bar";
+ this.barChartOptions = {
+ responsive: true,
+ maintainAspectRatio: true,
+ plugins: {
+ legend: {
+ display: true,
+ },
+ tooltip: {
+ callbacks: {
+ footer: this.footer,
+ },
+ },
+ },
+ interaction: {
+ intersect: false,
+ mode: "nearest",
+ axis: "x",
+ },
+ scales: {
+ x: {
+ stacked: true,
+ },
+ y: {
+ stacked: true,
+ },
+ },
+ };
+ }
- this.dataSourceTable.data = data;
- this.serviceTunnelFlight.deleteTunnelFlight(item);
- }
+ private updateTitle() {
+ this.translateService
+ .get("ListTunnelFlight_Title")
+ .subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
+
+ private getDataForTable(): void {
+ this.isLoading = true;
+
+ // Get data to show in a table
+ let endDate = new Date();
+ endDate.setHours(0, 0, 0, 0);
+ let beginDate = this.computeBeginDateByPeriod(
+ this.selectedPeriod,
+ endDate,
+ );
+
+ this.serviceTunnelFlight
+ .getTunnelFlights(beginDate, endDate)
+ .subscribe((data) => {
+ this.dataSourceTable.data = data;
+ this.isLoading = false;
+ });
+ }
+
+ private getDataForGraph(): void {
+ this.isLoading = true;
+
+ // Get data to show in a table
+ let endDate = new Date();
+ endDate.setHours(0, 0, 0, 0);
+ let beginDate = this.computeBeginDateByPeriod(
+ this.selectedPeriod,
+ endDate,
+ );
+
+ this.serviceTunnelFlight
+ .getTunnelFlightsByMonth(beginDate, endDate)
+ .subscribe((data) => {
+ const allMonths = this.getMontsBetweenDates(beginDate, endDate);
+ const cumulatedTime = this.getCumulatedTimeByTypeByMonth(
+ data,
+ allMonths,
+ );
+ this.computeTimeByType(data);
+ this.barChartData = {
+ labels: allMonths,
+ datasets: cumulatedTime,
+ };
+
+ this.isLoading = false;
+ });
+ }
+
+ private computeTimeByType(stats: TunnelFlightByMonth[]) {
+ this.stats = [];
+ from(stats)
+ .pipe(
+ groupBy((type) => type.type, { element: (p) => p.nb }),
+ mergeMap((group$) =>
+ group$.pipe(
+ reduce((acc, cur) => [...acc, cur], [`${group$.key}`]),
+ ),
+ ),
+ map((arr) => ({
+ id: arr[0],
+ values: arr
+ .slice(1)
+ .reduce((a, b) => Number(a) + Number(b), 0),
+ })),
+ )
+ .subscribe((p) => {
+ console.log(p);
+ this.stats.push(p);
+ });
+ }
+
+ private getMontsBetweenDates(
+ beginDate: Date,
+ endDate: Date,
+ ): Array {
+ let results: Array = [];
+ let tmpBeginDate = new Date(beginDate.getTime());
+ const tmpEndDate = new Date(endDate.getTime());
+
+ while (tmpBeginDate < tmpEndDate) {
+ results.push(formatDate(tmpBeginDate, "yy-MM", "en"));
+ tmpBeginDate.setMonth(tmpBeginDate.getMonth() + 1);
+ }
+
+ return results;
+ }
+
+ private getCumulatedTimeByTypeByMonth(
+ stats: TunnelFlightByMonth[],
+ allMonths: string[],
+ ): Array {
+ let tmpResults = new Map();
+
+ const disctintType = Array.from(
+ new Set(stats.map((item) => item.type)),
+ );
+ disctintType.forEach((type) => {
+ tmpResults.set(
+ type,
+ Array.from({ length: allMonths.length }, (v, k) => 0),
+ );
+ });
+
+ for (let i = 0; i < allMonths.length; i++) {
+ const month = allMonths[i];
+ let filteredStats = stats.filter((d) => d.month == month);
+
+ if (filteredStats.length > 0) {
+ filteredStats.forEach((fs) => {
+ tmpResults.get(fs.type)[i] += fs.nb;
+ });
+ }
+ }
+
+ const results = Array.from(tmpResults, function (item) {
+ return { label: item[0], data: item[1] };
+ });
+
+ return results;
+ }
+
+ private footer = (tooltipItems: any) => {
+ let sum = 0;
+
+ tooltipItems.forEach(function (tooltipItem: any) {
+ sum += tooltipItem.parsed.y;
+ });
+
+ return "Sum: " + sum;
+ };
+
+ private computeBeginDateByPeriod(
+ selectedPeriod: String,
+ endDate: Date,
+ ): Date {
+ let beginDate = new Date();
+
+ switch (selectedPeriod) {
+ case "currentYear":
+ beginDate = new Date(endDate.getFullYear(), 0, 1);
+ break;
+ case "12Months":
+ beginDate = this.dateService.addMonths(endDate, -12);
+ beginDate.setDate(1);
+ break;
+ case "all":
+ beginDate = this.dateService.addMonths(endDate, -120);
+ beginDate.setDate(1);
+ break;
+ }
+
+ return beginDate;
+ }
+
+ public delete(item: TunnelFlight) {
+ let data: Array = this.dataSourceTable.data;
+ data = data.filter((d) => d.id !== item.id);
+
+ this.dataSourceTable.data = data;
+ this.serviceTunnelFlight.deleteTunnelFlight(item);
+ }
}
diff --git a/Front/skydivelogs-app/src/app/login-user/login-user.component.html b/Front/skydivelogs-app/src/app/login-user/login-user.component.html
index 885a037..3ab3f2f 100644
--- a/Front/skydivelogs-app/src/app/login-user/login-user.component.html
+++ b/Front/skydivelogs-app/src/app/login-user/login-user.component.html
@@ -1,50 +1,66 @@
diff --git a/Front/skydivelogs-app/src/app/login-user/login-user.component.ts b/Front/skydivelogs-app/src/app/login-user/login-user.component.ts
index 38831a4..c5fcb93 100644
--- a/Front/skydivelogs-app/src/app/login-user/login-user.component.ts
+++ b/Front/skydivelogs-app/src/app/login-user/login-user.component.ts
@@ -2,10 +2,10 @@ import { Component, OnInit, ViewChild, AfterViewInit } from "@angular/core";
import { Router, ActivatedRoute } from "@angular/router";
import { CommonModule } from "@angular/common";
import {
- FormBuilder,
- FormGroup,
- ReactiveFormsModule,
- Validators,
+ FormBuilder,
+ FormGroup,
+ ReactiveFormsModule,
+ Validators,
} from "@angular/forms";
import { TranslateModule, TranslatePipe } from "@ngx-translate/core";
import { MatInput, MatInputModule } from "@angular/material/input";
@@ -17,72 +17,72 @@ import { first } from "rxjs/operators";
import { AuthenticationService } from "../../services/authentication.service";
@Component({
- selector: "app-login-user",
- templateUrl: "./login-user.component.html",
- styleUrls: ["./login-user.component.css"],
- imports: [
- CommonModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatInputModule,
- TranslateModule,
- TranslatePipe,
- MatButtonModule,
- ],
+ selector: "app-login-user",
+ templateUrl: "./login-user.component.html",
+ styleUrls: ["./login-user.component.css"],
+ imports: [
+ CommonModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatInputModule,
+ TranslateModule,
+ TranslatePipe,
+ MatButtonModule,
+ ],
})
export class LoginUserComponent implements OnInit {
- public loginForm: FormGroup;
- public loading = false;
- public submitted = false;
- public returnUrl: string;
- public error: string = "";
+ public loginForm: FormGroup;
+ public loading = false;
+ public submitted = false;
+ public returnUrl: string;
+ public error: string = "";
- constructor(
- private formBuilder: FormBuilder,
- private route: ActivatedRoute,
- private router: Router,
- private authenticationService: AuthenticationService
- ) {
- if (this.authenticationService.currentUserValue) {
- this.router.navigate(["/"]);
+ constructor(
+ private formBuilder: FormBuilder,
+ private route: ActivatedRoute,
+ private router: Router,
+ private authenticationService: AuthenticationService,
+ ) {
+ if (this.authenticationService.currentUserValue) {
+ this.router.navigate(["/"]);
+ }
}
- }
- ngOnInit() {
- this.loginForm = this.formBuilder.group(
- {
- username: ["", [Validators.required, Validators.minLength(3)]],
- password: ["", [Validators.required]],
- },
- { updateOn: "submit" }
- );
+ ngOnInit() {
+ this.loginForm = this.formBuilder.group(
+ {
+ username: ["", [Validators.required, Validators.minLength(3)]],
+ password: ["", [Validators.required]],
+ },
+ { updateOn: "submit" },
+ );
- // get return url from route parameters or default to '/'
- this.returnUrl = this.route.snapshot.queryParams["returnUrl"] || "/";
- }
-
- get formCtrls() {
- return this.loginForm.controls;
- }
-
- public onLoginSubmit() {
- this.submitted = true;
-
- if (this.loginForm.valid) {
- this.loading = true;
- this.authenticationService
- .login(
- this.formCtrls["username"].value,
- this.formCtrls["password"].value
- )
- .pipe(first())
- .subscribe({
- complete: () => this.router.navigate([this.returnUrl]),
- error: (error) => {
- this.error = error.message;
- this.loading = false;
- },
- });
+ // get return url from route parameters or default to '/'
+ this.returnUrl = this.route.snapshot.queryParams["returnUrl"] || "/";
+ }
+
+ get formCtrls() {
+ return this.loginForm.controls;
+ }
+
+ public onLoginSubmit() {
+ this.submitted = true;
+
+ if (this.loginForm.valid) {
+ this.loading = true;
+ this.authenticationService
+ .login(
+ this.formCtrls["username"].value,
+ this.formCtrls["password"].value,
+ )
+ .pipe(first())
+ .subscribe({
+ complete: () => this.router.navigate([this.returnUrl]),
+ error: (error) => {
+ this.error = error.message;
+ this.loading = false;
+ },
+ });
+ }
}
- }
}
diff --git a/Front/skydivelogs-app/src/app/login/login.component.css b/Front/skydivelogs-app/src/app/login/login.component.css
index 8db9a61..dfcef33 100644
--- a/Front/skydivelogs-app/src/app/login/login.component.css
+++ b/Front/skydivelogs-app/src/app/login/login.component.css
@@ -1,10 +1,10 @@
.content {
- height: 90vh;
- display: flex;
- justify-content: center;
- align-items: center;
+ height: 90vh;
+ display: flex;
+ justify-content: center;
+ align-items: center;
}
.mat-card-title {
- margin: 0 !important;
+ margin: 0 !important;
}
diff --git a/Front/skydivelogs-app/src/app/login/login.component.html b/Front/skydivelogs-app/src/app/login/login.component.html
index f712a7a..393cd16 100644
--- a/Front/skydivelogs-app/src/app/login/login.component.html
+++ b/Front/skydivelogs-app/src/app/login/login.component.html
@@ -1,43 +1,51 @@
diff --git a/Front/skydivelogs-app/src/app/login/login.component.ts b/Front/skydivelogs-app/src/app/login/login.component.ts
index 5a57f3d..7db5a0e 100644
--- a/Front/skydivelogs-app/src/app/login/login.component.ts
+++ b/Front/skydivelogs-app/src/app/login/login.component.ts
@@ -1,10 +1,10 @@
import { Component, OnInit } from "@angular/core";
import {
- TranslateModule,
- TranslatePipe,
- TranslateService,
+ TranslateModule,
+ TranslatePipe,
+ TranslateService,
} from "@ngx-translate/core";
-import { CommonModule } from "@angular/common";
+
import { MatSelectModule } from "@angular/material/select";
import { MatOptionModule } from "@angular/material/core";
import { MatCardModule } from "@angular/material/card";
@@ -14,32 +14,31 @@ import { LoginUserComponent } from "../login-user/login-user.component";
import { CreateUserComponent } from "../create-user/create-user.component";
@Component({
- selector: "app-login",
- templateUrl: "./login.component.html",
- styleUrls: ["./login.component.css"],
- imports: [
- TranslateModule,
- CommonModule,
- MatSelectModule,
- MatOptionModule,
- MatCardModule,
- MatTabsModule,
- LoginUserComponent,
- CreateUserComponent,
- TranslateModule,
- ],
+ selector: "app-login",
+ templateUrl: "./login.component.html",
+ styleUrls: ["./login.component.css"],
+ imports: [
+ TranslateModule,
+ MatSelectModule,
+ MatOptionModule,
+ MatCardModule,
+ MatTabsModule,
+ LoginUserComponent,
+ CreateUserComponent,
+ TranslateModule,
+ ],
})
export class LoginComponent implements OnInit {
- public selectedLanguageFlag: string;
+ public selectedLanguageFlag: string;
- constructor(private translate: TranslateService) {
- this.selectedLanguageFlag = "en";
- }
+ constructor(private translate: TranslateService) {
+ this.selectedLanguageFlag = "en";
+ }
- ngOnInit() {}
+ ngOnInit() {}
- public switchLang(event: any) {
- this.translate.use(event.value);
- this.selectedLanguageFlag = event.value;
- }
+ public switchLang(event: any) {
+ this.translate.use(event.value);
+ this.selectedLanguageFlag = event.value;
+ }
}
diff --git a/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.css b/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.css
index 33a5371..cdfd171 100644
--- a/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.css
+++ b/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.css
@@ -1,7 +1,7 @@
.content {
- height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
+ height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
}
diff --git a/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.html b/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.html
index 3db76cd..55534a6 100644
--- a/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.html
+++ b/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.html
@@ -1,16 +1,23 @@
diff --git a/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.ts b/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.ts
index 63731de..9a790fb 100644
--- a/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.ts
+++ b/Front/skydivelogs-app/src/app/new-aircraft/new-aircraft.component.ts
@@ -1,9 +1,9 @@
import { Component, OnInit } from "@angular/core";
import {
- FormControl,
- FormGroup,
- ReactiveFormsModule,
- Validators,
+ FormControl,
+ FormGroup,
+ ReactiveFormsModule,
+ Validators,
} from "@angular/forms";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
import { MatFormFieldModule } from "@angular/material/form-field";
@@ -16,101 +16,106 @@ import { AircraftService } from "../../services/aircraft.service";
import { ServiceComm } from "../../services/service-comm.service";
@Component({
- selector: "app-new-aircraft",
- templateUrl: "./new-aircraft.component.html",
- styleUrls: ["./new-aircraft.component.css"],
- imports: [
- TranslateModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatInputModule,
- MatButtonModule,
- ],
+ selector: "app-new-aircraft",
+ templateUrl: "./new-aircraft.component.html",
+ styleUrls: ["./new-aircraft.component.css"],
+ imports: [
+ TranslateModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatInputModule,
+ MatButtonModule,
+ ],
})
export class NewAircraftComponent implements OnInit {
- public addForm: FormGroup;
- public imageError: string;
- private selectedFile: string;
+ public addForm: FormGroup;
+ public imageError: string;
+ private selectedFile: string;
- constructor(
- private serviceComm: ServiceComm,
- private serviceApi: AircraftService,
- private translateService: TranslateService,
- ) {
- this.addForm = new FormGroup(
- {
- aircraftName: new FormControl("", Validators.required),
- },
- { updateOn: "blur" },
- );
- }
+ constructor(
+ private serviceComm: ServiceComm,
+ private serviceApi: AircraftService,
+ private translateService: TranslateService,
+ ) {
+ this.addForm = new FormGroup(
+ {
+ aircraftName: new FormControl("", Validators.required),
+ },
+ { updateOn: "blur" },
+ );
+ }
+
+ ngOnInit() {
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
- ngOnInit() {
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
this.updateTitle();
- }
- });
-
- this.updateTitle();
- }
-
- onSubmit(formData) {
- if (formData.invalid) {
- return;
}
- this.serviceApi
- .addAircraft(formData.aircraftName, this.selectedFile)
- .subscribe(() => {
- this.serviceComm.refreshData(AddAction.Aircraft);
- });
- }
+ onSubmit(formData) {
+ if (formData.invalid) {
+ return;
+ }
- public onFileChanged(fileInput: any) {
- const file = fileInput.dataTransfer
- ? fileInput.dataTransfer.files[0]
- : fileInput.target.files[0];
- const allowed_types = ["image/png", "image/jpeg"];
- const max_size = 20971520;
-
- if (!allowed_types.includes(file.type)) {
- this.imageError = "Only Images are allowed ( JPG | PNG )";
- } else if (file.size > max_size) {
- this.imageError = "Maximum size allowed is " + max_size / 1000 + "Mb";
- } else {
- const reader = new FileReader();
- reader.onload = this.checkAndExtractDataToBase64.bind(this);
- reader.readAsDataURL(fileInput.target.files[0]);
+ this.serviceApi
+ .addAircraft(formData.aircraftName, this.selectedFile)
+ .subscribe(() => {
+ this.serviceComm.refreshData(AddAction.Aircraft);
+ });
}
- }
- private checkAndExtractDataToBase64(e: any) {
- const max_height = 15200;
- const max_width = 25600;
+ public onFileChanged(fileInput: any) {
+ const file = fileInput.dataTransfer
+ ? fileInput.dataTransfer.files[0]
+ : fileInput.target.files[0];
+ const allowed_types = ["image/png", "image/jpeg"];
+ const max_size = 20971520;
- const image = new Image();
- image.src = e.target.result;
- image.onload = (rs) => {
- const img_height = rs.currentTarget["height"];
- const img_width = rs.currentTarget["width"];
+ if (!allowed_types.includes(file.type)) {
+ this.imageError = "Only Images are allowed ( JPG | PNG )";
+ } else if (file.size > max_size) {
+ this.imageError =
+ "Maximum size allowed is " + max_size / 1000 + "Mb";
+ } else {
+ const reader = new FileReader();
+ reader.onload = this.checkAndExtractDataToBase64.bind(this);
+ reader.readAsDataURL(fileInput.target.files[0]);
+ }
+ }
- if (img_height > max_height && img_width > max_width) {
- this.imageError =
- "Maximum dimentions allowed " + max_height + "*" + max_width + "px";
- } else {
- const imgBase64Path = e.target.result;
- this.selectedFile = imgBase64Path;
- this.imageError = "OK";
- }
- };
- }
+ private checkAndExtractDataToBase64(e: any) {
+ const max_height = 15200;
+ const max_width = 25600;
- private updateTitle() {
- this.translateService.get("NewAircraft_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ const image = new Image();
+ image.src = e.target.result;
+ image.onload = (rs) => {
+ const img_height = rs.currentTarget["height"];
+ const img_width = rs.currentTarget["width"];
+
+ if (img_height > max_height && img_width > max_width) {
+ this.imageError =
+ "Maximum dimentions allowed " +
+ max_height +
+ "*" +
+ max_width +
+ "px";
+ } else {
+ const imgBase64Path = e.target.result;
+ this.selectedFile = imgBase64Path;
+ this.imageError = "OK";
+ }
+ };
+ }
+
+ private updateTitle() {
+ this.translateService.get("NewAircraft_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.css b/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.css
index 33a5371..cdfd171 100644
--- a/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.css
+++ b/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.css
@@ -1,7 +1,7 @@
.content {
- height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
+ height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
}
diff --git a/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.html b/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.html
index 0d8a899..831dbf7 100644
--- a/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.html
+++ b/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.html
@@ -1,42 +1,42 @@
diff --git a/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.ts b/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.ts
index e519f5b..b83fb14 100644
--- a/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.ts
+++ b/Front/skydivelogs-app/src/app/new-drop-zone/new-drop-zone.component.ts
@@ -1,9 +1,9 @@
import { Component, OnInit } from "@angular/core";
import {
- FormControl,
- FormGroup,
- ReactiveFormsModule,
- Validators,
+ FormControl,
+ FormGroup,
+ ReactiveFormsModule,
+ Validators,
} from "@angular/forms";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
import { MatFormFieldModule } from "@angular/material/form-field";
@@ -17,87 +17,87 @@ import { ServiceComm } from "../../services/service-comm.service";
import { DropzoneService } from "../../services/dropzone.service";
@Component({
- selector: "app-new-drop-zone",
- templateUrl: "./new-drop-zone.component.html",
- styleUrls: ["./new-drop-zone.component.css"],
- imports: [
- TranslateModule,
- MatFormFieldModule,
- MatCheckboxModule,
- ReactiveFormsModule,
- MatFormFieldModule,
- MatInputModule,
- MatButtonModule,
- ],
+ selector: "app-new-drop-zone",
+ templateUrl: "./new-drop-zone.component.html",
+ styleUrls: ["./new-drop-zone.component.css"],
+ imports: [
+ TranslateModule,
+ MatFormFieldModule,
+ MatCheckboxModule,
+ ReactiveFormsModule,
+ MatFormFieldModule,
+ MatInputModule,
+ MatButtonModule,
+ ],
})
export class NewDropZoneComponent implements OnInit {
- public addForm: FormGroup;
+ public addForm: FormGroup;
- constructor(
- private serviceComm: ServiceComm,
- private dropzoneService: DropzoneService,
- private translateService: TranslateService,
- ) {
- this.addForm = new FormGroup(
- {
- dzName: new FormControl("", Validators.required),
- gps: new FormControl("x.x,y.y", [
- Validators.required,
- Validators.pattern("d+.d+,d+.d+"),
- ]),
- address: new FormControl("", Validators.required),
- website: new FormControl("", Validators.required),
- contactMail: new FormControl("", [
- Validators.required,
- Validators.email,
- ]),
- isDz: new FormControl(true),
- isTunnel: new FormControl(false),
- },
- { updateOn: "blur" },
- );
- }
+ constructor(
+ private serviceComm: ServiceComm,
+ private dropzoneService: DropzoneService,
+ private translateService: TranslateService,
+ ) {
+ this.addForm = new FormGroup(
+ {
+ dzName: new FormControl("", Validators.required),
+ gps: new FormControl("x.x,y.y", [
+ Validators.required,
+ Validators.pattern("d+.d+,d+.d+"),
+ ]),
+ address: new FormControl("", Validators.required),
+ website: new FormControl("", Validators.required),
+ contactMail: new FormControl("", [
+ Validators.required,
+ Validators.email,
+ ]),
+ isDz: new FormControl(true),
+ isTunnel: new FormControl(false),
+ },
+ { updateOn: "blur" },
+ );
+ }
+
+ ngOnInit() {
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
- ngOnInit() {
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
this.updateTitle();
- }
- });
-
- this.updateTitle();
- }
-
- onSubmit(formData) {
- const splitGps: Array = formData.gps.split(",");
- let dzType: Array = new Array();
-
- if (formData.isDz === true) {
- dzType.push("dz");
- }
- if (formData.isTunnel === true) {
- dzType.push("tunnel");
}
- this.dropzoneService
- .addDropZone(
- splitGps[0],
- splitGps[1],
- formData.dzName,
- formData.address,
- formData.website,
- formData.contactMail,
- dzType,
- false,
- )
- .subscribe(() => {
- this.serviceComm.refreshData(AddAction.Dropzone);
- });
- }
+ onSubmit(formData) {
+ const splitGps: Array = formData.gps.split(",");
+ let dzType: Array = new Array();
- private updateTitle() {
- this.translateService.get("NewDz_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ if (formData.isDz === true) {
+ dzType.push("dz");
+ }
+ if (formData.isTunnel === true) {
+ dzType.push("tunnel");
+ }
+
+ this.dropzoneService
+ .addDropZone(
+ splitGps[0],
+ splitGps[1],
+ formData.dzName,
+ formData.address,
+ formData.website,
+ formData.contactMail,
+ dzType,
+ false,
+ )
+ .subscribe(() => {
+ this.serviceComm.refreshData(AddAction.Dropzone);
+ });
+ }
+
+ private updateTitle() {
+ this.translateService.get("NewDz_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/new-gear/new-gear.component.css b/Front/skydivelogs-app/src/app/new-gear/new-gear.component.css
index 33a5371..cdfd171 100644
--- a/Front/skydivelogs-app/src/app/new-gear/new-gear.component.css
+++ b/Front/skydivelogs-app/src/app/new-gear/new-gear.component.css
@@ -1,7 +1,7 @@
.content {
- height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
+ height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
}
diff --git a/Front/skydivelogs-app/src/app/new-gear/new-gear.component.html b/Front/skydivelogs-app/src/app/new-gear/new-gear.component.html
index ddc1214..f361f46 100644
--- a/Front/skydivelogs-app/src/app/new-gear/new-gear.component.html
+++ b/Front/skydivelogs-app/src/app/new-gear/new-gear.component.html
@@ -1,48 +1,48 @@
diff --git a/Front/skydivelogs-app/src/app/new-gear/new-gear.component.ts b/Front/skydivelogs-app/src/app/new-gear/new-gear.component.ts
index 0d26ca6..abc8954 100644
--- a/Front/skydivelogs-app/src/app/new-gear/new-gear.component.ts
+++ b/Front/skydivelogs-app/src/app/new-gear/new-gear.component.ts
@@ -1,9 +1,9 @@
import { Component, OnInit } from "@angular/core";
import {
- FormControl,
- FormGroup,
- ReactiveFormsModule,
- Validators,
+ FormControl,
+ FormGroup,
+ ReactiveFormsModule,
+ Validators,
} from "@angular/forms";
import { MatFormFieldModule } from "@angular/material/form-field";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
@@ -15,85 +15,85 @@ import { GearService } from "../../services/gear.service";
import { AddAction } from "../../models/add-action.enum";
@Component({
- selector: "app-new-gear",
- templateUrl: "./new-gear.component.html",
- styleUrls: ["./new-gear.component.css"],
- imports: [
- TranslateModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- ReactiveFormsModule,
- MatInputModule,
- MatButtonModule,
- ],
+ selector: "app-new-gear",
+ templateUrl: "./new-gear.component.html",
+ styleUrls: ["./new-gear.component.css"],
+ imports: [
+ TranslateModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ ReactiveFormsModule,
+ MatInputModule,
+ MatButtonModule,
+ ],
})
export class NewGearComponent implements OnInit {
- public addForm: FormGroup;
+ public addForm: FormGroup;
- constructor(
- private serviceComm: ServiceComm,
- private serviceApi: GearService,
- private translateService: TranslateService,
- ) {
- this.addForm = new FormGroup(
- {
- name: new FormControl("", Validators.required),
- manufacturer: new FormControl("", Validators.required),
- minSize: new FormControl("", [
- Validators.required,
- Validators.min(60),
- Validators.max(320),
- ]),
- maxSize: new FormControl("", [
- Validators.required,
- Validators.min(60),
- Validators.max(320),
- ]),
- aad: new FormControl("", Validators.required),
- mainCanopy: new FormControl("", [
- Validators.required,
- Validators.min(60),
- Validators.max(320),
- ]),
- reserveCanopy: new FormControl("", [
- Validators.required,
- Validators.min(60),
- Validators.max(320),
- ]),
- },
- { updateOn: "blur" },
- );
- }
+ constructor(
+ private serviceComm: ServiceComm,
+ private serviceApi: GearService,
+ private translateService: TranslateService,
+ ) {
+ this.addForm = new FormGroup(
+ {
+ name: new FormControl("", Validators.required),
+ manufacturer: new FormControl("", Validators.required),
+ minSize: new FormControl("", [
+ Validators.required,
+ Validators.min(60),
+ Validators.max(320),
+ ]),
+ maxSize: new FormControl("", [
+ Validators.required,
+ Validators.min(60),
+ Validators.max(320),
+ ]),
+ aad: new FormControl("", Validators.required),
+ mainCanopy: new FormControl("", [
+ Validators.required,
+ Validators.min(60),
+ Validators.max(320),
+ ]),
+ reserveCanopy: new FormControl("", [
+ Validators.required,
+ Validators.min(60),
+ Validators.max(320),
+ ]),
+ },
+ { updateOn: "blur" },
+ );
+ }
+
+ ngOnInit() {
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
- ngOnInit() {
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
this.updateTitle();
- }
- });
+ }
- this.updateTitle();
- }
+ onSubmit(formData) {
+ this.serviceApi
+ .addGear(
+ formData.name,
+ formData.manufacturer,
+ +formData.minSize,
+ +formData.maxSize,
+ formData.aad,
+ formData.mainCanopy,
+ formData.reserveCanopy,
+ )
+ .subscribe(() => {
+ this.serviceComm.refreshData(AddAction.Gear);
+ });
+ }
- onSubmit(formData) {
- this.serviceApi
- .addGear(
- formData.name,
- formData.manufacturer,
- +formData.minSize,
- +formData.maxSize,
- formData.aad,
- formData.mainCanopy,
- formData.reserveCanopy,
- )
- .subscribe(() => {
- this.serviceComm.refreshData(AddAction.Gear);
- });
- }
-
- private updateTitle() {
- this.translateService.get("NewGear_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ private updateTitle() {
+ this.translateService.get("NewGear_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.css b/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.css
index 33a5371..cdfd171 100644
--- a/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.css
+++ b/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.css
@@ -1,7 +1,7 @@
.content {
- height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
+ height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
}
diff --git a/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.html b/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.html
index 53b2011..933c8ad 100644
--- a/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.html
+++ b/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.html
@@ -1,12 +1,12 @@
diff --git a/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.ts b/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.ts
index 86f3c2c..ad6fb7d 100644
--- a/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.ts
+++ b/Front/skydivelogs-app/src/app/new-jump-type/new-jump-type.component.ts
@@ -1,9 +1,9 @@
import { Component, OnInit } from "@angular/core";
import {
- FormControl,
- FormGroup,
- ReactiveFormsModule,
- Validators,
+ FormControl,
+ FormGroup,
+ ReactiveFormsModule,
+ Validators,
} from "@angular/forms";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
import { MatFormFieldModule } from "@angular/material/form-field";
@@ -15,52 +15,54 @@ import { ServiceComm } from "../../services/service-comm.service";
import { JumpTypeService } from "../../services/jump-type.service";
@Component({
- selector: "app-new-jump-type",
- templateUrl: "./new-jump-type.component.html",
- styleUrls: ["./new-jump-type.component.css"],
- imports: [
- TranslateModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatInputModule,
- MatButtonModule,
- ],
+ selector: "app-new-jump-type",
+ templateUrl: "./new-jump-type.component.html",
+ styleUrls: ["./new-jump-type.component.css"],
+ imports: [
+ TranslateModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatInputModule,
+ MatButtonModule,
+ ],
})
export class NewJumpTypeComponent implements OnInit {
- public addForm: FormGroup;
+ public addForm: FormGroup;
- constructor(
- private serviceComm: ServiceComm,
- private jumpTypeService: JumpTypeService,
- private translateService: TranslateService,
- ) {
- this.addForm = new FormGroup(
- {
- jumptypeName: new FormControl("", Validators.required),
- },
- { updateOn: "blur" },
- );
- }
+ constructor(
+ private serviceComm: ServiceComm,
+ private jumpTypeService: JumpTypeService,
+ private translateService: TranslateService,
+ ) {
+ this.addForm = new FormGroup(
+ {
+ jumptypeName: new FormControl("", Validators.required),
+ },
+ { updateOn: "blur" },
+ );
+ }
+
+ ngOnInit() {
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
- ngOnInit() {
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
this.updateTitle();
- }
- });
+ }
- this.updateTitle();
- }
+ onSubmit(formData) {
+ this.jumpTypeService
+ .addJumpType(formData.jumptypeName)
+ .subscribe(() => {
+ this.serviceComm.refreshData(AddAction.JumpType);
+ });
+ }
- onSubmit(formData) {
- this.jumpTypeService.addJumpType(formData.jumptypeName).subscribe(() => {
- this.serviceComm.refreshData(AddAction.JumpType);
- });
- }
-
- private updateTitle() {
- this.translateService.get("NewJumpType_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ private updateTitle() {
+ this.translateService.get("NewJumpType_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.css b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.css
index 0d83a3c..48667b0 100644
--- a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.css
+++ b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.css
@@ -1,17 +1,17 @@
.formNewJumps {
- display: flex;
- flex-direction: column;
+ display: flex;
+ flex-direction: column;
- min-width: 150px;
- max-width: 500px;
- width: 100%;
+ min-width: 150px;
+ max-width: 500px;
+ width: 100%;
}
.content {
- min-height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
- padding-top: 25px;
+ min-height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
+ padding-top: 25px;
}
diff --git a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.html b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.html
index 7b640e5..8dc7392 100644
--- a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.html
+++ b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.html
@@ -1,270 +1,276 @@
-
- {{ "NewJump_ChooseGear" | translate }}
-
-
-
- {{ gear.name }} ({{ gear.mainCanopy }})
-
-
-
- close
-
-
-
- {{
- "NewJump_Cutaway" | translate
- }}
- {{
- "NewJump_Special" | translate
- }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- close
-
-
-
-
-
- close
-
-
-
-
-
-
- close
-
-
-
-
-
-
- close
-
-
-
-
-
- {{ "NewJump_Submit" | translate }}
-
-
-
-
-
-
+ @if (notLoadingToDisplay()) {
+
+ } @else {
+
+ }
diff --git a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts
index 3d487d1..3e91d6b 100644
--- a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts
+++ b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts
@@ -2,12 +2,12 @@ import { Component, OnInit } from "@angular/core";
import { RouterLink, RouterModule } from "@angular/router";
import { formatDate } from "@angular/common";
import {
- DateAdapter,
- MAT_DATE_FORMATS,
- NativeDateAdapter,
+ DateAdapter,
+ MAT_DATE_FORMATS,
+ NativeDateAdapter,
} from "@angular/material/core";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
-import { CommonModule } from "@angular/common";
+
import { MatIconModule } from "@angular/material/icon";
import { MatOptionModule } from "@angular/material/core";
import { MatFormFieldModule } from "@angular/material/form-field";
@@ -34,245 +34,246 @@ import { GearService } from "../../services/gear.service";
import { StatsService } from "../../services/stats.service";
export const PICK_FORMATS = {
- parse: { dateInput: "yy MM dd" },
- display: {
- dateInput: "yyyy-MM-dd",
- monthYearLabel: "yyyy MMM",
- dateA11yLabel: "yyyy MM dd",
- monthYearA11yLabel: "yyyy MMMM",
- },
+ parse: { dateInput: "yy MM dd" },
+ display: {
+ dateInput: "yyyy-MM-dd",
+ monthYearLabel: "yyyy MMM",
+ dateA11yLabel: "yyyy MM dd",
+ monthYearA11yLabel: "yyyy MMMM",
+ },
};
class PickDateAdapter extends NativeDateAdapter {
- override format(date: Date, displayFormat: Object): string {
- return formatDate(date, displayFormat.toString(), "en");
- }
+ override format(date: Date, displayFormat: Object): string {
+ return formatDate(date, displayFormat.toString(), "en");
+ }
}
@Component({
- selector: "app-new-jump",
- templateUrl: "./new-jump.component.html",
- styleUrls: ["./new-jump.component.css"],
- providers: [
- { provide: DateAdapter, useClass: PickDateAdapter },
- { provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS },
- ],
- imports: [
- TranslateModule,
- CommonModule,
- RouterLink,
- FormsModule,
- RouterModule,
- MatIconModule,
- MatOptionModule,
- MatFormFieldModule,
- MatCheckboxModule,
- MatAutocompleteModule,
- MatDatepickerModule,
- MatProgressSpinnerModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatInputModule,
- MatButtonModule,
- ],
+ selector: "app-new-jump",
+ templateUrl: "./new-jump.component.html",
+ styleUrls: ["./new-jump.component.css"],
+ providers: [
+ { provide: DateAdapter, useClass: PickDateAdapter },
+ { provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS },
+ ],
+ imports: [
+ TranslateModule,
+ RouterLink,
+ FormsModule,
+ RouterModule,
+ MatIconModule,
+ MatOptionModule,
+ MatFormFieldModule,
+ MatCheckboxModule,
+ MatAutocompleteModule,
+ MatDatepickerModule,
+ MatProgressSpinnerModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatInputModule,
+ MatButtonModule,
+ ],
})
export class NewJumpComponent implements OnInit {
- public beginDate: Date;
- public endDate: Date;
- public exitAltitude: number;
- public deployAltitude: number;
- public countOfJumps: number;
- public selectedDz: DropZoneResp;
- public selectedGear: GearResp;
- public selectedAircraft: AircraftResp;
- public selectedJumpType: JumpTypeResp;
- public withCutaway: boolean;
- public isSpecial: boolean;
- public listOfJumpType: Array;
- public listOfAircraft: Array;
- public listOfFilteredDropZone: Array;
- public listOfGear: Array;
- public comments: string;
- public resetForm: boolean;
- private countDatasLoaded: number;
- private pendingAddRequest: boolean;
- private listOfDropZone: Array;
- public maxDate: Date;
+ public beginDate: Date;
+ public endDate: Date;
+ public exitAltitude: number;
+ public deployAltitude: number;
+ public countOfJumps: number;
+ public selectedDz: DropZoneResp;
+ public selectedGear: GearResp;
+ public selectedAircraft: AircraftResp;
+ public selectedJumpType: JumpTypeResp;
+ public withCutaway: boolean;
+ public isSpecial: boolean;
+ public listOfJumpType: Array;
+ public listOfAircraft: Array;
+ public listOfFilteredDropZone: Array;
+ public listOfGear: Array;
+ public comments: string;
+ public resetForm: boolean;
+ private countDatasLoaded: number;
+ private pendingAddRequest: boolean;
+ private listOfDropZone: Array;
+ public maxDate: Date;
- constructor(
- private serviceComm: ServiceComm,
- private serviceJump: JumpService,
- private serviceJumpType: JumpTypeService,
- private serviceAircraft: AircraftService,
- private serviceDropzone: DropzoneService,
- private serviceGear: GearService,
- private dateService: DateService,
- private translateService: TranslateService,
- private statsService: StatsService
- ) {}
+ constructor(
+ private serviceComm: ServiceComm,
+ private serviceJump: JumpService,
+ private serviceJumpType: JumpTypeService,
+ private serviceAircraft: AircraftService,
+ private serviceDropzone: DropzoneService,
+ private serviceGear: GearService,
+ private dateService: DateService,
+ private translateService: TranslateService,
+ private statsService: StatsService,
+ ) {}
- ngOnInit() {
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
+ ngOnInit() {
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
this.updateTitle();
- }
- });
- this.updateTitle();
- this.maxDate = this.dateService.addDays(new Date(), 1);
+ this.maxDate = this.dateService.addDays(new Date(), 1);
- this.pendingAddRequest = false;
- this.initForm();
- this.getListOfJumpTypes();
- }
+ this.pendingAddRequest = false;
+ this.initForm();
+ this.getListOfJumpTypes();
+ }
- onFormSubmit() {
- this.pendingAddRequest = true;
+ onFormSubmit() {
+ if (this.isValidatedForm()) {
+ this.pendingAddRequest = true;
- this.serviceJump
- .addListOfJump(
- this.selectedJumpType.id,
- this.selectedAircraft.id,
- this.selectedDz.id,
- this.selectedGear.id,
- this.withCutaway === undefined ? false : this.withCutaway,
- this.beginDate,
- this.endDate,
- this.exitAltitude,
- this.deployAltitude,
- this.countOfJumps,
- this.comments,
- this.isSpecial === undefined ? false : this.isSpecial
- )
- .subscribe(() => {
- this.statsService.resetStats();
+ this.serviceJump
+ .addListOfJump(
+ this.selectedJumpType.id,
+ this.selectedAircraft.id,
+ this.selectedDz.id,
+ this.selectedGear.id,
+ this.withCutaway === undefined ? false : this.withCutaway,
+ this.beginDate,
+ this.endDate,
+ this.exitAltitude,
+ this.deployAltitude,
+ this.countOfJumps,
+ this.comments,
+ this.isSpecial === undefined ? false : this.isSpecial,
+ )
+ .subscribe(() => {
+ this.statsService.resetStats();
+ this.comments = undefined;
+ this.withCutaway = false;
+ this.isSpecial = false;
+
+ if (this.resetForm === true) {
+ this.initForm();
+ }
+ this.pendingAddRequest = false;
+ });
+ }
+ }
+
+ public isValidatedForm(): boolean {
+ return (
+ this.selectedDz !== undefined &&
+ this.selectedDz.id !== undefined &&
+ this.selectedGear !== undefined &&
+ this.selectedGear.id !== undefined &&
+ this.selectedAircraft !== undefined &&
+ this.selectedAircraft.id !== undefined &&
+ this.selectedJumpType !== undefined &&
+ this.selectedJumpType.id !== undefined &&
+ this.exitAltitude !== undefined &&
+ typeof this.exitAltitude === "number" &&
+ this.deployAltitude !== undefined &&
+ typeof this.deployAltitude === "number" &&
+ this.countOfJumps !== undefined &&
+ typeof this.countOfJumps === "number"
+ );
+ }
+
+ private getListOfJumpTypes() {
+ this.serviceJumpType.getListOfJumpTypes().subscribe((data) => {
+ data.sort((a, b) => a.name.localeCompare(b.name));
+ this.listOfJumpType = data;
+ this.countDatasLoaded = 1;
+
+ this.getListOfAircrafts();
+ this.getListOfDropZones();
+ this.getListOfGears();
+ });
+ }
+
+ private getListOfAircrafts() {
+ this.serviceAircraft.getListOfAircrafts(true).subscribe((data) => {
+ data.sort((a, b) => a.name.localeCompare(b.name));
+ this.listOfAircraft = data;
+ this.countDatasLoaded++;
+ });
+ }
+
+ private getListOfDropZones() {
+ this.serviceDropzone.getListOfDropZones(true).subscribe((data) => {
+ data.sort(
+ (a, b) =>
+ (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0) ||
+ a.name.localeCompare(b.name),
+ );
+ this.listOfDropZone = data;
+ this.listOfFilteredDropZone = data;
+ this.countDatasLoaded++;
+ });
+ }
+
+ private getListOfGears() {
+ this.serviceGear.getListOfGears().subscribe((data) => {
+ data.sort((a, b) => b.id - a.id);
+ this.listOfGear = data;
+ this.countDatasLoaded++;
+ });
+ }
+
+ private initForm() {
+ this.endDate = new Date();
+ this.endDate.setHours(0, 0, 0, 0);
+ this.beginDate = this.dateService.addDays(this.endDate, -1);
+
+ this.exitAltitude = 4000;
+ this.deployAltitude = 1000;
+ this.countOfJumps = 1;
+
+ this.selectedDz = undefined;
+ this.selectedGear = undefined;
+ this.selectedAircraft = undefined;
+ this.selectedJumpType = undefined;
+
+ this.listOfFilteredDropZone = this.listOfDropZone;
this.comments = undefined;
+
this.withCutaway = false;
this.isSpecial = false;
-
- if (this.resetForm === true) {
- this.initForm();
- }
- this.pendingAddRequest = false;
- });
- }
-
- public isValidatedForm(): boolean {
- return (
- this.selectedDz !== undefined &&
- this.selectedDz.id !== undefined &&
- this.selectedGear !== undefined &&
- this.selectedGear.id !== undefined &&
- this.selectedAircraft !== undefined &&
- this.selectedAircraft.id !== undefined &&
- this.selectedJumpType !== undefined &&
- this.selectedJumpType.id !== undefined &&
- this.exitAltitude !== undefined &&
- typeof this.exitAltitude === "number" &&
- this.deployAltitude !== undefined &&
- typeof this.deployAltitude === "number" &&
- this.countOfJumps !== undefined &&
- typeof this.countOfJumps === "number"
- );
- }
-
- private getListOfJumpTypes() {
- this.serviceJumpType.getListOfJumpTypes().subscribe((data) => {
- data.sort((a, b) => a.name.localeCompare(b.name));
- this.listOfJumpType = data;
- this.countDatasLoaded = 1;
-
- this.getListOfAircrafts();
- this.getListOfDropZones();
- this.getListOfGears();
- });
- }
-
- private getListOfAircrafts() {
- this.serviceAircraft.getListOfAircrafts(true).subscribe((data) => {
- data.sort((a, b) => a.name.localeCompare(b.name));
- this.listOfAircraft = data;
- this.countDatasLoaded++;
- });
- }
-
- private getListOfDropZones() {
- this.serviceDropzone.getListOfDropZones(true).subscribe((data) => {
- data.sort(
- (a, b) =>
- (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0) ||
- a.name.localeCompare(b.name)
- );
- this.listOfDropZone = data;
- this.listOfFilteredDropZone = data;
- this.countDatasLoaded++;
- });
- }
-
- private getListOfGears() {
- this.serviceGear.getListOfGears().subscribe((data) => {
- data.sort((a, b) => b.id - a.id);
- this.listOfGear = data;
- this.countDatasLoaded++;
- });
- }
-
- private initForm() {
- this.endDate = new Date();
- this.endDate.setHours(0, 0, 0, 0);
- this.beginDate = this.dateService.addDays(this.endDate, -1);
-
- this.exitAltitude = 4000;
- this.deployAltitude = 1000;
- this.countOfJumps = 1;
-
- this.selectedDz = undefined;
- this.selectedGear = undefined;
- this.selectedAircraft = undefined;
- this.selectedJumpType = undefined;
-
- this.listOfFilteredDropZone = this.listOfDropZone;
- this.comments = undefined;
-
- this.withCutaway = false;
- this.isSpecial = false;
- }
-
- public displayNameFn(data?: any): string | undefined {
- return data ? data.name : undefined;
- }
- public displayGearFn(data?: GearResp): string | undefined {
- return data ? `${data.name} (${data.mainCanopy})` : undefined;
- }
-
- public onChangeDz(event: any) {
- let filterValue: string;
-
- if (event.id === undefined) {
- filterValue = event.toLowerCase();
-
- this.listOfFilteredDropZone = this.listOfDropZone;
- this.listOfFilteredDropZone = this.listOfFilteredDropZone.filter(
- (option) => option.name.toLowerCase().includes(filterValue)
- );
}
- }
- public onChangeBeginDate(event: any) {
- this.endDate = event;
- }
+ public displayNameFn(data?: any): string | undefined {
+ return data ? data.name : undefined;
+ }
+ public displayGearFn(data?: GearResp): string | undefined {
+ return data ? `${data.name} (${data.mainCanopy})` : undefined;
+ }
- public notLoadingToDisplay(): boolean {
- return !(this.pendingAddRequest || this.countDatasLoaded !== 4);
- }
+ public onChangeDz(event: any) {
+ let filterValue: string;
- public resetDz() {
- this.selectedDz = undefined;
- this.onChangeDz("");
- }
+ if (event.id === undefined) {
+ filterValue = event.toLowerCase();
- private updateTitle() {
- this.translateService.get("NewJump_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ this.listOfFilteredDropZone = this.listOfDropZone;
+ this.listOfFilteredDropZone = this.listOfFilteredDropZone.filter(
+ (option) => option.name.toLowerCase().includes(filterValue),
+ );
+ }
+ }
+
+ public onChangeBeginDate(event: any) {
+ this.endDate = event;
+ }
+
+ public notLoadingToDisplay(): boolean {
+ return !(this.pendingAddRequest || this.countDatasLoaded !== 4);
+ }
+
+ public resetDz() {
+ this.selectedDz = undefined;
+ this.onChangeDz("");
+ }
+
+ private updateTitle() {
+ this.translateService.get("NewJump_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.css b/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.css
index 95f44a9..48667b0 100644
--- a/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.css
+++ b/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.css
@@ -1,18 +1,17 @@
.formNewJumps {
display: flex;
flex-direction: column;
-
+
min-width: 150px;
max-width: 500px;
width: 100%;
- }
-
- .content {
+}
+
+.content {
min-height: 90vh;
display: flex;
justify-content: left;
flex-direction: column;
align-items: initial;
padding-top: 25px;
- }
-
\ No newline at end of file
+}
diff --git a/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.html b/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.html
index 86de9b0..da8ee01 100644
--- a/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.html
+++ b/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.html
@@ -1,145 +1,153 @@
-
- {{ "NewTunnelFlight_Date_Lbl" | translate }}
-
-
-
-
-
-
- {{ "NewTunnelFlight_Minutes_Lbl" | translate }}
-
-
- close
-
-
-
-
- {{ "NewTunnelFlight_Comments_Lbl" | translate }}
-
-
- close
-
-
-
-
-
- {{ "NewTunnelFlight_Submit" | translate }}
-
-
-
-
-
-
+ @if (notLoadingToDisplay()) {
+
+ } @else {
+
+ }
diff --git a/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.ts b/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.ts
index 7bf9e5c..7552cd8 100644
--- a/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.ts
+++ b/Front/skydivelogs-app/src/app/new-tunnel-flight/new-tunnel-flight.component.ts
@@ -2,12 +2,12 @@ import { Component, OnInit } from "@angular/core";
import { RouterLink, RouterModule } from "@angular/router";
import { formatDate } from "@angular/common";
import {
- DateAdapter,
- MAT_DATE_FORMATS,
- NativeDateAdapter,
+ DateAdapter,
+ MAT_DATE_FORMATS,
+ NativeDateAdapter,
} from "@angular/material/core";
import { TranslateModule, TranslateService } from "@ngx-translate/core";
-import { CommonModule } from "@angular/common";
+
import { MatIconModule } from "@angular/material/icon";
import { MatOptionModule } from "@angular/material/core";
import { MatAutocompleteModule } from "@angular/material/autocomplete";
@@ -28,170 +28,171 @@ import { JumpTypeService } from "../../services/jump-type.service";
import { DateService } from "../../services/date.service";
export const PICK_FORMATS = {
- parse: { dateInput: "yy MM dd" },
- display: {
- dateInput: "yyyy-MM-dd",
- monthYearLabel: "yyyy MMM",
- dateA11yLabel: "yyyy MM dd",
- monthYearA11yLabel: "yyyy MMMM",
- },
+ parse: { dateInput: "yy MM dd" },
+ display: {
+ dateInput: "yyyy-MM-dd",
+ monthYearLabel: "yyyy MMM",
+ dateA11yLabel: "yyyy MM dd",
+ monthYearA11yLabel: "yyyy MMMM",
+ },
};
class PickDateAdapter extends NativeDateAdapter {
- override format(date: Date, displayFormat: Object): string {
- return formatDate(date, displayFormat.toString(), "en");
- }
+ override format(date: Date, displayFormat: Object): string {
+ return formatDate(date, displayFormat.toString(), "en");
+ }
}
@Component({
- selector: "app-new-tunnel-flight",
- templateUrl: "./new-tunnel-flight.component.html",
- styleUrls: ["./new-tunnel-flight.component.css"],
- providers: [
- { provide: DateAdapter, useClass: PickDateAdapter },
- { provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS },
- ],
- imports: [
- TranslateModule,
- CommonModule,
- RouterModule,
- RouterLink,
- FormsModule,
- MatFormFieldModule,
- ReactiveFormsModule,
- MatAutocompleteModule,
- MatInputModule,
- MatButtonModule,
- MatIconModule,
- MatFormFieldModule,
- MatOptionModule,
- MatDatepickerModule,
- MatProgressSpinnerModule,
- ],
+ selector: "app-new-tunnel-flight",
+ templateUrl: "./new-tunnel-flight.component.html",
+ styleUrls: ["./new-tunnel-flight.component.css"],
+ providers: [
+ { provide: DateAdapter, useClass: PickDateAdapter },
+ { provide: MAT_DATE_FORMATS, useValue: PICK_FORMATS },
+ ],
+ imports: [
+ TranslateModule,
+ RouterModule,
+ RouterLink,
+ FormsModule,
+ MatFormFieldModule,
+ ReactiveFormsModule,
+ MatAutocompleteModule,
+ MatInputModule,
+ MatButtonModule,
+ MatIconModule,
+ MatFormFieldModule,
+ MatOptionModule,
+ MatDatepickerModule,
+ MatProgressSpinnerModule,
+ ],
})
export class NewTunnelFlightComponent implements OnInit {
- public flightDate: Date;
- public minutesOfFlight: number;
- public selectedTunnel: TunnelResp;
- public selectedJumpType: JumpTypeResp;
- public listOfTunnel: Array;
- public listOfFilteredTunnel: Array;
- public resetForm: boolean;
- public comments: string;
- private countDatasLoaded: number;
- private pendingAddRequest: boolean;
- public listOfJumpType: Array;
- public maxDate: Date;
+ public flightDate: Date;
+ public minutesOfFlight: number;
+ public selectedTunnel: TunnelResp;
+ public selectedJumpType: JumpTypeResp;
+ public listOfTunnel: Array;
+ public listOfFilteredTunnel: Array;
+ public resetForm: boolean;
+ public comments: string;
+ private countDatasLoaded: number;
+ private pendingAddRequest: boolean;
+ public listOfJumpType: Array;
+ public maxDate: Date;
- constructor(
- private serviceComm: ServiceComm,
- private serviceTunnel: TunnelService,
- private serviceTunnelFlight: TunnelFlightService,
- private serviceJumpType: JumpTypeService,
- private translateService: TranslateService,
- private dateService: DateService
- ) {}
+ constructor(
+ private serviceComm: ServiceComm,
+ private serviceTunnel: TunnelService,
+ private serviceTunnelFlight: TunnelFlightService,
+ private serviceJumpType: JumpTypeService,
+ private translateService: TranslateService,
+ private dateService: DateService,
+ ) {}
- ngOnInit() {
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
+ ngOnInit() {
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
this.updateTitle();
- }
- });
- this.updateTitle();
- this.maxDate = this.dateService.addDays(new Date(), 1);
- this.countDatasLoaded = 0;
- this.pendingAddRequest = false;
- this.initForm();
- this.getListOfTunnels();
- this.getListOfJumpTypes();
- }
-
- public onFormSubmit() {
- this.pendingAddRequest = true;
-
- this.serviceTunnelFlight
- .addFlight(
- this.selectedTunnel.id,
- this.selectedJumpType.id,
- this.flightDate,
- this.minutesOfFlight,
- this.comments
- )
- .subscribe(() => {
- this.comments = undefined;
-
- if (this.resetForm === true) {
- this.initForm();
- }
+ this.maxDate = this.dateService.addDays(new Date(), 1);
+ this.countDatasLoaded = 0;
this.pendingAddRequest = false;
- });
- }
-
- public isValidatedForm(): boolean {
- return (
- this.selectedTunnel !== undefined &&
- this.selectedTunnel.id !== undefined &&
- this.minutesOfFlight !== undefined &&
- typeof this.minutesOfFlight === "number"
- );
- }
-
- private getListOfTunnels() {
- this.serviceTunnel.getListOfTunnels().subscribe((data) => {
- data.sort((a, b) => a.name.localeCompare(b.name));
- this.listOfTunnel = data;
- this.listOfFilteredTunnel = data;
- this.countDatasLoaded++;
- });
- }
-
- private getListOfJumpTypes() {
- this.serviceJumpType.getListOfJumpTypesForTunnel().subscribe((data) => {
- data.sort((a, b) => a.name.localeCompare(b.name));
- this.listOfJumpType = data;
- this.countDatasLoaded++;
- });
- }
-
- public notLoadingToDisplay(): boolean {
- return !(this.pendingAddRequest || this.countDatasLoaded !== 2);
- }
-
- private updateTitle() {
- this.translateService.get("NewTunnelFlight_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
-
- private initForm() {
- this.flightDate = new Date();
- this.flightDate.setHours(0, 0, 0, 0);
-
- this.minutesOfFlight = 1;
- this.selectedTunnel = undefined;
- this.comments = undefined;
- }
-
- public resetTunnel() {
- this.selectedTunnel = undefined;
- this.onChangeTunnel("");
- }
-
- public onChangeTunnel(event: any) {
- let filterValue: string;
-
- if (event.id === undefined) {
- filterValue = event.toLowerCase();
-
- this.listOfFilteredTunnel = this.listOfTunnel;
- this.listOfFilteredTunnel = this.listOfFilteredTunnel.filter((option) =>
- option.name.toLowerCase().includes(filterValue)
- );
+ this.initForm();
+ this.getListOfTunnels();
+ this.getListOfJumpTypes();
}
- }
- public displayNameFn(data?: any): string | undefined {
- return data ? data.name : undefined;
- }
+ public onFormSubmit() {
+ if (this.isValidatedForm()) {
+ this.pendingAddRequest = true;
+
+ this.serviceTunnelFlight
+ .addFlight(
+ this.selectedTunnel.id,
+ this.selectedJumpType.id,
+ this.flightDate,
+ this.minutesOfFlight,
+ this.comments,
+ )
+ .subscribe(() => {
+ this.comments = undefined;
+
+ if (this.resetForm === true) {
+ this.initForm();
+ }
+ this.pendingAddRequest = false;
+ });
+ }
+ }
+
+ public isValidatedForm(): boolean {
+ return (
+ this.selectedTunnel !== undefined &&
+ this.selectedTunnel.id !== undefined &&
+ this.minutesOfFlight !== undefined &&
+ typeof this.minutesOfFlight === "number"
+ );
+ }
+
+ private getListOfTunnels() {
+ this.serviceTunnel.getListOfTunnels().subscribe((data) => {
+ data.sort((a, b) => a.name.localeCompare(b.name));
+ this.listOfTunnel = data;
+ this.listOfFilteredTunnel = data;
+ this.countDatasLoaded++;
+ });
+ }
+
+ private getListOfJumpTypes() {
+ this.serviceJumpType.getListOfJumpTypesForTunnel().subscribe((data) => {
+ data.sort((a, b) => a.name.localeCompare(b.name));
+ this.listOfJumpType = data;
+ this.countDatasLoaded++;
+ });
+ }
+
+ public notLoadingToDisplay(): boolean {
+ return !(this.pendingAddRequest || this.countDatasLoaded !== 2);
+ }
+
+ private updateTitle() {
+ this.translateService.get("NewTunnelFlight_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
+
+ private initForm() {
+ this.flightDate = new Date();
+ this.flightDate.setHours(0, 0, 0, 0);
+
+ this.minutesOfFlight = 1;
+ this.selectedTunnel = undefined;
+ this.comments = undefined;
+ }
+
+ public resetTunnel() {
+ this.selectedTunnel = undefined;
+ this.onChangeTunnel("");
+ }
+
+ public onChangeTunnel(event: any) {
+ let filterValue: string;
+
+ if (event.id === undefined) {
+ filterValue = event.toLowerCase();
+
+ this.listOfFilteredTunnel = this.listOfTunnel;
+ this.listOfFilteredTunnel = this.listOfFilteredTunnel.filter(
+ (option) => option.name.toLowerCase().includes(filterValue),
+ );
+ }
+ }
+
+ public displayNameFn(data?: any): string | undefined {
+ return data ? data.name : undefined;
+ }
}
diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.css b/Front/skydivelogs-app/src/app/summary/summary.component.css
index 05bb70b..1a394be 100644
--- a/Front/skydivelogs-app/src/app/summary/summary.component.css
+++ b/Front/skydivelogs-app/src/app/summary/summary.component.css
@@ -1,49 +1,49 @@
.mat-row td {
- padding-right: 15px;
+ padding-right: 15px;
}
.labelTab {
- padding: 5px;
- cursor: pointer;
- text-decoration: underline;
- font-weight: bold;
- background-color: lightgray;
+ padding: 5px;
+ cursor: pointer;
+ text-decoration: underline;
+ font-weight: bold;
+ background-color: lightgray;
}
.labelTab.selected {
- background-color: gray !important;
+ background-color: gray !important;
}
.content {
- min-height: 90vh;
- display: flex;
- justify-content: left;
- flex-direction: column;
- align-items: initial;
- padding-top: 25px;
+ min-height: 90vh;
+ display: flex;
+ justify-content: left;
+ flex-direction: column;
+ align-items: initial;
+ padding-top: 25px;
}
.left160 {
- clear: both;
- float: left;
- width: 160px;
+ clear: both;
+ float: left;
+ width: 160px;
}
.paragraph {
- margin-bottom: 10px;
+ margin-bottom: 10px;
}
.containerFlex {
- display: flex;
- flex-wrap: wrap;
+ display: flex;
+ flex-wrap: wrap;
}
.contentFlex {
- flex: 45%;
+ flex: 45%;
}
.chart-container {
- position: relative;
- margin: auto;
- height: 80vh;
- width: 80vw;
+ position: relative;
+ margin: auto;
+ height: 80vh;
+ width: 80vw;
}
diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.html b/Front/skydivelogs-app/src/app/summary/summary.component.html
index 967a7fe..f3b0bad 100644
--- a/Front/skydivelogs-app/src/app/summary/summary.component.html
+++ b/Front/skydivelogs-app/src/app/summary/summary.component.html
@@ -1,182 +1,259 @@
-
-
- : {{ totalJumps }}
-
+
+
+ : {{ totalJumps }}
+
-
-
- : {{ totalCutaways }}
-
+
+
+ : {{ totalCutaways }}
+
-
-
- : {{ lastJump }}
-
+
+
+ : {{ lastJump }}
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
- | {{ element.label }} |
-
-
- {{ element.nb }} |
-
-
-
-
-
+
+
+
+
+ |
+ {{ element.label }}
+ |
+
+
+
+ {{ element.nb }}
+ |
+
+
+
+
+
-
-
-
-
- | {{ element.label }} |
-
-
- {{ element.nb }} |
-
-
-
-
-
+
+
+
+
+ |
+ {{ element.label }}
+ |
+
+
+
+ {{ element.nb }}
+ |
+
+
+
+
+
-
-
-
-
- | {{ element.label }} |
-
-
- {{ element.nb }} |
-
-
-
-
-
+
+
+
+
+ |
+ {{ element.label }}
+ |
+
+
+
+ {{ element.nb }}
+ |
+
+
+
+
+
-
-
-
-
- | {{ element.label }} |
-
-
- {{ element.nb }} |
-
-
-
-
-
+
+
+
+
+ |
+ {{ element.label }}
+ |
+
+
+
+ {{ element.nb }}
+ |
+
+
+
+
+
-
-
-
-
- | {{ element.label }} |
-
-
- {{ element.nb }} |
-
-
-
-
-
+
+
+
+
+ |
+ {{ element.label }}
+ |
+
+
+
+ {{ element.nb }}
+ |
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.ts b/Front/skydivelogs-app/src/app/summary/summary.component.ts
index c188965..5e33c4e 100644
--- a/Front/skydivelogs-app/src/app/summary/summary.component.ts
+++ b/Front/skydivelogs-app/src/app/summary/summary.component.ts
@@ -11,294 +11,297 @@ import { MatIconModule } from "@angular/material/icon";
import { ServiceComm } from "../../services/service-comm.service";
import { StatsService } from "../../services/stats.service";
import {
- StatsByDzResp,
- StatsByAircraftResp,
- StatsByGearResp,
- StatsByJumpTypeResp,
- StatsByYearResp,
+ StatsByDzResp,
+ StatsByAircraftResp,
+ StatsByGearResp,
+ StatsByJumpTypeResp,
+ StatsByYearResp,
} from "../../models/stats";
@Component({
- selector: "app-summary",
- templateUrl: "./summary.component.html",
- styleUrls: ["./summary.component.css"],
- imports: [
- MatTabsModule,
- TranslateModule,
- BaseChartDirective,
- MatIconModule,
- MatTableModule,
- ],
+ selector: "app-summary",
+ templateUrl: "./summary.component.html",
+ styleUrls: ["./summary.component.css"],
+ imports: [
+ MatTabsModule,
+ TranslateModule,
+ BaseChartDirective,
+ MatIconModule,
+ MatTableModule,
+ ],
})
export class SummaryComponent implements OnInit {
- public dsNbJumpByDz: MatTableDataSource;
- public dsNbJumpByAircraft: MatTableDataSource;
- public dsNbJumpByGear: MatTableDataSource;
- public dsNbJumpByType: MatTableDataSource;
- public dsNbJumpByYear: MatTableDataSource;
- public dsJumpForLastYearByDz: MatTableDataSource;
- public dsJumpForLastYearByJumpType: MatTableDataSource;
- public dsJumpForLastMonthByDz: MatTableDataSource;
- public dsJumpForLastMonthByJumpType: MatTableDataSource;
- public displayedColumns: Array = ["label", "nb"];
- public displayedColumnsByYearByJumpType: Array = [
- "label",
- "label2",
- "nb",
- ];
+ public dsNbJumpByDz: MatTableDataSource;
+ public dsNbJumpByAircraft: MatTableDataSource;
+ public dsNbJumpByGear: MatTableDataSource;
+ public dsNbJumpByType: MatTableDataSource;
+ public dsNbJumpByYear: MatTableDataSource;
+ public dsJumpForLastYearByDz: MatTableDataSource;
+ public dsJumpForLastYearByJumpType: MatTableDataSource;
+ public dsJumpForLastMonthByDz: MatTableDataSource;
+ public dsJumpForLastMonthByJumpType: MatTableDataSource;
+ public displayedColumns: Array = ["label", "nb"];
+ public displayedColumnsByYearByJumpType: Array = [
+ "label",
+ "label2",
+ "nb",
+ ];
- public barChartLegend = true;
- public barChartPlugins: any = [];
- public barChartData: ChartData<"line">;
- public barChartOptions: ChartConfiguration["options"];
- public barChartType: ChartType;
- private jumpTypeToColor: Map;
+ public barChartLegend = true;
+ public barChartPlugins: any = [];
+ public barChartData: ChartData<"line">;
+ public barChartOptions: ChartConfiguration["options"];
+ public barChartType: ChartType;
+ private jumpTypeToColor: Map;
- public totalJumps: number;
- public totalCutaways: number;
- public lastJump: string;
- @ViewChild(MatTabGroup) tabGroup: MatTabGroup;
+ public totalJumps: number;
+ public totalCutaways: number;
+ public lastJump: string;
+ @ViewChild(MatTabGroup) tabGroup: MatTabGroup;
- constructor(
- private serviceApi: StatsService,
- private serviceComm: ServiceComm,
- private translateService: TranslateService,
- ) {}
+ constructor(
+ private serviceApi: StatsService,
+ private serviceComm: ServiceComm,
+ private translateService: TranslateService,
+ ) {}
- ngOnInit() {
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
+ ngOnInit() {
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
this.updateTitle();
- }
- });
- this.updateTitle();
- this.serviceApi.getSimpleSummary().subscribe((data) => {
- this.totalJumps = data.totalJumps;
- this.totalCutaways = data.totalCutaways;
+ this.serviceApi.getSimpleSummary().subscribe((data) => {
+ this.totalJumps = data.totalJumps;
+ this.totalCutaways = data.totalCutaways;
- const datepipe: DatePipe = new DatePipe("en-US");
- let formattedDate = datepipe.transform(
- data.lastJump.jumpDate,
- "EEEE dd MMMM YYYY",
- );
- this.lastJump = formattedDate + " (" + data.lastJump.dropZone.name + ")";
- });
+ const datepipe: DatePipe = new DatePipe("en-US");
+ let formattedDate = datepipe.transform(
+ data.lastJump.jumpDate,
+ "EEEE dd MMMM yyyy",
+ );
+ this.lastJump =
+ formattedDate + " (" + data.lastJump.dropZone.name + ")";
+ });
- this.serviceApi.getStatsOfLastMonth().subscribe((data) => {
- data.byDz.sort((a, b) => b.nb - a.nb);
- this.dsJumpForLastMonthByDz = new MatTableDataSource(data.byDz);
- data.byJumpType.sort((a, b) => b.nb - a.nb);
- this.dsJumpForLastMonthByJumpType = new MatTableDataSource(
- data.byJumpType,
- );
- });
+ this.serviceApi.getStatsOfLastMonth().subscribe((data) => {
+ data.byDz.sort((a, b) => b.nb - a.nb);
+ this.dsJumpForLastMonthByDz = new MatTableDataSource(data.byDz);
+ data.byJumpType.sort((a, b) => b.nb - a.nb);
+ this.dsJumpForLastMonthByJumpType = new MatTableDataSource(
+ data.byJumpType,
+ );
+ });
- this.chartConfig();
- }
-
- public refreshStats() {
- this.serviceApi.deleteAllCache();
- this.tabGroup.selectedIndex = 0;
- }
-
- public onTabChanged(event: MatTabChangeEvent) {
- switch (event.index) {
- case 0:
- this.statsLastMonth();
- break;
- case 1:
- this.statsLastYear();
- break;
- case 2:
- this.statsByDz();
- break;
- case 3:
- this.statsByAircraft();
- break;
- case 4:
- this.statsByGear();
- break;
- case 5:
- this.statsByJumpType();
- break;
- case 6:
- this.statsByYear();
- break;
- case 7:
- this.statsByYearByJumpType();
- break;
+ this.chartConfig();
}
- }
- private updateTitle() {
- this.translateService.get("Summary_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ public refreshStats() {
+ this.serviceApi.deleteAllCache();
+ this.tabGroup.selectedIndex = 0;
+ }
- private chartConfig() {
- this.barChartType = "line";
- this.barChartOptions = {
- responsive: true,
- maintainAspectRatio: false,
- plugins: {
- legend: {
- display: true,
- },
- colors: {
- forceOverride: false,
- },
- },
- interaction: {
- intersect: false,
- mode: "nearest",
- axis: "x",
- },
- scales: {
- x: {
- stacked: false,
- },
- y: {
- stacked: false,
- beginAtZero: true,
- },
- },
- };
-
- this.jumpTypeToColor = new Map([
- ["PAC", "#FFD700"],
- ["Solo", "#FFA500"],
- ["RW 3", "#40E0D0"],
- ["RW 4", "#008080"],
- ["RW 8", "#7FFFD4"],
- ["RW X", "#114556"],
- ["FreeFly", "#FFC0CB"],
- ["FreeStyle", "#FF91A4"],
- ["Track/Trace", "#87CEEB"],
- ["Canopy", "#228B22"],
- ["Landing accuracy", "#FF6347"],
- ["Wingsuit 1", "#E6E6FA"],
- ["Wingsuit 2", "#E0B0FF"],
- ["Wingsuit 3", "#9400D3"],
- ]);
- }
-
- // #region Private methods to get stats
- private statsByYearByJumpType() {
- this.serviceApi.getStatsByYearByJumpType().subscribe((data) => {
- data.sort((a, b) => a.label.localeCompare(b.label));
-
- let firstYear: number = Number(data[0].label);
- const now = new Date();
- const currentYear = now.getFullYear();
- const nbYears = currentYear - firstYear;
- let listOfYears = new Array(nbYears).fill(null).map(() => firstYear++);
-
- // Prepare the list of jump type with am empty array
- let tmpResults = new Map();
- const listOfJumpType = [...new Set(data.map((obj) => obj.label2))];
- listOfJumpType.forEach((type) => {
- tmpResults.set(type, new Array(nbYears).fill(NaN));
- });
-
- for (let i = 0; i < listOfYears.length; i++) {
- const year = listOfYears[i].toString();
-
- let filteredStats = data.filter((d) => d.label == year);
-
- if (filteredStats.length > 0) {
- filteredStats.forEach((fs) => {
- tmpResults.get(fs.label2)[i] = fs.nb;
- });
+ public onTabChanged(event: MatTabChangeEvent) {
+ switch (event.index) {
+ case 0:
+ this.statsLastMonth();
+ break;
+ case 1:
+ this.statsLastYear();
+ break;
+ case 2:
+ this.statsByDz();
+ break;
+ case 3:
+ this.statsByAircraft();
+ break;
+ case 4:
+ this.statsByGear();
+ break;
+ case 5:
+ this.statsByJumpType();
+ break;
+ case 6:
+ this.statsByYear();
+ break;
+ case 7:
+ this.statsByYearByJumpType();
+ break;
}
- }
+ }
- const results: {
- label: string;
- data: number[];
- backgroundColor: string;
- borderColor: string;
- pointBackgroundColor: string;
- fill: boolean;
- pointRadius: number;
- }[] = [];
- tmpResults.forEach((value, key) => {
- const color = this.jumpTypeToColor.get(key);
- let tmp = {
- label: key,
- data: value,
- backgroundColor: color,
- borderColor: color,
- pointBackgroundColor: color,
- fill: false,
- pointRadius: 6,
+ private updateTitle() {
+ this.translateService.get("Summary_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
+
+ private chartConfig() {
+ this.barChartType = "line";
+ this.barChartOptions = {
+ responsive: true,
+ maintainAspectRatio: false,
+ plugins: {
+ legend: {
+ display: true,
+ },
+ colors: {
+ forceOverride: false,
+ },
+ },
+ interaction: {
+ intersect: false,
+ mode: "nearest",
+ axis: "x",
+ },
+ scales: {
+ x: {
+ stacked: false,
+ },
+ y: {
+ stacked: false,
+ beginAtZero: true,
+ },
+ },
};
- results.push(tmp);
- });
- this.barChartData = {
- labels: listOfYears,
- datasets: results,
- };
- });
- }
+ this.jumpTypeToColor = new Map([
+ ["PAC", "#FFD700"],
+ ["Solo", "#FFA500"],
+ ["RW 3", "#40E0D0"],
+ ["RW 4", "#008080"],
+ ["RW 8", "#7FFFD4"],
+ ["RW X", "#114556"],
+ ["FreeFly", "#FFC0CB"],
+ ["FreeStyle", "#FF91A4"],
+ ["Track/Trace", "#87CEEB"],
+ ["Canopy", "#228B22"],
+ ["Landing accuracy", "#FF6347"],
+ ["Wingsuit 1", "#E6E6FA"],
+ ["Wingsuit 2", "#E0B0FF"],
+ ["Wingsuit 3", "#9400D3"],
+ ]);
+ }
- private statsByYear() {
- this.serviceApi.getStatsByYear().subscribe((data) => {
- data.sort((a, b) => b.label.localeCompare(a.label));
- this.dsNbJumpByYear = new MatTableDataSource(data);
- });
- }
+ // #region Private methods to get stats
+ private statsByYearByJumpType() {
+ this.serviceApi.getStatsByYearByJumpType().subscribe((data) => {
+ data.sort((a, b) => a.label.localeCompare(b.label));
- private statsByJumpType() {
- this.serviceApi.getStatsByJumpType().subscribe((data) => {
- data.sort((a, b) => b.nb - a.nb);
- this.dsNbJumpByType = new MatTableDataSource(data);
- });
- }
+ let firstYear: number = Number(data[0].label);
+ const now = new Date();
+ const currentYear = now.getFullYear();
+ const nbYears = currentYear - firstYear;
+ let listOfYears = new Array(nbYears)
+ .fill(null)
+ .map(() => firstYear++);
- private statsByGear() {
- this.serviceApi.getStatsByGear().subscribe((data) => {
- data.sort((a, b) => b.nb - a.nb);
- this.dsNbJumpByGear = new MatTableDataSource(data);
- });
- }
+ // Prepare the list of jump type with am empty array
+ let tmpResults = new Map();
+ const listOfJumpType = [...new Set(data.map((obj) => obj.label2))];
+ listOfJumpType.forEach((type) => {
+ tmpResults.set(type, new Array(nbYears).fill(NaN));
+ });
- private statsByAircraft() {
- this.serviceApi.getStatsByAircraft().subscribe((data) => {
- data.sort((a, b) => b.nb - a.nb);
- this.dsNbJumpByAircraft = new MatTableDataSource(data);
- });
- }
+ for (let i = 0; i < listOfYears.length; i++) {
+ const year = listOfYears[i].toString();
- private statsByDz() {
- this.serviceApi.getStatsByDz().subscribe((data) => {
- data.sort((a, b) => b.nb - a.nb);
- this.dsNbJumpByDz = new MatTableDataSource(data);
- });
- }
+ let filteredStats = data.filter((d) => d.label == year);
- private statsLastYear() {
- this.serviceApi.getStatsOfLastYear().subscribe((data) => {
- data.byDz.sort((a, b) => b.nb - a.nb);
- this.dsJumpForLastYearByDz = new MatTableDataSource(data.byDz);
- data.byJumpType.sort((a, b) => b.nb - a.nb);
- this.dsJumpForLastYearByJumpType = new MatTableDataSource(
- data.byJumpType,
- );
- });
- }
+ if (filteredStats.length > 0) {
+ filteredStats.forEach((fs) => {
+ tmpResults.get(fs.label2)[i] = fs.nb;
+ });
+ }
+ }
- private statsLastMonth() {
- this.serviceApi.getStatsOfLastMonth().subscribe((data) => {
- data.byDz.sort((a, b) => b.nb - a.nb);
- this.dsJumpForLastMonthByDz = new MatTableDataSource(data.byDz);
- data.byJumpType.sort((a, b) => b.nb - a.nb);
- this.dsJumpForLastMonthByJumpType = new MatTableDataSource(
- data.byJumpType,
- );
- });
- }
- //#endregion
+ const results: {
+ label: string;
+ data: number[];
+ backgroundColor: string;
+ borderColor: string;
+ pointBackgroundColor: string;
+ fill: boolean;
+ pointRadius: number;
+ }[] = [];
+ tmpResults.forEach((value, key) => {
+ const color = this.jumpTypeToColor.get(key);
+ let tmp = {
+ label: key,
+ data: value,
+ backgroundColor: color,
+ borderColor: color,
+ pointBackgroundColor: color,
+ fill: false,
+ pointRadius: 6,
+ };
+ results.push(tmp);
+ });
+
+ this.barChartData = {
+ labels: listOfYears,
+ datasets: results,
+ };
+ });
+ }
+
+ private statsByYear() {
+ this.serviceApi.getStatsByYear().subscribe((data) => {
+ data.sort((a, b) => b.label.localeCompare(a.label));
+ this.dsNbJumpByYear = new MatTableDataSource(data);
+ });
+ }
+
+ private statsByJumpType() {
+ this.serviceApi.getStatsByJumpType().subscribe((data) => {
+ data.sort((a, b) => b.nb - a.nb);
+ this.dsNbJumpByType = new MatTableDataSource(data);
+ });
+ }
+
+ private statsByGear() {
+ this.serviceApi.getStatsByGear().subscribe((data) => {
+ data.sort((a, b) => b.nb - a.nb);
+ this.dsNbJumpByGear = new MatTableDataSource(data);
+ });
+ }
+
+ private statsByAircraft() {
+ this.serviceApi.getStatsByAircraft().subscribe((data) => {
+ data.sort((a, b) => b.nb - a.nb);
+ this.dsNbJumpByAircraft = new MatTableDataSource(data);
+ });
+ }
+
+ private statsByDz() {
+ this.serviceApi.getStatsByDz().subscribe((data) => {
+ data.sort((a, b) => b.nb - a.nb);
+ this.dsNbJumpByDz = new MatTableDataSource(data);
+ });
+ }
+
+ private statsLastYear() {
+ this.serviceApi.getStatsOfLastYear().subscribe((data) => {
+ data.byDz.sort((a, b) => b.nb - a.nb);
+ this.dsJumpForLastYearByDz = new MatTableDataSource(data.byDz);
+ data.byJumpType.sort((a, b) => b.nb - a.nb);
+ this.dsJumpForLastYearByJumpType = new MatTableDataSource(
+ data.byJumpType,
+ );
+ });
+ }
+
+ private statsLastMonth() {
+ this.serviceApi.getStatsOfLastMonth().subscribe((data) => {
+ data.byDz.sort((a, b) => b.nb - a.nb);
+ this.dsJumpForLastMonthByDz = new MatTableDataSource(data.byDz);
+ data.byJumpType.sort((a, b) => b.nb - a.nb);
+ this.dsJumpForLastMonthByJumpType = new MatTableDataSource(
+ data.byJumpType,
+ );
+ });
+ }
+ //#endregion
}
diff --git a/Front/skydivelogs-app/src/app/user-profile/user-profile.component.css b/Front/skydivelogs-app/src/app/user-profile/user-profile.component.css
index af83daf..3ed54e5 100644
--- a/Front/skydivelogs-app/src/app/user-profile/user-profile.component.css
+++ b/Front/skydivelogs-app/src/app/user-profile/user-profile.component.css
@@ -1,14 +1,14 @@
.content {
- min-height: 90vh;
- justify-content: left;
- align-items: initial;
- padding-top: 25px;
+ min-height: 90vh;
+ justify-content: left;
+ align-items: initial;
+ padding-top: 25px;
}
.containerFlex {
- display: flex;
- flex-wrap: wrap;
+ display: flex;
+ flex-wrap: wrap;
}
.contentFlex {
- flex: 45%;
-}
\ No newline at end of file
+ flex: 45%;
+}
diff --git a/Front/skydivelogs-app/src/app/user-profile/user-profile.component.html b/Front/skydivelogs-app/src/app/user-profile/user-profile.component.html
index ce4b431..0745764 100644
--- a/Front/skydivelogs-app/src/app/user-profile/user-profile.component.html
+++ b/Front/skydivelogs-app/src/app/user-profile/user-profile.component.html
@@ -1,53 +1,70 @@
diff --git a/Front/skydivelogs-app/src/app/user-profile/user-profile.component.ts b/Front/skydivelogs-app/src/app/user-profile/user-profile.component.ts
index 8b1cca5..17eec0d 100644
--- a/Front/skydivelogs-app/src/app/user-profile/user-profile.component.ts
+++ b/Front/skydivelogs-app/src/app/user-profile/user-profile.component.ts
@@ -1,15 +1,15 @@
import { Component, OnInit } from "@angular/core";
import {
- FormGroup,
- FormControl,
- Validators,
- ReactiveFormsModule,
+ FormGroup,
+ FormControl,
+ Validators,
+ ReactiveFormsModule,
} from "@angular/forms";
import { MatLabel, MatFormFieldModule } from "@angular/material/form-field";
import {
- TranslateModule,
- TranslatePipe,
- TranslateService,
+ TranslateModule,
+ TranslatePipe,
+ TranslateService,
} from "@ngx-translate/core";
import { MatInputModule } from "@angular/material/input";
import { MatButtonModule } from "@angular/material/button";
@@ -19,137 +19,138 @@ import { ListOfImagesComponent } from "../list-of-images/list-of-images.componen
import { ServiceComm } from "../../services/service-comm.service";
@Component({
- selector: "app-user-profile",
- templateUrl: "./user-profile.component.html",
- styleUrls: ["./user-profile.component.css"],
- imports: [
- ListOfImagesComponent,
- ReactiveFormsModule,
- MatLabel,
- MatFormFieldModule,
- MatInputModule,
- MatButtonModule,
- TranslateModule,
- ],
+ selector: "app-user-profile",
+ templateUrl: "./user-profile.component.html",
+ styleUrls: ["./user-profile.component.css"],
+ imports: [
+ ListOfImagesComponent,
+ ReactiveFormsModule,
+ MatLabel,
+ MatFormFieldModule,
+ MatInputModule,
+ MatButtonModule,
+ TranslateModule,
+ TranslatePipe,
+ ],
})
export class UserProfileComponent implements OnInit {
- public userForm: FormGroup;
+ public userForm: FormGroup;
- constructor(
- private authenticationService: AuthenticationService,
- private translateService: TranslateService,
- private serviceComm: ServiceComm,
- ) {}
+ constructor(
+ private authenticationService: AuthenticationService,
+ private translateService: TranslateService,
+ private serviceComm: ServiceComm,
+ ) {}
- ngOnInit() {
- this.serviceComm.forceTranslateTitle.subscribe((data) => {
- if (data === true) {
+ ngOnInit() {
+ this.serviceComm.forceTranslateTitle.subscribe((data) => {
+ if (data === true) {
+ this.updateTitle();
+ }
+ });
this.updateTitle();
- }
- });
- this.updateTitle();
- const currentUser = this.authenticationService.currentUserValue;
+ const currentUser = this.authenticationService.currentUserValue;
- this.userForm = new FormGroup(
- {
- login: new FormControl(currentUser.login, Validators.required),
- firstName: new FormControl(currentUser.firstName, [
- Validators.required,
- Validators.minLength(3),
- ]),
- lastName: new FormControl(currentUser.lastName, [
- Validators.required,
- Validators.minLength(3),
- ]),
- email: new FormControl(currentUser.email, [
- Validators.required,
- Validators.email,
- ]),
- currentPassword: new FormControl(
- "",
- Validators.pattern("^[A-Za-z0-9_-]{8,15}$"),
- ),
- newPassword: new FormControl(
- "",
- Validators.pattern("^[A-Za-z0-9_-]{8,15}$"),
- ),
- },
- { updateOn: "blur" },
- );
- }
-
- onSubmit(formData) {
- if (this.userForm.invalid) {
- return;
+ this.userForm = new FormGroup(
+ {
+ login: new FormControl(currentUser.login, Validators.required),
+ firstName: new FormControl(currentUser.firstName, [
+ Validators.required,
+ Validators.minLength(3),
+ ]),
+ lastName: new FormControl(currentUser.lastName, [
+ Validators.required,
+ Validators.minLength(3),
+ ]),
+ email: new FormControl(currentUser.email, [
+ Validators.required,
+ Validators.email,
+ ]),
+ currentPassword: new FormControl(
+ "",
+ Validators.pattern("^[A-Za-z0-9_-]{8,15}$"),
+ ),
+ newPassword: new FormControl(
+ "",
+ Validators.pattern("^[A-Za-z0-9_-]{8,15}$"),
+ ),
+ },
+ { updateOn: "blur" },
+ );
}
- // const updatedUser = new User();
- // updatedUser.firstName = formData.firstName;
- // updatedUser.lastName = formData.lastName;
- // updatedUser.email = formData.email;
+ onSubmit(formData) {
+ if (this.userForm.invalid) {
+ return;
+ }
- // this.authenticationService.update(updatedUser);
- }
+ // const updatedUser = new User();
+ // updatedUser.firstName = formData.firstName;
+ // updatedUser.lastName = formData.lastName;
+ // updatedUser.email = formData.email;
- private calculTailleVoile() {
- let tailleVoile = new Map>();
- tailleVoile.set("60", [175, 161, 147, 133, 124, 115, 107, 97, 89]);
- tailleVoile.set("61", [178, 163, 149, 135, 126, 116, 108, 98, 90]);
- tailleVoile.set("62", [180, 166, 151, 137, 127, 118, 109, 99, 91]);
- tailleVoile.set("63", [183, 168, 153, 138, 129, 119, 111, 100, 91]);
- tailleVoile.set("64", [185, 170, 155, 140, 130, 121, 112, 101, 92]);
- tailleVoile.set("65", [188, 173, 157, 142, 132, 122, 113, 102, 93]);
- tailleVoile.set("66", [190, 175, 159, 144, 134, 123, 114, 103, 94]);
- tailleVoile.set("67", [193, 177, 161, 146, 135, 125, 116, 104, 94]);
- tailleVoile.set("68", [195, 179, 164, 147, 137, 126, 117, 105, 95]);
- tailleVoile.set("69", [198, 182, 166, 149, 138, 128, 118, 106, 96]);
- tailleVoile.set("70", [200, 184, 168, 151, 140, 129, 119, 107, 96]);
- tailleVoile.set("71", [203, 186, 170, 153, 142, 130, 120, 107, 97]);
- tailleVoile.set("72", [205, 189, 172, 155, 143, 132, 121, 108, 98]);
- tailleVoile.set("73", [208, 191, 174, 156, 145, 133, 123, 109, 99]);
- tailleVoile.set("74", [210, 193, 176, 158, 146, 134, 124, 110, 99]);
- tailleVoile.set("75", [213, 196, 178, 160, 148, 136, 125, 111, 100]);
- tailleVoile.set("76", [215, 198, 180, 162, 150, 137, 126, 112, 101]);
- tailleVoile.set("77", [218, 200, 182, 163, 151, 139, 127, 113, 101]);
- tailleVoile.set("78", [220, 202, 184, 165, 153, 140, 128, 114, 102]);
- tailleVoile.set("79", [223, 205, 186, 167, 154, 141, 129, 115, 103]);
- tailleVoile.set("80", [225, 207, 188, 169, 156, 143, 131, 115, 103]);
- tailleVoile.set("81", [228, 209, 190, 170, 157, 144, 132, 116, 104]);
- tailleVoile.set("82", [230, 212, 192, 172, 159, 145, 133, 117, 104]);
- tailleVoile.set("83", [233, 214, 194, 174, 160, 146, 134, 118, 105]);
- tailleVoile.set("84", [235, 216, 196, 176, 162, 148, 135, 119, 106]);
- tailleVoile.set("85", [238, 219, 198, 177, 163, 149, 136, 120, 106]);
- tailleVoile.set("86", [240, 221, 201, 179, 165, 150, 137, 120, 107]);
- tailleVoile.set("87", [243, 223, 203, 181, 166, 152, 138, 121, 108]);
- tailleVoile.set("88", [245, 225, 205, 183, 168, 153, 139, 122, 108]);
- tailleVoile.set("89", [248, 228, 207, 184, 170, 154, 140, 123, 109]);
- tailleVoile.set("90", [250, 230, 209, 186, 171, 156, 141, 124, 109]);
- tailleVoile.set("91", [253, 232, 211, 188, 173, 157, 143, 124, 110]);
- tailleVoile.set("92", [255, 235, 213, 190, 174, 158, 144, 125, 110]);
- tailleVoile.set("93", [258, 237, 215, 191, 176, 159, 145, 126, 111]);
- tailleVoile.set("94", [260, 239, 217, 193, 177, 161, 146, 127, 112]);
- tailleVoile.set("95", [263, 242, 219, 195, 179, 162, 147, 128, 112]);
- tailleVoile.set("96", [265, 244, 221, 197, 180, 163, 148, 128, 113]);
- tailleVoile.set("97", [268, 246, 223, 198, 182, 164, 149, 129, 113]);
- tailleVoile.set("98", [270, 248, 225, 200, 183, 166, 150, 130, 114]);
- tailleVoile.set("99", [273, 251, 227, 202, 185, 167, 151, 131, 114]);
- tailleVoile.set("100", [275, 253, 229, 203, 186, 168, 152, 131, 115]);
- tailleVoile.set("101", [278, 255, 231, 205, 188, 169, 153, 132, 115]);
- tailleVoile.set("102", [280, 258, 233, 207, 189, 171, 154, 133, 116]);
- tailleVoile.set("103", [283, 260, 235, 209, 190, 172, 155, 134, 116]);
- tailleVoile.set("104", [285, 262, 237, 210, 192, 173, 156, 134, 117]);
- tailleVoile.set("105", [288, 265, 239, 212, 193, 174, 157, 135, 118]);
- tailleVoile.set("106", [290, 267, 241, 214, 195, 175, 158, 136, 118]);
- tailleVoile.set("107", [293, 269, 243, 215, 196, 177, 159, 136, 119]);
- tailleVoile.set("108", [295, 271, 245, 217, 198, 178, 160, 137, 119]);
- tailleVoile.set("109", [298, 274, 247, 219, 199, 179, 161, 138, 120]);
- tailleVoile.set("110", [300, 276, 249, 220, 201, 180, 162, 138, 120]);
- }
+ // this.authenticationService.update(updatedUser);
+ }
- private updateTitle() {
- this.translateService.get("UserProfile_Title").subscribe((data) => {
- this.serviceComm.updatedComponentTitle(data);
- });
- }
+ private calculTailleVoile() {
+ let tailleVoile = new Map>();
+ tailleVoile.set("60", [175, 161, 147, 133, 124, 115, 107, 97, 89]);
+ tailleVoile.set("61", [178, 163, 149, 135, 126, 116, 108, 98, 90]);
+ tailleVoile.set("62", [180, 166, 151, 137, 127, 118, 109, 99, 91]);
+ tailleVoile.set("63", [183, 168, 153, 138, 129, 119, 111, 100, 91]);
+ tailleVoile.set("64", [185, 170, 155, 140, 130, 121, 112, 101, 92]);
+ tailleVoile.set("65", [188, 173, 157, 142, 132, 122, 113, 102, 93]);
+ tailleVoile.set("66", [190, 175, 159, 144, 134, 123, 114, 103, 94]);
+ tailleVoile.set("67", [193, 177, 161, 146, 135, 125, 116, 104, 94]);
+ tailleVoile.set("68", [195, 179, 164, 147, 137, 126, 117, 105, 95]);
+ tailleVoile.set("69", [198, 182, 166, 149, 138, 128, 118, 106, 96]);
+ tailleVoile.set("70", [200, 184, 168, 151, 140, 129, 119, 107, 96]);
+ tailleVoile.set("71", [203, 186, 170, 153, 142, 130, 120, 107, 97]);
+ tailleVoile.set("72", [205, 189, 172, 155, 143, 132, 121, 108, 98]);
+ tailleVoile.set("73", [208, 191, 174, 156, 145, 133, 123, 109, 99]);
+ tailleVoile.set("74", [210, 193, 176, 158, 146, 134, 124, 110, 99]);
+ tailleVoile.set("75", [213, 196, 178, 160, 148, 136, 125, 111, 100]);
+ tailleVoile.set("76", [215, 198, 180, 162, 150, 137, 126, 112, 101]);
+ tailleVoile.set("77", [218, 200, 182, 163, 151, 139, 127, 113, 101]);
+ tailleVoile.set("78", [220, 202, 184, 165, 153, 140, 128, 114, 102]);
+ tailleVoile.set("79", [223, 205, 186, 167, 154, 141, 129, 115, 103]);
+ tailleVoile.set("80", [225, 207, 188, 169, 156, 143, 131, 115, 103]);
+ tailleVoile.set("81", [228, 209, 190, 170, 157, 144, 132, 116, 104]);
+ tailleVoile.set("82", [230, 212, 192, 172, 159, 145, 133, 117, 104]);
+ tailleVoile.set("83", [233, 214, 194, 174, 160, 146, 134, 118, 105]);
+ tailleVoile.set("84", [235, 216, 196, 176, 162, 148, 135, 119, 106]);
+ tailleVoile.set("85", [238, 219, 198, 177, 163, 149, 136, 120, 106]);
+ tailleVoile.set("86", [240, 221, 201, 179, 165, 150, 137, 120, 107]);
+ tailleVoile.set("87", [243, 223, 203, 181, 166, 152, 138, 121, 108]);
+ tailleVoile.set("88", [245, 225, 205, 183, 168, 153, 139, 122, 108]);
+ tailleVoile.set("89", [248, 228, 207, 184, 170, 154, 140, 123, 109]);
+ tailleVoile.set("90", [250, 230, 209, 186, 171, 156, 141, 124, 109]);
+ tailleVoile.set("91", [253, 232, 211, 188, 173, 157, 143, 124, 110]);
+ tailleVoile.set("92", [255, 235, 213, 190, 174, 158, 144, 125, 110]);
+ tailleVoile.set("93", [258, 237, 215, 191, 176, 159, 145, 126, 111]);
+ tailleVoile.set("94", [260, 239, 217, 193, 177, 161, 146, 127, 112]);
+ tailleVoile.set("95", [263, 242, 219, 195, 179, 162, 147, 128, 112]);
+ tailleVoile.set("96", [265, 244, 221, 197, 180, 163, 148, 128, 113]);
+ tailleVoile.set("97", [268, 246, 223, 198, 182, 164, 149, 129, 113]);
+ tailleVoile.set("98", [270, 248, 225, 200, 183, 166, 150, 130, 114]);
+ tailleVoile.set("99", [273, 251, 227, 202, 185, 167, 151, 131, 114]);
+ tailleVoile.set("100", [275, 253, 229, 203, 186, 168, 152, 131, 115]);
+ tailleVoile.set("101", [278, 255, 231, 205, 188, 169, 153, 132, 115]);
+ tailleVoile.set("102", [280, 258, 233, 207, 189, 171, 154, 133, 116]);
+ tailleVoile.set("103", [283, 260, 235, 209, 190, 172, 155, 134, 116]);
+ tailleVoile.set("104", [285, 262, 237, 210, 192, 173, 156, 134, 117]);
+ tailleVoile.set("105", [288, 265, 239, 212, 193, 174, 157, 135, 118]);
+ tailleVoile.set("106", [290, 267, 241, 214, 195, 175, 158, 136, 118]);
+ tailleVoile.set("107", [293, 269, 243, 215, 196, 177, 159, 136, 119]);
+ tailleVoile.set("108", [295, 271, 245, 217, 198, 178, 160, 137, 119]);
+ tailleVoile.set("109", [298, 274, 247, 219, 199, 179, 161, 138, 120]);
+ tailleVoile.set("110", [300, 276, 249, 220, 201, 180, 162, 138, 120]);
+ }
+
+ private updateTitle() {
+ this.translateService.get("UserProfile_Title").subscribe((data) => {
+ this.serviceComm.updatedComponentTitle(data);
+ });
+ }
}
diff --git a/Front/skydivelogs-app/src/assets/i18n/en.json b/Front/skydivelogs-app/src/assets/i18n/en.json
index 24e7e96..f36d860 100644
--- a/Front/skydivelogs-app/src/assets/i18n/en.json
+++ b/Front/skydivelogs-app/src/assets/i18n/en.json
@@ -1,139 +1,147 @@
{
- "Login_Title": "Login to the Skydive log",
- "Login_Tab_CreateUser": "Create and login a user",
- "Login_Tab_WithUser": "Login with a user",
+ "Login_Title": "Login to the Skydive log",
+ "Login_Tab_CreateUser": "Create and login a user",
+ "Login_Tab_WithUser": "Login with a user",
- "LoginUser_BtnLogin": "Login",
- "LoginUser_PasswordPattern": "The pattern of the password ([A-Za-z0-9_-] {{ '{' }}8,15{{ '}' }})",
- "LoginUser_PasswordRequired": "Password is required",
- "LoginUser_Password": "Password",
- "LoginUser_Username": "Username",
- "LoginUser_UsernamePattern": "Username must have min 3 characters",
- "LoginUser_UsernameRequired": "Username is required",
+ "LoginUser_BtnLogin": "Login",
+ "LoginUser_PasswordPattern": "The pattern of the password ([A-Za-z0-9_-] {{ '{' }}8,15{{ '}' }})",
+ "LoginUser_PasswordRequired": "Password is required",
+ "LoginUser_Password": "Password",
+ "LoginUser_Username": "Username",
+ "LoginUser_UsernamePattern": "Username must have min 3 characters",
+ "LoginUser_UsernameRequired": "Username is required",
- "LoginCreateUser_Firstname": "Firstname",
- "LoginCreateUser_FirstnameRequired": "Firstname is required",
- "LoginCreateUser_FirstnamePattern": "Firstname must have min 3 characters",
- "LoginCreateUser_Lastname": "Lastname",
- "LoginCreateUser_LastnameRequired": "Lastname is required",
- "LoginCreateUser_LastnamePattern": "Lastname must have min 3 characters",
- "LoginCreateUser_Email": "E-mail",
- "LoginCreateUser_EmailRequired": "E-mail is required",
- "LoginCreateUser_EmailPattern": "It's not a e-mail",
- "LoginCreateUser_Username": "Username",
- "LoginCreateUser_UsernameRequired": "Username is required",
- "LoginCreateUser_UsernamePattern": "Username must have min 3 characters",
- "LoginCreateUser_Password": "Password",
- "LoginCreateUser_PasswordRequired": "Password is required",
- "LoginCreateUser_PasswordPattern": "The pattern of the password ([A-Za-z0-9_-|/]{{ '{' }}8,15{{ '}' }})",
- "LoginCreateUser_BtnLogin": "Create user and login",
+ "CreateUser_Firstname": "Firstname",
+ "CreateUser_FirstnameRequired": "Firstname is required",
+ "CreateUser_FirstnamePattern": "Firstname must have min 3 characters",
+ "CreateUser_Lastname": "Lastname",
+ "CreateUser_LastnameRequired": "Lastname is required",
+ "CreateUser_LastnamePattern": "Lastname must have min 3 characters",
+ "CreateUser_Email": "E-mail",
+ "CreateUser_EmailRequired": "E-mail is required",
+ "CreateUser_EmailPattern": "It's not a e-mail",
+ "CreateUser_Username": "Username",
+ "CreateUser_UsernameRequired": "Username is required",
+ "CreateUser_UsernamePattern": "Username must have min 3 characters",
+ "CreateUser_Password": "Password",
+ "CreateUser_PasswordRequired": "Password is required",
+ "CreateUser_PasswordPattern": "The pattern of the password ([A-Za-z0-9_-|/]{{ '{' }}8,15{{ '}' }})",
+ "CreateUser_BtnLogin": "Create user and login",
- "Default_Title": "Home",
- "ListDz_Title": "List of DZs",
- "Summary_Title": "Summary",
- "NewJump_Title": "New jumps",
- "ListJumps_Title": "List of jumps",
- "ListJumpTypes_Title": "List of jump types",
- "ListGears_Title": "List of gears",
- "ListAircrafts_Title": "List of aircrafts",
- "NewTunnelFlight_Title": "New tunnel flights",
- "ListTunnelFlight_Title": "List of hours of tunnel",
- "UserProfile_Title": "User profile",
- "NewJumpType_Title": "New jmp type",
- "NewGear_Title": "New gear",
- "NewDz_Title": "New drop zone",
- "NewAircraft_Title": "New aircraft",
+ "Default_Title": "Home",
+ "ListDz_Title": "List of DZs",
+ "Summary_Title": "Summary",
+ "NewJump_Title": "New jumps",
+ "ListJumps_Title": "List of jumps",
+ "ListJumpTypes_Title": "List of jump types",
+ "ListGears_Title": "List of gears",
+ "ListAircrafts_Title": "List of aircrafts",
+ "NewTunnelFlight_Title": "New tunnel flights",
+ "ListTunnelFlight_Title": "List of hours of tunnel",
+ "UserProfile_Title": "User profile",
+ "NewJumpType_Title": "New jmp type",
+ "NewGear_Title": "New gear",
+ "NewDz_Title": "New drop zone",
+ "NewAircraft_Title": "New aircraft",
- "App_Footer": "Web software to log your skydive jumps - v",
- "App_Nav_Summary": "Summary",
- "App_Nav_Jumps": "List of jumps",
- "App_Nav_NewJump": "Add a new jump",
- "App_Nav_Dzs": "List of DZs",
- "App_Nav_Aircrafts": "List of aircrafts",
- "App_Nav_JumpTypes": "List of jump types",
- "App_Nav_Gears": "List of gears",
- "App_Nav_Logout": "Logout",
- "App_Nav_NewTunnelFlight": "Add tunnel time",
- "App_Nav_TunnelFlights": "The tunnel flights",
+ "App_Footer": "Web software to log your skydive jumps - v",
+ "App_Nav_Summary": "Summary",
+ "App_Nav_Jumps": "List of jumps",
+ "App_Nav_NewJump": "Add a new jump",
+ "App_Nav_Dzs": "List of DZs",
+ "App_Nav_Aircrafts": "List of aircrafts",
+ "App_Nav_JumpTypes": "List of jump types",
+ "App_Nav_Gears": "List of gears",
+ "App_Nav_Logout": "Logout",
+ "App_Nav_NewTunnelFlight": "Add tunnel time",
+ "App_Nav_TunnelFlights": "The tunnel flights",
- "ListAircrafts_Add": "Add a aircraft",
- "ListAircrafts_Header_Id": "ID",
- "ListAircrafts_Header_Name": "Name",
- "ListAircrafts_Header_Image": "Image",
+ "ListAircrafts_Add": "Add a aircraft",
+ "ListAircrafts_Header_Id": "ID",
+ "ListAircrafts_Header_Name": "Name",
+ "ListAircrafts_Header_Image": "Image",
- "ListGears_Add": "Add a gear",
- "ListGears_Header_Id": "ID",
- "ListGears_Header_Name": "Name",
- "ListGears_Header_Manufacturer": "Manufacturer",
- "ListGears_Header_CanopySize": "Canopy size",
- "ListGears_Header_Aad": "AAD system",
- "ListGears_Header_Main": "Main canopy",
- "ListGears_Header_Reserve": "Reserve canopy",
+ "ListGears_Add": "Add a gear",
+ "ListGears_Header_Id": "ID",
+ "ListGears_Header_Name": "Name",
+ "ListGears_Header_Manufacturer": "Manufacturer",
+ "ListGears_Header_CanopySize": "Canopy size",
+ "ListGears_Header_Aad": "AAD system",
+ "ListGears_Header_Main": "Main canopy",
+ "ListGears_Header_Reserve": "Reserve canopy",
- "ListJumpType_Add": "Add a jump type",
- "ListJumpType_Header_Id": "ID",
- "ListJumpType_Header_Name": "Name",
+ "ListJumpType_Add": "Add a jump type",
+ "ListJumpType_Header_Id": "ID",
+ "ListJumpType_Header_Name": "Name",
- "ListJump_Add": "Add jumps",
- "ListJump_Header_Num": "Num",
- "ListJump_Header_Date": "Date",
- "ListJump_Header_JumpType": "Jump Type",
- "ListJump_Header_Aircraft": "Aircraft",
- "ListJump_Header_Dz": "Drop Zone",
- "ListJump_Header_Gear": "Gear",
+ "ListJump_Add": "Add jumps",
+ "ListJump_Header_Num": "Num",
+ "ListJump_Header_Date": "Date",
+ "ListJump_Header_JumpType": "Jump Type",
+ "ListJump_Header_Aircraft": "Aircraft",
+ "ListJump_Header_Dz": "Drop Zone",
+ "ListJump_Header_Gear": "Gear",
- "ListDz_Add": "Add a drop zone",
- "ListDz_Header_ID": "ID",
- "ListDz_Header_Name": "Name",
- "ListDz_Header_Address": "Address",
- "ListDz_Header_Type": "Type",
- "ListDz_Filter": "Filter",
- "ListDz_Filter_PlaceHolder": "Filter on the name or address of center",
+ "ListDz_Add": "Add a drop zone",
+ "ListDz_Header_ID": "ID",
+ "ListDz_Header_Name": "Name",
+ "ListDz_Header_Address": "Address",
+ "ListDz_Header_Type": "Type",
+ "ListDz_Filter": "Filter",
+ "ListDz_Filter_PlaceHolder": "Filter on the name or address of center",
- "Summary_TotalJumps": "Total jumps",
- "Summary_TotalCutaways": "Total cutaways",
- "Summary_LastJump": "Last jump",
- "Summary_Refresh": "Refresh",
- "Summary_LastMonth_Title": "Jumps in the last month",
- "Summary_LastMonth_ByDz": "By DZ",
- "Summary_LastMonth_ByJumpType": "By jump type",
- "Summary_LastYear_Title": "Jumps in the last year",
- "Summary_LastYear_ByDz": "By DZ",
- "Summary_LastYear_ByJumpType": "By jump type",
- "Summary_ByDz_Title": "By DZ",
- "Summary_ByAircraft_Title": "By aircraft",
- "Summary_ByGear_Title": "By gear",
- "Summary_ByJumpType_Title": "By jump type",
- "Summary_ByYear_Title": "By year",
- "Summary_ByYearByJumpType_Title": "By year and by type",
+ "Summary_TotalJumps": "Total jumps",
+ "Summary_TotalCutaways": "Total cutaways",
+ "Summary_LastJump": "Last jump",
+ "Summary_Refresh": "Refresh",
+ "Summary_LastMonth_Title": "Jumps in the last month",
+ "Summary_LastMonth_ByDz": "By DZ",
+ "Summary_LastMonth_ByJumpType": "By jump type",
+ "Summary_LastYear_Title": "Jumps in the last year",
+ "Summary_LastYear_ByDz": "By DZ",
+ "Summary_LastYear_ByJumpType": "By jump type",
+ "Summary_ByDz_Title": "By DZ",
+ "Summary_ByAircraft_Title": "By aircraft",
+ "Summary_ByGear_Title": "By gear",
+ "Summary_ByJumpType_Title": "By jump type",
+ "Summary_ByYear_Title": "By year",
+ "Summary_ByYearByJumpType_Title": "By year and by type",
- "NewJump_GoToJump": "View the jumps",
- "NewJump_ResetForm": "Reset form after adding",
- "NewJump_ChooseJumpType": "Choose the jump type",
- "NewJump_ChooseAircraft": "Choose the aircraft",
- "NewJump_ChooseDz": "Choose the DZ",
- "NewJump_ChooseGear": "Choose the used gear",
- "NewJump_Cutaway": "With a cutaway ?",
- "NewJump_Special": "Is a special jump ?",
- "NewJump_ExitAlt": "Exit altitude",
- "NewJump_DeployAlt": "Deploy altitude",
- "NewJump_Count": "Count of jumps",
- "NewJump_Comments": "Comments",
- "NewJump_Submit": "Submit",
+ "NewJump_GoToJump": "View the jumps",
+ "NewJump_ResetForm": "Reset form after adding",
+ "NewJump_ChooseJumpType": "Choose the jump type",
+ "NewJump_ChooseAircraft": "Choose the aircraft",
+ "NewJump_ChooseDz": "Choose the DZ",
+ "NewJump_ChooseGear": "Choose the used gear",
+ "NewJump_Cutaway": "With a cutaway ?",
+ "NewJump_Special": "Is a special jump ?",
+ "NewJump_ExitAlt": "Exit altitude",
+ "NewJump_DeployAlt": "Deploy altitude",
+ "NewJump_Count": "Count of jumps",
+ "NewJump_Comments": "Comments",
+ "NewJump_Submit": "Submit",
- "NewTunnelFlight_ChooseTunnel": "Choose the tunnel",
- "NewTunnelFlight_Minutes": "Minutes of the flight",
- "NewTunnelFlight_Comments": "Comments",
- "NewTunnelFlight_Submit": "Submit",
- "NewTunnelFlight_Comments_Lbl": "Comments",
- "NewTunnelFlight_Minutes_Lbl": "Time of flight (minutes)",
- "NewTunnelFlight_Date_Lbl": "Date of flight",
- "NewTunnelFlight_GoToJump": "View the tunnel flights",
- "NewTunnelFlight_ChooseJumpType": "Choose the jump type",
+ "NewTunnelFlight_ChooseTunnel": "Choose the tunnel",
+ "NewTunnelFlight_Minutes": "Minutes of the flight",
+ "NewTunnelFlight_Comments": "Comments",
+ "NewTunnelFlight_Submit": "Submit",
+ "NewTunnelFlight_Comments_Lbl": "Comments",
+ "NewTunnelFlight_Minutes_Lbl": "Time of flight (minutes)",
+ "NewTunnelFlight_Date_Lbl": "Date of flight",
+ "NewTunnelFlight_GoToJump": "View the tunnel flights",
+ "NewTunnelFlight_ChooseJumpType": "Choose the jump type",
- "ListTunnelFlight_CurrentYear": "On the current year",
- "ListTunnelFlight_12Months": "On 12 last months",
- "ListTunnelFlight_Add": "Add tunnel flights",
- "ListTunnelFlight_LoadTable": "Load the tunnel flights",
- "ListTunnelFlight_AllFlights": "All"
+ "ListTunnelFlight_CurrentYear": "On the current year",
+ "ListTunnelFlight_12Months": "On 12 last months",
+ "ListTunnelFlight_Add": "Add tunnel flights",
+ "ListTunnelFlight_LoadTable": "Load the tunnel flights",
+ "ListTunnelFlight_AllFlights": "All",
+
+ "UserProfile_Update": "Update my profile",
+ "UserProfile_NewPassword": "New password",
+ "UserProfile_CurrentPassword": "Current password",
+ "UserProfile_Mail": "E-mail",
+ "UserProfile_Lastname": "Lastname",
+ "UserProfile_Firstname": "Firstname",
+ "UserProfile_Login": "Login"
}
diff --git a/Front/skydivelogs-app/src/assets/i18n/fr.json b/Front/skydivelogs-app/src/assets/i18n/fr.json
index a828ff1..3d6cdce 100644
--- a/Front/skydivelogs-app/src/assets/i18n/fr.json
+++ b/Front/skydivelogs-app/src/assets/i18n/fr.json
@@ -1,139 +1,147 @@
{
- "Login_Title": "Connexion à Skydive log",
- "Login_Tab_CreateUser": "Créer et se connecter",
- "Login_Tab_WithUser": "Se connecter",
+ "Login_Title": "Connexion à Skydive log",
+ "Login_Tab_CreateUser": "Créer et se connecter",
+ "Login_Tab_WithUser": "Se connecter",
- "LoginUser_BtnLogin": "Connecter",
- "LoginUser_PasswordPattern": "Le mot de passe doit contenir lettres minuscule/majuscule et entre 8 et 15 caractères.",
- "LoginUser_PasswordRequired": "Le mot de passe est obligatoire",
- "LoginUser_Password": "Mot de passe",
- "LoginUser_Username": "Identifiant",
- "LoginUser_UsernamePattern": "L'identifiant doit être minimum de 3 caractères",
- "LoginUser_UsernameRequired": "L'identifiant est obligatoire",
+ "LoginUser_BtnLogin": "Connecter",
+ "LoginUser_PasswordPattern": "Le mot de passe doit contenir lettres minuscule/majuscule et entre 8 et 15 caractères.",
+ "LoginUser_PasswordRequired": "Le mot de passe est obligatoire",
+ "LoginUser_Password": "Mot de passe",
+ "LoginUser_Username": "Identifiant",
+ "LoginUser_UsernamePattern": "L'identifiant doit être minimum de 3 caractères",
+ "LoginUser_UsernameRequired": "L'identifiant est obligatoire",
- "LoginCreateUser_Firstname": "Prénom",
- "LoginCreateUser_FirstnameRequired": "Le prénom est obligatoire",
- "LoginCreateUser_FirstnamePattern": "Le prénom doit être minimum de 3 caractères",
- "LoginCreateUser_Lastname": "Nom",
- "LoginCreateUser_LastnameRequired": "Le nom est obligatoire",
- "LoginCreateUser_LastnamePattern": "Le nom doit être minimum de 3 caractères",
- "LoginCreateUser_Email": "E-mail",
- "LoginCreateUser_EmailRequired": "E-mail est obligatoire",
- "LoginCreateUser_EmailPattern": "Ceci n'est pas un adresse mail",
- "LoginCreateUser_Username": "Identifiant",
- "LoginCreateUser_UsernameRequired": "L'identifiant est obligatoire",
- "LoginCreateUser_UsernamePattern": "L'identifiant doit être minimum de 3 caractères",
- "LoginCreateUser_Password": "Mot de passe",
- "LoginCreateUser_PasswordRequired": "Le mot de passe est obligatoire",
- "LoginCreateUser_PasswordPattern": "Le mot de passe doit contenir lettres minuscule/majuscule et entre 8 et 15 caractères.",
- "LoginCreateUser_BtnLogin": "Créer et se connecter",
+ "CreateUser_Firstname": "Prénom",
+ "CreateUser_FirstnameRequired": "Le prénom est obligatoire",
+ "CreateUser_FirstnamePattern": "Le prénom doit être minimum de 3 caractères",
+ "CreateUser_Lastname": "Nom",
+ "CreateUser_LastnameRequired": "Le nom est obligatoire",
+ "CreateUser_LastnamePattern": "Le nom doit être minimum de 3 caractères",
+ "CreateUser_Email": "E-mail",
+ "CreateUser_EmailRequired": "E-mail est obligatoire",
+ "CreateUser_EmailPattern": "Ceci n'est pas un adresse mail",
+ "CreateUser_Username": "Identifiant",
+ "CreateUser_UsernameRequired": "L'identifiant est obligatoire",
+ "CreateUser_UsernamePattern": "L'identifiant doit être minimum de 3 caractères",
+ "CreateUser_Password": "Mot de passe",
+ "CreateUser_PasswordRequired": "Le mot de passe est obligatoire",
+ "CreateUser_PasswordPattern": "Le mot de passe doit contenir lettres minuscule/majuscule et entre 8 et 15 caractères.",
+ "CreateUser_BtnLogin": "Créer et se connecter",
- "Default_Title": "Accueil",
- "ListDz_Title": "Liste des centres de parachutisme",
- "Summary_Title": "Récapitulatif",
- "NewJump_Title": "Nouveaux sauts",
- "ListJumps_Title": "Liste des sauts",
- "ListJumpTypes_Title": "Liste des types de saut",
- "ListGears_Title": "Liste des pièges",
- "ListAircrafts_Title": "Liste des avions",
- "NewTunnelFlight_Title": "Nouveaux créneaux de soufflerie",
- "ListTunnelFlight_Title": "Heures de tunnel",
- "UserProfile_Title": "Profile utilisateur",
- "NewJumpType_Title": "Nouveau type de saut",
- "NewGear_Title": "Nouveau piège",
- "NewDz_Title": "Nouveau centre",
- "NewAircraft_Title": "Nouvel avion",
+ "Default_Title": "Accueil",
+ "ListDz_Title": "Liste des centres de parachutisme",
+ "Summary_Title": "Récapitulatif",
+ "NewJump_Title": "Nouveaux sauts",
+ "ListJumps_Title": "Liste des sauts",
+ "ListJumpTypes_Title": "Liste des types de saut",
+ "ListGears_Title": "Liste des pièges",
+ "ListAircrafts_Title": "Liste des avions",
+ "NewTunnelFlight_Title": "Nouveaux créneaux de soufflerie",
+ "ListTunnelFlight_Title": "Heures de tunnel",
+ "UserProfile_Title": "Profile utilisateur",
+ "NewJumpType_Title": "Nouveau type de saut",
+ "NewGear_Title": "Nouveau piège",
+ "NewDz_Title": "Nouveau centre",
+ "NewAircraft_Title": "Nouvel avion",
- "App_Footer": "Application pour enregistrer ses sauts de parachutisme - v",
- "App_Nav_Summary": "Récapitulatif",
- "App_Nav_Jumps": "Les sauts",
- "App_Nav_NewJump": "Ajouter un saut",
- "App_Nav_Dzs": "Centre de parachutisme",
- "App_Nav_Aircrafts": "Avions",
- "App_Nav_JumpTypes": "Type de saut",
- "App_Nav_Gears": "Pièges",
- "App_Nav_Logout": "Se déconnecter",
- "App_Nav_NewTunnelFlight": "Ajouter du temps en tunnel",
- "App_Nav_TunnelFlights": "Les vols en soufflerie",
+ "App_Footer": "Application pour enregistrer ses sauts de parachutisme - v",
+ "App_Nav_Summary": "Récapitulatif",
+ "App_Nav_Jumps": "Les sauts",
+ "App_Nav_NewJump": "Ajouter un saut",
+ "App_Nav_Dzs": "Centre de parachutisme",
+ "App_Nav_Aircrafts": "Avions",
+ "App_Nav_JumpTypes": "Type de saut",
+ "App_Nav_Gears": "Pièges",
+ "App_Nav_Logout": "Se déconnecter",
+ "App_Nav_NewTunnelFlight": "Ajouter du temps en tunnel",
+ "App_Nav_TunnelFlights": "Les vols en soufflerie",
- "ListAircrafts_Add": "Ajouter un avion",
- "ListAircrafts_Header_Id": "ID",
- "ListAircrafts_Header_Name": "Nom",
- "ListAircrafts_Header_Image": "Image",
+ "ListAircrafts_Add": "Ajouter un avion",
+ "ListAircrafts_Header_Id": "ID",
+ "ListAircrafts_Header_Name": "Nom",
+ "ListAircrafts_Header_Image": "Image",
- "ListGears_Add": "Ajouter un piège",
- "ListGears_Header_Id": "ID",
- "ListGears_Header_Name": "Nom",
- "ListGears_Header_Manufacturer": "Fabriquant",
- "ListGears_Header_CanopySize": "Taille de voile",
- "ListGears_Header_Aad": "Système de sécurité",
- "ListGears_Header_Main": "Principale",
- "ListGears_Header_Reserve": "Réserve",
+ "ListGears_Add": "Ajouter un piège",
+ "ListGears_Header_Id": "ID",
+ "ListGears_Header_Name": "Nom",
+ "ListGears_Header_Manufacturer": "Fabriquant",
+ "ListGears_Header_CanopySize": "Taille de voile",
+ "ListGears_Header_Aad": "Système de sécurité",
+ "ListGears_Header_Main": "Principale",
+ "ListGears_Header_Reserve": "Réserve",
- "ListJumpType_Add": "Ajouter un type de saut",
- "ListJumpType_Header_Id": "ID",
- "ListJumpType_Header_Name": "Nom",
+ "ListJumpType_Add": "Ajouter un type de saut",
+ "ListJumpType_Header_Id": "ID",
+ "ListJumpType_Header_Name": "Nom",
- "ListJump_Add": "Ajouter des sauts",
- "ListJump_Header_Num": "Numéro",
- "ListJump_Header_Date": "Date",
- "ListJump_Header_JumpType": "Type de saut",
- "ListJump_Header_Aircraft": "Avion",
- "ListJump_Header_Dz": "Centre",
- "ListJump_Header_Gear": "Piège",
+ "ListJump_Add": "Ajouter des sauts",
+ "ListJump_Header_Num": "Numéro",
+ "ListJump_Header_Date": "Date",
+ "ListJump_Header_JumpType": "Type de saut",
+ "ListJump_Header_Aircraft": "Avion",
+ "ListJump_Header_Dz": "Centre",
+ "ListJump_Header_Gear": "Piège",
- "ListDz_Add": "Ajouter un centre de parachutisme",
- "ListDz_Header_ID": "ID",
- "ListDz_Header_Name": "Nom",
- "ListDz_Header_Address": "Adresse",
- "ListDz_Header_Type": "Type",
- "ListDz_Filter": "Filtrer",
- "ListDz_Filter_PlaceHolder": "Filtrer sur le nom ou l'adresse du centre",
+ "ListDz_Add": "Ajouter un centre de parachutisme",
+ "ListDz_Header_ID": "ID",
+ "ListDz_Header_Name": "Nom",
+ "ListDz_Header_Address": "Adresse",
+ "ListDz_Header_Type": "Type",
+ "ListDz_Filter": "Filtrer",
+ "ListDz_Filter_PlaceHolder": "Filtrer sur le nom ou l'adresse du centre",
- "Summary_TotalJumps": "Nombre de sauts",
- "Summary_TotalCutaways": "Nombre de libération",
- "Summary_LastJump": "Le dernier saut",
- "Summary_Refresh": "Refresh",
- "Summary_LastMonth_Title": "Les sauts du dernier mois",
- "Summary_LastMonth_ByDz": "Par centre",
- "Summary_LastMonth_ByJumpType": "Par type de saut",
- "Summary_LastYear_Title": "Les sauts de la dernière année",
- "Summary_LastYear_ByDz": "Par centre",
- "Summary_LastYear_ByJumpType": "Par type de saut",
- "Summary_ByDz_Title": "Par centre",
- "Summary_ByAircraft_Title": "Par avion",
- "Summary_ByGear_Title": "Par piège",
- "Summary_ByJumpType_Title": "Par type de saut",
- "Summary_ByYear_Title": "Par an",
- "Summary_ByYearByJumpType_Title": "Par an et par type",
+ "Summary_TotalJumps": "Nombre de sauts",
+ "Summary_TotalCutaways": "Nombre de libération",
+ "Summary_LastJump": "Le dernier saut",
+ "Summary_Refresh": "Refresh",
+ "Summary_LastMonth_Title": "Les sauts du dernier mois",
+ "Summary_LastMonth_ByDz": "Par centre",
+ "Summary_LastMonth_ByJumpType": "Par type de saut",
+ "Summary_LastYear_Title": "Les sauts de la dernière année",
+ "Summary_LastYear_ByDz": "Par centre",
+ "Summary_LastYear_ByJumpType": "Par type de saut",
+ "Summary_ByDz_Title": "Par centre",
+ "Summary_ByAircraft_Title": "Par avion",
+ "Summary_ByGear_Title": "Par piège",
+ "Summary_ByJumpType_Title": "Par type de saut",
+ "Summary_ByYear_Title": "Par an",
+ "Summary_ByYearByJumpType_Title": "Par an et par type",
- "NewJump_GoToJump": "Voir les sauts",
- "NewJump_ResetForm": "Reset du formulaire après l'ajout",
- "NewJump_ChooseJumpType": "Choisir le type de saut",
- "NewJump_ChooseAircraft": "Choisir l'avion largueur",
- "NewJump_ChooseDz": "Choisir le centre",
- "NewJump_ChooseGear": "Choisir le piège",
- "NewJump_Cutaway": "Libération ?",
- "NewJump_Special": "Saut spécial ?",
- "NewJump_ExitAlt": "Altitude de sortie",
- "NewJump_DeployAlt": "Altitude d'ouverture",
- "NewJump_Count": "Nombre de sauts",
- "NewJump_Comments": "Commentaires",
- "NewJump_Submit": "Ajouter",
+ "NewJump_GoToJump": "Voir les sauts",
+ "NewJump_ResetForm": "Reset du formulaire après l'ajout",
+ "NewJump_ChooseJumpType": "Choisir le type de saut",
+ "NewJump_ChooseAircraft": "Choisir l'avion largueur",
+ "NewJump_ChooseDz": "Choisir le centre",
+ "NewJump_ChooseGear": "Choisir le piège",
+ "NewJump_Cutaway": "Libération ?",
+ "NewJump_Special": "Saut spécial ?",
+ "NewJump_ExitAlt": "Altitude de sortie",
+ "NewJump_DeployAlt": "Altitude d'ouverture",
+ "NewJump_Count": "Nombre de sauts",
+ "NewJump_Comments": "Commentaires",
+ "NewJump_Submit": "Ajouter",
- "NewTunnelFlight_ChooseTunnel": "Choisir le tunnel",
- "NewTunnelFlight_Minutes": "Temps de vol(minutes)",
- "NewTunnelFlight_Comments": "Commentaires",
- "NewTunnelFlight_Submit": "Ajouter",
- "NewTunnelFlight_Comments_Lbl": "Commentaires",
- "NewTunnelFlight_Minutes_Lbl": "Temps de vol(minutes)",
- "NewTunnelFlight_Date_Lbl": "Date des vols",
- "NewTunnelFlight_GoToJump": "Voir les temps de vol en soufflerie",
- "NewTunnelFlight_ChooseJumpType": "Choisir le type de saut",
+ "NewTunnelFlight_ChooseTunnel": "Choisir le tunnel",
+ "NewTunnelFlight_Minutes": "Temps de vol(minutes)",
+ "NewTunnelFlight_Comments": "Commentaires",
+ "NewTunnelFlight_Submit": "Ajouter",
+ "NewTunnelFlight_Comments_Lbl": "Commentaires",
+ "NewTunnelFlight_Minutes_Lbl": "Temps de vol(minutes)",
+ "NewTunnelFlight_Date_Lbl": "Date des vols",
+ "NewTunnelFlight_GoToJump": "Voir les temps de vol en soufflerie",
+ "NewTunnelFlight_ChooseJumpType": "Choisir le type de saut",
- "ListTunnelFlight_CurrentYear": "Dans l'année en cours",
- "ListTunnelFlight_12Months": "Sur 12 derniers mois",
- "ListTunnelFlight_Add": "Ajouter du temps en soufflerie",
- "ListTunnelFlight_LoadTable": "Charger les vols en tunnel",
- "ListTunnelFlight_AllFlights": "Tous les vols"
+ "ListTunnelFlight_CurrentYear": "Dans l'année en cours",
+ "ListTunnelFlight_12Months": "Sur 12 derniers mois",
+ "ListTunnelFlight_Add": "Ajouter du temps en soufflerie",
+ "ListTunnelFlight_LoadTable": "Charger les vols en tunnel",
+ "ListTunnelFlight_AllFlights": "Tous les vols",
+
+ "UserProfile_Update": "Mise à jour",
+ "UserProfile_NewPassword": "Nouveau mot de passe",
+ "UserProfile_CurrentPassword": "Actuel mot de passe",
+ "UserProfile_Mail": "E-mail",
+ "UserProfile_Lastname": "Nom",
+ "UserProfile_Firstname": "Prénom",
+ "UserProfile_Login": "Identifiant"
}
diff --git a/doc.txt b/doc.txt
index e847648..dd5eca8 100644
--- a/doc.txt
+++ b/doc.txt
@@ -1,7 +1,11 @@
-To build an image "toto" with the version "0.1": podman build . -t skydivelogs:1.5.0
+To build an image "skydivelogs" with the version "1.5.5":
+ podman build . -t skydivelogs:1.5.5
+
To run ab image to container with volume :
- podman run -v C:\toto\config:/app/Front/config -v C:\toto\db:/app/API/Data -d -p 5080:80/tcp --name Test -it skydivelogs:1.5.0
+ podman run -v ./Front/skydivelogs-app/src/config:/usr/share/nginx/html/config:z -v ./Back/skydiveLogs-api/Data:/app/Data:z -d -p 5080:80/tcp --name Skydivelogs-1.5.5 -it skydivelogs:1.5.5
-podman save --output skydivelogs-1.5.0.tar skydivelogs:1.5.0
+To save the image before to updload to the server :
+ podman save --output skydivelogs-1.5.5.tar skydivelogs:1.5.5
-scp -P 5022 skydivelogs-1.5.0.tar administrator@51.75.68.58:~
+Updload to the server :
+ scp -P 5022 skydivelogs-1.5.5.tar administrator@51.75.68.58:~
diff --git a/startup.sh b/startup.sh
deleted file mode 100644
index fecf36b..0000000
--- a/startup.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-service nginx start
-
-cd /app/API/
-dotnet skydiveLogs-api.dll
\ No newline at end of file