diff --git a/.env.example b/.env.example index 9e3af34..5c1f444 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,26 @@ -# Nx Cloud NX_CLOUD_ACCESS_TOKEN="fake-token" + +######### Aplication ######### + +# Environment +NODE_ENV="development" +PORT=3333 + +# Auth +JWT_SECRET="secret" +API_KEY="api-key" +JWT_PRIVATE_KEY= + +JWT_PUBLIC_KEY= + +######### Database ######### + +# PostegreSQL Prisma +POSTGRES_USER=cliniccontrol +POSTGRES_PASSWORD=cliniccontrolpassword +POSTGRES_DB=core-rest-api +POSTGRES_HOST=localhost +POSTGRES_PORT=5432 +POSTGRES_SCHEMA=public + +DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/${POSTGRES_DB}?schema=${POSTGRES_SCHEMA} diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c02e204..5cea74d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -9,14 +9,14 @@ # the `language` matrix defined below to confirm you have the correct set of # supported CodeQL languages. # -name: "CodeQL" +name: 'CodeQL' on: push: - branches: [ "main" ] + branches: ['main'] pull_request: # The branches below must be a subset of the branches above - branches: [ "main" ] + branches: ['main'] schedule: - cron: '22 1 * * 0' @@ -38,45 +38,44 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'javascript' ] + language: ['javascript'] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ] # Use only 'java' to analyze code written in Java, Kotlin or both # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support steps: - - name: Checkout repository - uses: actions/checkout@v3 + - name: Checkout repository + uses: actions/checkout@v4 - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 - with: - category: "/language:${{matrix.language}}" + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: '/language:${{matrix.language}}' diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index b0dedc4..4e75197 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -15,6 +15,6 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: 'Dependency Review' uses: actions/dependency-review-action@v3 diff --git a/.github/workflows/tests-pipeline.yml b/.github/workflows/tests-pipeline.yml index d241d24..bbcdc07 100644 --- a/.github/workflows/tests-pipeline.yml +++ b/.github/workflows/tests-pipeline.yml @@ -13,6 +13,15 @@ env: jobs: tests-pipeline: runs-on: ubuntu-latest + env: + JWT_PRIVATE_KEY: ${{ secrets.JWT_PRIVATE_KEY }} + JWT_PUBLIC_KEY: ${{ secrets.JWT_PUBLIC_KEY }} + POSTGRES_USER: ${{ secrets.POSTGRES_USER }} + POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} + POSTGRES_DB: ${{ secrets.POSTGRES_DB }} + POSTGRES_HOST: ${{ secrets.POSTGRES_HOST }} + POSTGRES_SCHEMA: ${{ secrets.POSTGRES_SCHEMA }} + API_KEY: ${{ secrets.API_KEY }} defaults: run: @@ -20,7 +29,7 @@ jobs: steps: - name: 'Checkout Repository' - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install PNPM uses: pnpm/action-setup@v2.2.1 @@ -30,5 +39,20 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile - - name: Run tests + - name: Set up environment variables + run: | + echo "DATABASE_URL=postgresql://${{ secrets.POSTGRES_USER }}:${{ secrets.POSTGRES_PASSWORD }}@localhost:5432/${{ secrets.POSTGRES_DB }}?schema=${{ secrets.POSTGRES_SCHEMA }}" >> $GITHUB_ENV + + - name: Setting up docker compose + run: docker compose up -d + + - name: Setting up prisma postgresql database + run: | + pnpm run prisma:core:schema:generate + pnpm run prisma:core:schema:migrate + + - name: Run E2E Tests + run: pnpm run test:e2e + + - name: Run Unit Tests run: pnpm run test:unit diff --git a/.gitignore b/.gitignore index 79814d6..cd08d50 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,6 @@ testem.log Thumbs.db # Next.js -.next \ No newline at end of file +.next + +data diff --git a/.husky/commit-msg b/.husky/commit-msg index b567676..292c394 100755 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1,4 +1,4 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -npx --no -- commitlint --edit "$1" +npx --yes -- commitlint --edit "$1" diff --git a/.husky/pre-commit b/.husky/pre-commit index 95c0da8..d2c81b7 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,7 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -pnpm test:unit +echo "Husky pre commit script..." +echo "Running Unit Tests..." + +pnpm run test:unit diff --git a/.prettierrc b/.prettierrc index 544138b..870f5e6 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,3 +1,4 @@ { - "singleQuote": true + "singleQuote": true, + "printWidth": 90 } diff --git a/.vscode/settings.json b/.vscode/settings.json index d5b3210..0e24cc5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,12 +8,26 @@ "editor.formatOnSave": true, "cSpell.words": [ "Amaral", + "cacheable", + "cliniccontrol", "CODEOWNERS", + "commitlint", + "conventionalcommits", "CQRS", + "github", + "GITHUB", "instanceof", "italo", "keyof", "Luana", + "nestjs", + "postgre", + "Postgre", + "postgresql", + "Postgresql", + "preid", + "Rockenbach", + "unplugin", "Vefago" ], "cSpell.language": "en,pt-BR" diff --git a/README.md b/README.md index 804fe20..3a51067 100644 --- a/README.md +++ b/README.md @@ -184,3 +184,5 @@ Distributed under the MIT License. See [LICENSE](https://github.com/italoRAmaral - [Explore](https://github.com/amaralc/explore) - [DDD Hexagonal CQRS ES EDA](https://github.com/bitloops/ddd-hexagonal-cqrs-es-eda) - [Domain Driven Hexagon](https://github.com/Sairyss/domain-driven-hexagon) + +. diff --git a/apps/core-rest-api/package.json b/apps/core-rest-api/package.json index 587fc9f..f34869c 100644 --- a/apps/core-rest-api/package.json +++ b/apps/core-rest-api/package.json @@ -8,8 +8,8 @@ "email": "italorockamaral@gmail.com" }, { - "name": "Luana Vefago", - "email": "" + "name": "Luana Vefago dos Santos", + "email": "luanavefago1@gmail.com" } ] } diff --git a/apps/core-rest-api/src/guards/api-key.guard.spec.ts b/apps/core-rest-api/src/guards/api-key.guard.spec.ts deleted file mode 100644 index 3ce2f4a..0000000 --- a/apps/core-rest-api/src/guards/api-key.guard.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ApiKeyGuard } from './api-key.guard'; - -describe('ApiKeyGuard', () => { - it('should be defined', () => { - expect(new ApiKeyGuard()).toBeDefined(); - }); -}); diff --git a/apps/core-rest-api/src/guards/api-key.guard.ts b/apps/core-rest-api/src/guards/api-key.guard.ts deleted file mode 100644 index 01c1bc8..0000000 --- a/apps/core-rest-api/src/guards/api-key.guard.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common'; -import { Observable } from 'rxjs'; - -@Injectable() -export class ApiKeyGuard implements CanActivate { - canActivate( - context: ExecutionContext - ): boolean | Promise | Observable { - return true; - } -} diff --git a/apps/core-rest-api/src/main.ts b/apps/core-rest-api/src/main.ts index 5f9ffd7..8606d01 100644 --- a/apps/core-rest-api/src/main.ts +++ b/apps/core-rest-api/src/main.ts @@ -2,19 +2,19 @@ * This is not a production server yet! * This is only a minimal backend to get started. */ -import { Logger, ValidationPipe, INestApplication } from '@nestjs/common'; -import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; +import { version } from '@clinicControl/root/package.json'; +import { INestApplication, Logger, ValidationPipe, VersioningType } from '@nestjs/common'; import { NestFactory } from '@nestjs/core'; -import { version } from "@clinicControl/root/package.json" - +import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; -import { AppModule } from './app/app.module'; +import { ApiModule } from '@clinicControl/core-rest-api/adapters/src/controllers/api/api.module'; +import { EnvService } from '@clinicControl/core-rest-api/adapters/src/env/env.service'; const setupOpenApi = (app: INestApplication) => { // Setting up Swagger document const options = new DocumentBuilder() - .setTitle('Clinic Controll Restful API') - .setDescription('Clinic Controll Restful API') + .setTitle('Clinic Control Restful API') + .setDescription('Clinic Control Restful API') .setVersion(version) .build(); @@ -23,8 +23,8 @@ const setupOpenApi = (app: INestApplication) => { }; async function bootstrap() { - const app = await NestFactory.create(AppModule); - const globalPrefix = 'api'; + const app = await NestFactory.create(ApiModule); + const globalPrefix = 'core'; app.setGlobalPrefix(globalPrefix); app.useGlobalPipes( @@ -35,15 +35,18 @@ async function bootstrap() { }) ); + // Enable version + app.enableVersioning({ type: VersioningType.URI }); + // Setting up Swagger document setupOpenApi(app); // Listen on specified port - const port = process.env.PORT || 3000; + const configService = app.get(EnvService); + const port = configService.get('PORT'); + await app.listen(port); - Logger.log( - `🚀 Application is running on: http://localhost:${port}/${globalPrefix}` - ); + Logger.log(`🚀 Application is running on: http://localhost:${port}/${globalPrefix}`); } bootstrap(); diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..ffe5f2a --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,25 @@ +version: '3.8' + +volumes: + # postgresql data + core-rest-api-postgres-data: + driver: local + +services: + postgres: + container_name: core-rest-api-pg + image: postgres + ports: + - 5432:5432 + environment: + POSTGRES_USER: cliniccontrol + POSTGRES_PASSWORD: cliniccontrolpassword + POSTGRES_DB: core-rest-api + POSTGRES_HOST: localhost + POSTGRES_PORT: 5432 + POSTGRES_SCHEMA: public + + # PGDATA: /data/postgres + volumes: + # - ./data/pg:/data/postgres + - core-rest-api-postgres-data:/var/lib/postgresql/data diff --git a/docs/others/links-to-read.md b/docs/others/links-to-read.md index 1cbe641..2c0c61b 100644 --- a/docs/others/links-to-read.md +++ b/docs/others/links-to-read.md @@ -26,3 +26,17 @@ type guard error handling: https://www.youtube.com/watch?v=xdQkEn3mx1k&t=114s -- https://aykhanhuseyn.medium.com/typescript-naming-conventions-crafting-maintainable-code-7d872234fe17 + +-- + +# generate private key + +openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048 + +# generate public key + +openssl rsa -pubout -in private_key.pem -out public_key.pem + +base64 -i private_key.pem -o private_key-base64.txt + +https://www.elvisduru.com/blog/nestjs-jwt-authentication-refresh-token diff --git a/docs/others/psycologist.excalidraw b/docs/others/psycologist.excalidraw index de67246..e5fb870 100644 --- a/docs/others/psycologist.excalidraw +++ b/docs/others/psycologist.excalidraw @@ -36,8 +36,8 @@ }, { "type": "text", - "version": 243, - "versionNonce": 231005601, + "version": 245, + "versionNonce": 2007514357, "isDeleted": false, "id": "aEf_yBUOMPcdOUzGkMIHk", "fillStyle": "hachure", @@ -56,7 +56,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764270, + "updated": 1695298534148, "link": null, "locked": false, "fontSize": 20, @@ -71,8 +71,8 @@ }, { "type": "text", - "version": 560, - "versionNonce": 1136265455, + "version": 562, + "versionNonce": 1673394395, "isDeleted": false, "id": "opNE6O16O8eDyh0HyYc_f", "fillStyle": "hachure", @@ -91,7 +91,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764271, + "updated": 1695298534150, "link": null, "locked": false, "fontSize": 16, @@ -149,8 +149,8 @@ }, { "type": "text", - "version": 566, - "versionNonce": 1937408385, + "version": 568, + "versionNonce": 970905173, "isDeleted": false, "id": "E5mnfi_BWzBre_DAPvYoB", "fillStyle": "hachure", @@ -174,7 +174,7 @@ "type": "arrow" } ], - "updated": 1692624764273, + "updated": 1695298534152, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -189,8 +189,8 @@ }, { "type": "text", - "version": 660, - "versionNonce": 2022249231, + "version": 662, + "versionNonce": 2027955579, "isDeleted": false, "id": "b5VKF377RiQk6NQaYS7_C", "fillStyle": "hachure", @@ -209,7 +209,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764274, + "updated": 1695298534154, "link": null, "locked": false, "fontSize": 16, @@ -224,8 +224,8 @@ }, { "type": "text", - "version": 715, - "versionNonce": 2123409761, + "version": 717, + "versionNonce": 549143477, "isDeleted": false, "id": "Ftmlkt6vPCs44KnkrURY5", "fillStyle": "hachure", @@ -244,7 +244,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764275, + "updated": 1695298534155, "link": null, "locked": false, "fontSize": 16, @@ -259,8 +259,8 @@ }, { "type": "text", - "version": 804, - "versionNonce": 1865537839, + "version": 806, + "versionNonce": 1314111003, "isDeleted": false, "id": "CtmnMXRLWsRkEag25RhId", "fillStyle": "hachure", @@ -279,7 +279,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764276, + "updated": 1695298534156, "link": null, "locked": false, "fontSize": 16, @@ -294,8 +294,8 @@ }, { "type": "text", - "version": 881, - "versionNonce": 945214785, + "version": 883, + "versionNonce": 1080231189, "isDeleted": false, "id": "wn4PqMPuugA5MAJOHkzs-", "fillStyle": "hachure", @@ -314,7 +314,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764277, + "updated": 1695298534157, "link": null, "locked": false, "fontSize": 16, @@ -329,8 +329,8 @@ }, { "type": "text", - "version": 981, - "versionNonce": 1025301327, + "version": 983, + "versionNonce": 789267131, "isDeleted": false, "id": "CnXJywRK23YfbTr3i4FM-", "fillStyle": "hachure", @@ -349,7 +349,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764278, + "updated": 1695298534158, "link": null, "locked": false, "fontSize": 16, @@ -364,8 +364,8 @@ }, { "type": "text", - "version": 1340, - "versionNonce": 1412203809, + "version": 1342, + "versionNonce": 206281333, "isDeleted": false, "id": "4JPzoW0AgswHewy5ahYYQ", "fillStyle": "hachure", @@ -384,7 +384,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764278, + "updated": 1695298534159, "link": null, "locked": false, "fontSize": 16, @@ -700,8 +700,8 @@ }, { "type": "text", - "version": 1401, - "versionNonce": 916625775, + "version": 1403, + "versionNonce": 1672033115, "isDeleted": false, "id": "eYAHTfOkCswRgZBi_on17", "fillStyle": "hachure", @@ -720,7 +720,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764279, + "updated": 1695298534160, "link": null, "locked": false, "fontSize": 16, @@ -813,8 +813,8 @@ }, { "type": "text", - "version": 603, - "versionNonce": 1837185281, + "version": 605, + "versionNonce": 1832551381, "isDeleted": false, "id": "n-21Q0XtmqcD13-Zur3Sm", "fillStyle": "hachure", @@ -833,7 +833,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764280, + "updated": 1695298534161, "link": null, "locked": false, "fontSize": 20, @@ -848,8 +848,8 @@ }, { "type": "text", - "version": 975, - "versionNonce": 285971343, + "version": 977, + "versionNonce": 2088767483, "isDeleted": false, "id": "ty1l27IiW91fqQOrjcwmC", "fillStyle": "hachure", @@ -868,7 +868,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764280, + "updated": 1695298534162, "link": null, "locked": false, "fontSize": 16, @@ -926,8 +926,8 @@ }, { "type": "text", - "version": 980, - "versionNonce": 97808609, + "version": 982, + "versionNonce": 390414645, "isDeleted": false, "id": "izk0pFZ1_wfL4UEi-xE4_", "fillStyle": "hachure", @@ -946,7 +946,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764280, + "updated": 1695298534163, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -961,8 +961,8 @@ }, { "type": "text", - "version": 1075, - "versionNonce": 1150306735, + "version": 1077, + "versionNonce": 1536317595, "isDeleted": false, "id": "bGriFb89-q3zqJTu5jVg3", "fillStyle": "hachure", @@ -981,7 +981,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764281, + "updated": 1695298534165, "link": null, "locked": false, "fontSize": 16, @@ -996,8 +996,8 @@ }, { "type": "text", - "version": 1130, - "versionNonce": 1119202497, + "version": 1132, + "versionNonce": 533811861, "isDeleted": false, "id": "U71v8zFQ4RrLhxxgMCTFT", "fillStyle": "hachure", @@ -1016,7 +1016,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764282, + "updated": 1695298534167, "link": null, "locked": false, "fontSize": 16, @@ -1031,8 +1031,8 @@ }, { "type": "text", - "version": 1223, - "versionNonce": 777599951, + "version": 1225, + "versionNonce": 2123533627, "isDeleted": false, "id": "j3ZNF17KkCP4HHS5vvPTr", "fillStyle": "hachure", @@ -1051,7 +1051,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764283, + "updated": 1695298534168, "link": null, "locked": false, "fontSize": 16, @@ -1066,8 +1066,8 @@ }, { "type": "text", - "version": 1315, - "versionNonce": 1808034977, + "version": 1317, + "versionNonce": 1402222581, "isDeleted": false, "id": "JTuqNNQQWqoSvQqKvYZWy", "fillStyle": "hachure", @@ -1086,7 +1086,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764284, + "updated": 1695298534170, "link": null, "locked": false, "fontSize": 16, @@ -1101,8 +1101,8 @@ }, { "type": "text", - "version": 1632, - "versionNonce": 1920920047, + "version": 1634, + "versionNonce": 149106139, "isDeleted": false, "id": "YDFarGdKyaFUEDFwFOwEc", "fillStyle": "hachure", @@ -1121,7 +1121,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764286, + "updated": 1695298534171, "link": null, "locked": false, "fontSize": 16, @@ -1480,8 +1480,8 @@ }, { "type": "text", - "version": 1854, - "versionNonce": 682635393, + "version": 1856, + "versionNonce": 1284731221, "isDeleted": false, "id": "mCmjRSOMQOZZpCT_pqNFw", "fillStyle": "hachure", @@ -1500,7 +1500,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764288, + "updated": 1695298534173, "link": null, "locked": false, "fontSize": 16, @@ -1515,8 +1515,8 @@ }, { "type": "text", - "version": 1185, - "versionNonce": 503960591, + "version": 1187, + "versionNonce": 227981947, "isDeleted": false, "id": "n6izkMQCoC-0891LmPZsr", "fillStyle": "hachure", @@ -1540,7 +1540,7 @@ "type": "arrow" } ], - "updated": 1692624764289, + "updated": 1695298534174, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -1555,8 +1555,8 @@ }, { "type": "text", - "version": 1271, - "versionNonce": 2134407265, + "version": 1273, + "versionNonce": 1210351285, "isDeleted": false, "id": "6dF8AHf22ozJhgPF3BwSS", "fillStyle": "hachure", @@ -1575,7 +1575,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764290, + "updated": 1695298534175, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -1590,8 +1590,8 @@ }, { "type": "text", - "version": 1675, - "versionNonce": 150108719, + "version": 1677, + "versionNonce": 426750747, "isDeleted": false, "id": "VaNaolGKiGt6ydiB9NRSD", "fillStyle": "hachure", @@ -1610,7 +1610,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764291, + "updated": 1695298534176, "link": null, "locked": false, "fontSize": 16, @@ -1651,8 +1651,8 @@ }, { "type": "text", - "version": 921, - "versionNonce": 288146497, + "version": 923, + "versionNonce": 1022156821, "isDeleted": false, "id": "odtGUoxiDhfovr20IvXqh", "fillStyle": "hachure", @@ -1671,7 +1671,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764292, + "updated": 1695298534177, "link": null, "locked": false, "fontSize": 20, @@ -1686,8 +1686,8 @@ }, { "type": "text", - "version": 1282, - "versionNonce": 2015452239, + "version": 1284, + "versionNonce": 2095093691, "isDeleted": false, "id": "W93XmVBMLJKfQa-xxmNfp", "fillStyle": "hachure", @@ -1706,7 +1706,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764293, + "updated": 1695298534179, "link": null, "locked": false, "fontSize": 16, @@ -1764,8 +1764,8 @@ }, { "type": "text", - "version": 1309, - "versionNonce": 443323425, + "version": 1311, + "versionNonce": 820122997, "isDeleted": false, "id": "_OB-Erxn4mK3flNWqsbn8", "fillStyle": "hachure", @@ -1784,7 +1784,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764294, + "updated": 1695298534180, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -1799,8 +1799,8 @@ }, { "type": "text", - "version": 1387, - "versionNonce": 2137979503, + "version": 1389, + "versionNonce": 1443620955, "isDeleted": false, "id": "iE8zjSRW9-fXCUfh9ZS_F", "fillStyle": "hachure", @@ -1819,7 +1819,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764295, + "updated": 1695298534182, "link": null, "locked": false, "fontSize": 16, @@ -1834,8 +1834,8 @@ }, { "type": "text", - "version": 1242, - "versionNonce": 786917377, + "version": 1244, + "versionNonce": 1330224853, "isDeleted": false, "id": "5UDTQmUGIbqPM1h3fDfjo", "fillStyle": "hachure", @@ -1854,7 +1854,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764295, + "updated": 1695298534184, "link": null, "locked": false, "fontSize": 16, @@ -1869,8 +1869,8 @@ }, { "type": "text", - "version": 1386, - "versionNonce": 597939343, + "version": 1388, + "versionNonce": 1522803963, "isDeleted": false, "id": "isWlPAjm0gueA_D7g795I", "fillStyle": "hachure", @@ -1889,7 +1889,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764296, + "updated": 1695298534185, "link": null, "locked": false, "fontSize": 16, @@ -1904,8 +1904,8 @@ }, { "type": "text", - "version": 1556, - "versionNonce": 949796833, + "version": 1558, + "versionNonce": 1052310581, "isDeleted": false, "id": "DfUy3hr0Jc6Z0fDEeDwaJ", "fillStyle": "hachure", @@ -1924,7 +1924,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764296, + "updated": 1695298534187, "link": null, "locked": false, "fontSize": 16, @@ -2240,8 +2240,8 @@ }, { "type": "text", - "version": 1128, - "versionNonce": 1014524591, + "version": 1130, + "versionNonce": 1653329307, "isDeleted": false, "id": "5dRlRwZmPKPmolObahg05", "fillStyle": "hachure", @@ -2265,7 +2265,7 @@ "type": "arrow" } ], - "updated": 1692624764297, + "updated": 1695298534189, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -2280,8 +2280,8 @@ }, { "type": "text", - "version": 1533, - "versionNonce": 899423169, + "version": 1535, + "versionNonce": 924167573, "isDeleted": false, "id": "aQA1OJhpT56K-FnNiYAOF", "fillStyle": "hachure", @@ -2300,7 +2300,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764297, + "updated": 1695298534190, "link": null, "locked": false, "fontSize": 16, @@ -2315,8 +2315,8 @@ }, { "type": "text", - "version": 1189, - "versionNonce": 378879183, + "version": 1191, + "versionNonce": 815096379, "isDeleted": false, "id": "10kzXYOvQzE7E9DGPenXy", "fillStyle": "hachure", @@ -2335,7 +2335,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764298, + "updated": 1695298534190, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -2350,8 +2350,8 @@ }, { "type": "text", - "version": 1604, - "versionNonce": 906296225, + "version": 1606, + "versionNonce": 1469395701, "isDeleted": false, "id": "Xyc3RxlX3VZlqwtqC4ZBF", "fillStyle": "hachure", @@ -2370,7 +2370,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764298, + "updated": 1695298534191, "link": null, "locked": false, "fontSize": 16, @@ -2428,8 +2428,8 @@ }, { "type": "text", - "version": 1564, - "versionNonce": 1435683567, + "version": 1566, + "versionNonce": 2109956827, "isDeleted": false, "id": "6X2-qN2hA5fv_UB-HcJJR", "fillStyle": "hachure", @@ -2448,7 +2448,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764300, + "updated": 1695298534193, "link": null, "locked": false, "fontSize": 16, @@ -2549,8 +2549,8 @@ }, { "type": "text", - "version": 1673, - "versionNonce": 436658049, + "version": 1675, + "versionNonce": 1019022421, "isDeleted": false, "id": "Alwt2mpt9yTzsyIEwfdn_", "fillStyle": "hachure", @@ -2569,7 +2569,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764301, + "updated": 1695298534194, "link": null, "locked": false, "fontSize": 16, @@ -2670,8 +2670,8 @@ }, { "type": "text", - "version": 1940, - "versionNonce": 368678159, + "version": 1942, + "versionNonce": 1118326651, "isDeleted": false, "id": "d_d1rjuiDLJ4mS9X-Xr4H", "fillStyle": "hachure", @@ -2690,7 +2690,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764302, + "updated": 1695298534196, "link": null, "locked": false, "fontSize": 16, @@ -2748,8 +2748,8 @@ }, { "type": "text", - "version": 2049, - "versionNonce": 266422113, + "version": 2051, + "versionNonce": 1449310645, "isDeleted": false, "id": "dhHnIJMiyS2rU49aZwBfN", "fillStyle": "hachure", @@ -2768,7 +2768,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764303, + "updated": 1695298534198, "link": null, "locked": false, "fontSize": 16, @@ -2836,8 +2836,8 @@ }, { "type": "text", - "version": 302, - "versionNonce": 1329732399, + "version": 304, + "versionNonce": 1099343899, "isDeleted": false, "id": "KoBoyR_i5o6yzFTwzTWvP", "fillStyle": "solid", @@ -2858,7 +2858,7 @@ "type": 2 }, "boundElements": [], - "updated": 1692624764304, + "updated": 1695298534200, "link": null, "locked": false, "fontSize": 16, @@ -2975,8 +2975,8 @@ }, { "type": "text", - "version": 476, - "versionNonce": 1373877057, + "version": 478, + "versionNonce": 2108406549, "isDeleted": false, "id": "NQ_2mqXn2R0lid9NvqFV-", "fillStyle": "solid", @@ -3002,7 +3002,7 @@ "type": "arrow" } ], - "updated": 1692624764305, + "updated": 1695298534201, "link": null, "locked": false, "fontSize": 16, @@ -3043,8 +3043,8 @@ }, { "type": "text", - "version": 1025, - "versionNonce": 1976884559, + "version": 1027, + "versionNonce": 1347480763, "isDeleted": false, "id": "AuCrgoVm6ki1mRHvLw4Kc", "fillStyle": "hachure", @@ -3063,23 +3063,23 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764306, + "updated": 1695298534203, "link": null, "locked": false, "fontSize": 20, "fontFamily": 1, - "text": "Adress", + "text": "address", "textAlign": "left", "verticalAlign": "top", "containerId": null, - "originalText": "Adress", + "originalText": "address", "lineHeight": 1.25, "baseline": 18 }, { "type": "text", - "version": 1326, - "versionNonce": 611164961, + "version": 1328, + "versionNonce": 1259180149, "isDeleted": false, "id": "YpCaKt6WrnitfSV2XYnQA", "fillStyle": "hachure", @@ -3098,7 +3098,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764307, + "updated": 1695298534204, "link": null, "locked": false, "fontSize": 16, @@ -3156,8 +3156,8 @@ }, { "type": "text", - "version": 1335, - "versionNonce": 1560959855, + "version": 1337, + "versionNonce": 1655283035, "isDeleted": false, "id": "5rTEN43BclsLgtneXgJQZ", "fillStyle": "hachure", @@ -3176,7 +3176,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764308, + "updated": 1695298534205, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -3191,8 +3191,8 @@ }, { "type": "text", - "version": 1437, - "versionNonce": 334403329, + "version": 1439, + "versionNonce": 743291349, "isDeleted": false, "id": "ahGXL0qFNjo0uJPVeyitR", "fillStyle": "hachure", @@ -3211,7 +3211,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764309, + "updated": 1695298534207, "link": null, "locked": false, "fontSize": 16, @@ -3226,8 +3226,8 @@ }, { "type": "text", - "version": 1895, - "versionNonce": 1495995791, + "version": 1897, + "versionNonce": 1407400443, "isDeleted": false, "id": "7LIY1jJLIOGAqGvUQIje2", "fillStyle": "hachure", @@ -3246,7 +3246,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764310, + "updated": 1695298534208, "link": null, "locked": false, "fontSize": 16, @@ -3261,8 +3261,8 @@ }, { "type": "text", - "version": 2034, - "versionNonce": 1927679713, + "version": 2036, + "versionNonce": 981579573, "isDeleted": false, "id": "WUcUYwmG71LoTDpXmteWz", "fillStyle": "hachure", @@ -3281,7 +3281,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764310, + "updated": 1695298534210, "link": null, "locked": false, "fontSize": 16, @@ -3296,8 +3296,8 @@ }, { "type": "text", - "version": 2212, - "versionNonce": 560958383, + "version": 2214, + "versionNonce": 1895842459, "isDeleted": false, "id": "a3e6RoWTIunV423FORhHd", "fillStyle": "hachure", @@ -3316,7 +3316,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764311, + "updated": 1695298534211, "link": null, "locked": false, "fontSize": 16, @@ -3546,8 +3546,8 @@ }, { "type": "text", - "version": 1087, - "versionNonce": 400788161, + "version": 1089, + "versionNonce": 1343162517, "isDeleted": false, "id": "Qfp9iW0_mvdQNh6oJfKV_", "fillStyle": "hachure", @@ -3566,7 +3566,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764312, + "updated": 1695298534212, "link": null, "locked": false, "fontSize": 16, @@ -3624,8 +3624,8 @@ }, { "type": "text", - "version": 1397, - "versionNonce": 1912618447, + "version": 1399, + "versionNonce": 1119041339, "isDeleted": false, "id": "d1LoVQw34_Ns8qq2O62V4", "fillStyle": "hachure", @@ -3644,7 +3644,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764313, + "updated": 1695298534214, "link": null, "locked": false, "fontSize": 16, @@ -3702,8 +3702,8 @@ }, { "type": "text", - "version": 1460, - "versionNonce": 1535543969, + "version": 1462, + "versionNonce": 1588276725, "isDeleted": false, "id": "MRqHLuP_6pOUYsWIQT5wB", "fillStyle": "hachure", @@ -3722,7 +3722,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764313, + "updated": 1695298534215, "link": null, "locked": false, "fontSize": 16, @@ -3780,8 +3780,8 @@ }, { "type": "text", - "version": 1539, - "versionNonce": 1844816879, + "version": 1541, + "versionNonce": 392075227, "isDeleted": false, "id": "Of0UXo0--H4bBkLzDZ3MX", "fillStyle": "hachure", @@ -3800,7 +3800,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764314, + "updated": 1695298534217, "link": null, "locked": false, "fontSize": 16, @@ -3858,8 +3858,8 @@ }, { "type": "text", - "version": 1597, - "versionNonce": 1451134593, + "version": 1599, + "versionNonce": 89892693, "isDeleted": false, "id": "DE_XuIVDEX8nchZ947wwH", "fillStyle": "hachure", @@ -3878,7 +3878,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764314, + "updated": 1695298534218, "link": null, "locked": false, "fontSize": 16, @@ -3936,8 +3936,8 @@ }, { "type": "text", - "version": 1472, - "versionNonce": 1096308239, + "version": 1474, + "versionNonce": 1293214843, "isDeleted": false, "id": "xKua3vD7YPyqhTpHkyogU", "fillStyle": "hachure", @@ -3956,7 +3956,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764316, + "updated": 1695298534220, "link": null, "locked": false, "fontSize": 16, @@ -4014,8 +4014,8 @@ }, { "type": "text", - "version": 1511, - "versionNonce": 1602950753, + "version": 1513, + "versionNonce": 1719006389, "isDeleted": false, "id": "8FWxgH4ojb5mMG6Oz-R_g", "fillStyle": "hachure", @@ -4034,7 +4034,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764317, + "updated": 1695298534223, "link": null, "locked": false, "fontSize": 16, @@ -4131,8 +4131,8 @@ }, { "type": "text", - "version": 1436, - "versionNonce": 52476975, + "version": 1438, + "versionNonce": 1536728347, "isDeleted": false, "id": "ohydGCy11CaZthPrBSJjg", "fillStyle": "hachure", @@ -4151,7 +4151,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764318, + "updated": 1695298534224, "link": null, "locked": false, "fontSize": 16, @@ -4240,8 +4240,8 @@ }, { "type": "text", - "version": 1315, - "versionNonce": 1232839233, + "version": 1317, + "versionNonce": 1033868821, "isDeleted": false, "id": "-SFrZlkEc_DKxjdUeg4lk", "fillStyle": "hachure", @@ -4260,7 +4260,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764319, + "updated": 1695298534226, "link": null, "locked": false, "fontSize": 20, @@ -4275,8 +4275,8 @@ }, { "type": "text", - "version": 1610, - "versionNonce": 1463246415, + "version": 1612, + "versionNonce": 509362619, "isDeleted": false, "id": "kbSar9ucRClSCfOIyoqUa", "fillStyle": "hachure", @@ -4295,7 +4295,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764320, + "updated": 1695298534227, "link": null, "locked": false, "fontSize": 16, @@ -4353,8 +4353,8 @@ }, { "type": "text", - "version": 1622, - "versionNonce": 1630515745, + "version": 1624, + "versionNonce": 902695797, "isDeleted": false, "id": "413UdpyMsTyotDR8eAwcY", "fillStyle": "hachure", @@ -4378,7 +4378,7 @@ "type": "arrow" } ], - "updated": 1692624764321, + "updated": 1695298534229, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -4393,8 +4393,8 @@ }, { "type": "text", - "version": 1726, - "versionNonce": 1349827695, + "version": 1728, + "versionNonce": 1585599067, "isDeleted": false, "id": "yZOK773iNpSF8nhAr-wNt", "fillStyle": "hachure", @@ -4413,7 +4413,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764322, + "updated": 1695298534230, "link": null, "locked": false, "fontSize": 16, @@ -4557,8 +4557,8 @@ }, { "type": "text", - "version": 1764, - "versionNonce": 731301377, + "version": 1766, + "versionNonce": 2135348437, "isDeleted": false, "id": "LaVp13e5iYJEqzlNTHaMj", "fillStyle": "hachure", @@ -4577,16 +4577,16 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764323, + "updated": 1695298534232, "link": null, "locked": false, "fontSize": 16, "fontFamily": 3, - "text": "Adress", + "text": "address", "textAlign": "left", "verticalAlign": "top", "containerId": null, - "originalText": "Adress", + "originalText": "address", "lineHeight": 1.2, "baseline": 15 }, @@ -4635,8 +4635,8 @@ }, { "type": "text", - "version": 1834, - "versionNonce": 312563343, + "version": 1836, + "versionNonce": 484265723, "isDeleted": false, "id": "SaSHVZfRYEAOtdHJzaC5G", "fillStyle": "hachure", @@ -4655,7 +4655,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764323, + "updated": 1695298534233, "link": null, "locked": false, "fontSize": 16, @@ -4768,8 +4768,8 @@ }, { "type": "text", - "version": 1474, - "versionNonce": 1672502753, + "version": 1476, + "versionNonce": 631206453, "isDeleted": false, "id": "wRrnsKEvaj8OihRcFa-AT", "fillStyle": "hachure", @@ -4788,7 +4788,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764324, + "updated": 1695298534235, "link": null, "locked": false, "fontSize": 16, @@ -4803,8 +4803,8 @@ }, { "type": "text", - "version": 1359, - "versionNonce": 880127151, + "version": 1361, + "versionNonce": 468694939, "isDeleted": false, "id": "MxPN42MFvgZanV3I7Odth", "fillStyle": "hachure", @@ -4828,7 +4828,7 @@ "type": "arrow" } ], - "updated": 1692624764325, + "updated": 1695298534236, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -4902,8 +4902,8 @@ }, { "type": "text", - "version": 1676, - "versionNonce": 948697537, + "version": 1678, + "versionNonce": 633168789, "isDeleted": false, "id": "7SHcHGK1QjNvUBFwEwtO0", "fillStyle": "hachure", @@ -4922,7 +4922,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764326, + "updated": 1695298534238, "link": null, "locked": false, "fontSize": 13.412581014541043, @@ -4937,8 +4937,8 @@ }, { "type": "text", - "version": 363, - "versionNonce": 1637498575, + "version": 365, + "versionNonce": 703335483, "isDeleted": false, "id": "LvKhzpRGXcq6na52_1Qoe", "fillStyle": "solid", @@ -4959,7 +4959,7 @@ "type": 2 }, "boundElements": [], - "updated": 1692624764327, + "updated": 1695298534240, "link": null, "locked": false, "fontSize": 16, @@ -4974,8 +4974,8 @@ }, { "type": "text", - "version": 408, - "versionNonce": 1263081889, + "version": 410, + "versionNonce": 1138108661, "isDeleted": false, "id": "8VjSd7l4dbrYIo4q2FFCM", "fillStyle": "solid", @@ -4996,7 +4996,7 @@ "type": 2 }, "boundElements": [], - "updated": 1692624764327, + "updated": 1695298534241, "link": null, "locked": false, "fontSize": 16, @@ -5070,8 +5070,8 @@ }, { "type": "text", - "version": 437, - "versionNonce": 1017613551, + "version": 439, + "versionNonce": 716491995, "isDeleted": false, "id": "eBQTJqclYbDtvavrSSCvi", "fillStyle": "solid", @@ -5092,7 +5092,7 @@ "type": 2 }, "boundElements": [], - "updated": 1692624764328, + "updated": 1695298534242, "link": null, "locked": false, "fontSize": 16, @@ -5150,8 +5150,8 @@ }, { "type": "text", - "version": 1834, - "versionNonce": 1830239617, + "version": 1836, + "versionNonce": 560939605, "isDeleted": false, "id": "ZjSnCetgZKI2ctaqqC_GT", "fillStyle": "hachure", @@ -5170,7 +5170,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764329, + "updated": 1695298534242, "link": null, "locked": false, "fontSize": 16, @@ -5228,8 +5228,8 @@ }, { "type": "text", - "version": 1870, - "versionNonce": 19273487, + "version": 1872, + "versionNonce": 1641838971, "isDeleted": false, "id": "sHo-Tr0gzrQeNkHJydgWq", "fillStyle": "hachure", @@ -5248,7 +5248,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764329, + "updated": 1695298534243, "link": null, "locked": false, "fontSize": 16, @@ -5349,8 +5349,8 @@ }, { "type": "text", - "version": 1620, - "versionNonce": 490071393, + "version": 1622, + "versionNonce": 324939701, "isDeleted": false, "id": "1Mq1a8WGy7L0EfbjZAerB", "fillStyle": "hachure", @@ -5369,7 +5369,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764330, + "updated": 1695298534244, "link": null, "locked": false, "fontSize": 16, @@ -5384,8 +5384,8 @@ }, { "type": "text", - "version": 1689, - "versionNonce": 1703828783, + "version": 1691, + "versionNonce": 2091225627, "isDeleted": false, "id": "U8JXXfeSY2s2SChLjYENd", "fillStyle": "hachure", @@ -5404,7 +5404,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764330, + "updated": 1695298534245, "link": null, "locked": false, "fontSize": 16, @@ -5462,8 +5462,8 @@ }, { "type": "text", - "version": 1955, - "versionNonce": 1190433089, + "version": 1957, + "versionNonce": 935883029, "isDeleted": false, "id": "bjfRqP8LZ0MZ8eIcg-Aub", "fillStyle": "hachure", @@ -5482,7 +5482,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764331, + "updated": 1695298534247, "link": null, "locked": false, "fontSize": 16, @@ -5540,8 +5540,8 @@ }, { "type": "text", - "version": 1987, - "versionNonce": 1028185935, + "version": 1989, + "versionNonce": 1543673531, "isDeleted": false, "id": "Mk-OUnEyuYhRr0Up8WtJV", "fillStyle": "hachure", @@ -5560,7 +5560,7 @@ "groupIds": [], "roundness": null, "boundElements": [], - "updated": 1692624764332, + "updated": 1695298534248, "link": null, "locked": false, "fontSize": 16, @@ -5579,4 +5579,4 @@ "viewBackgroundColor": "#000" }, "files": {} -} \ No newline at end of file +} diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index d0dbd1b..0000000 --- a/jest.config.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { getJestProjects } from '@nx/jest'; - -export default { - projects: getJestProjects(), -}; diff --git a/jest.preset.js b/jest.preset.js deleted file mode 100644 index f078ddc..0000000 --- a/jest.preset.js +++ /dev/null @@ -1,3 +0,0 @@ -const nxPreset = require('@nx/jest/preset').default; - -module.exports = { ...nxPreset }; diff --git a/libs/core-rest-api/adapters/jest.config.ts b/libs/core-rest-api/adapters/jest.config.ts deleted file mode 100644 index 73bba0b..0000000 --- a/libs/core-rest-api/adapters/jest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'core-rest-api-adapters', - preset: '../../../jest.preset.js', - testEnvironment: 'node', - transform: { - '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../../coverage/libs/core-rest-api/adapters', -}; diff --git a/libs/core-rest-api/adapters/package.json b/libs/core-rest-api/adapters/package.json index 2b1d1ed..775a891 100644 --- a/libs/core-rest-api/adapters/package.json +++ b/libs/core-rest-api/adapters/package.json @@ -8,8 +8,8 @@ "email": "italorockamaral@gmail.com" }, { - "name": "Luana Vefago", - "email": "" + "name": "Luana Vefago dos Santos", + "email": "luanavefago1@gmail.com" } ] } diff --git a/libs/core-rest-api/adapters/project.json b/libs/core-rest-api/adapters/project.json index a888005..4180e78 100644 --- a/libs/core-rest-api/adapters/project.json +++ b/libs/core-rest-api/adapters/project.json @@ -12,10 +12,9 @@ } }, "test": { - "executor": "@nx/jest:jest", + "executor": "@nx/vite:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "libs/core-rest-api/adapters/jest.config.ts", "passWithNoTests": true }, "configurations": { @@ -24,6 +23,20 @@ "codeCoverage": true } } + }, + "e2e": { + "executor": "@nx/vite:test", + "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], + "options": { + "passWithNoTests": true, + "config": "libs/core-rest-api/adapters/vitest.config.e2e.ts" + }, + "configurations": { + "ci": { + "ci": true, + "codeCoverage": true + } + } } }, "tags": [] diff --git a/libs/core-rest-api/adapters/src/auth/auth.module.ts b/libs/core-rest-api/adapters/src/auth/auth.module.ts new file mode 100644 index 0000000..0227ee3 --- /dev/null +++ b/libs/core-rest-api/adapters/src/auth/auth.module.ts @@ -0,0 +1,33 @@ +import { Module } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { JwtModule } from '@nestjs/jwt'; +import { PassportModule } from '@nestjs/passport'; + +import { Env } from '../env/env'; +import { EnvService } from '../env/env.service'; +import { JwtStrategy } from './jwt.strategy'; + + +@Module({ + imports: [ + PassportModule, + JwtModule.registerAsync({ + inject: [ConfigService], + global: true, + useFactory(config: ConfigService){ + const privateKey = config.get('JWT_PRIVATE_KEY', {infer: true}); + const publicKey = config.get('JWT_PUBLIC_KEY', {infer: true}); + + return { + signOptions: { + algorithm: 'RS256', expiresIn: '1h' + }, + privateKey: Buffer.from(privateKey, 'base64'), + publicKey: Buffer.from(publicKey, 'base64') + } + } + }) + ], + providers: [JwtStrategy, EnvService] +}) +export class AuthModule{} diff --git a/libs/core-rest-api/adapters/src/auth/jwt-auth.guard.ts b/libs/core-rest-api/adapters/src/auth/jwt-auth.guard.ts new file mode 100644 index 0000000..f7dc63d --- /dev/null +++ b/libs/core-rest-api/adapters/src/auth/jwt-auth.guard.ts @@ -0,0 +1,3 @@ +import { AuthGuard } from '@nestjs/passport'; + +export class JwtAuthGuard extends AuthGuard('jwt'){} diff --git a/libs/core-rest-api/adapters/src/auth/jwt.strategy.ts b/libs/core-rest-api/adapters/src/auth/jwt.strategy.ts new file mode 100644 index 0000000..22b1972 --- /dev/null +++ b/libs/core-rest-api/adapters/src/auth/jwt.strategy.ts @@ -0,0 +1,30 @@ +import { Injectable } from '@nestjs/common'; +import { PassportStrategy } from '@nestjs/passport'; +import { ExtractJwt, Strategy } from 'passport-jwt'; +import { z } from 'zod'; +import { EnvService } from '../env/env.service'; + +const tokenPayloadSchema = z.object({ + sub: z.string().uuid() +}) + +export type TokenPayload = z.infer + +@Injectable() +export class JwtStrategy extends PassportStrategy(Strategy){ + constructor(config: EnvService){ + const publicKey = config.get('JWT_PUBLIC_KEY') + console.log('JwtStrategy') + + super({ + jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), + secretOrKey: Buffer.from(publicKey, 'base64'), + algorithms: ['RS256'] + }) + } + async validate(payload: TokenPayload) { + console.log('jwtStrategy validate') + + return tokenPayloadSchema.parse(payload) + } +} diff --git a/libs/core-rest-api/adapters/src/controllers/api/api.module.ts b/libs/core-rest-api/adapters/src/controllers/api/api.module.ts index e69de29..f08fe1c 100644 --- a/libs/core-rest-api/adapters/src/controllers/api/api.module.ts +++ b/libs/core-rest-api/adapters/src/controllers/api/api.module.ts @@ -0,0 +1,26 @@ +import { Module } from '@nestjs/common'; +import { ConfigModule } from '@nestjs/config'; +import { AuthModule } from '../../auth/auth.module'; +import { CryptographyModule } from '../../cryptography/cryptography.module'; +import { PostgreSqlPrismaOrmService } from '../../database/infra/prisma/prisma.service'; +import { DatabaseRepositoriesModule } from '../../database/repositories/repositories.module'; +import { envSchema } from '../../env/env'; +import { EnvModule } from '../../env/env.module'; +import { CreatePsychologistController } from './use-case/create-psychologist/create-psychologist.controller'; +import { NestjsCreatePsychologistService } from './use-case/create-psychologist/nestjs-create-psychologist.service'; + +@Module({ + imports: [ + DatabaseRepositoriesModule, + EnvModule, + AuthModule, + CryptographyModule, + ConfigModule.forRoot({ + validate: (env) => envSchema.parse(env), + isGlobal: true, + }), + ], + controllers: [CreatePsychologistController], + providers: [PostgreSqlPrismaOrmService, NestjsCreatePsychologistService], +}) +export class ApiModule {} diff --git a/libs/core-rest-api/adapters/src/controllers/api/guards/api-key.guard.ts b/libs/core-rest-api/adapters/src/controllers/api/guards/api-key.guard.ts new file mode 100644 index 0000000..8782515 --- /dev/null +++ b/libs/core-rest-api/adapters/src/controllers/api/guards/api-key.guard.ts @@ -0,0 +1,30 @@ +import { + CanActivate, + ExecutionContext, + Injectable, + UnauthorizedException, +} from '@nestjs/common'; +import { Request } from 'express'; +import { Observable } from 'rxjs'; + +@Injectable() +export class ApiKeyGuard implements CanActivate { + canActivate(context: ExecutionContext): boolean | Promise | Observable{ + console.log('API Key Validation...') + const request = context.switchToHttp().getRequest() + + const apiKeyHeader = request.header('api-key') + + if (!apiKeyHeader) { + console.log('API key is missing...') + throw new UnauthorizedException('API key is missing') + } + + if( apiKeyHeader !== process.env['API_KEY'] ) { + console.log('Invalid API key......') + throw new UnauthorizedException('Invalid API key...') + } + + return true + } +} diff --git a/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/client.http b/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/client.http new file mode 100644 index 0000000..0011c1e --- /dev/null +++ b/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/client.http @@ -0,0 +1,38 @@ +@baseUrl = http://localhost:3333/core +@authToken = {{loginauthenticate.response.body.access_token}} + +# @name create_psychologist +POST http://localhost:3333/core/psychologist/create HTTP/1.1 +Content-Type: application/json +api-key: api-key + +{ + "name": "Novo Usuario", + "email": "novo_usuario@gmail.com", + "password": "01212012", + "role": "PSYCHOLOGIST", + "plan": "PREMIUM" +} + +### + +# @name loginauthenticate +POST http://localhost:3333/core/psychologist/login HTTP/1.1 +Content-Type: application/json +api-key: api-key + +{ + "name": "Novo Usuario", + "email": "novo_usuario@gmail.com", + "password": "01212012", + "role": "PSYCHOLOGIST", + "plan": "PREMIUM" +} + +### + +# @name me +GET http://localhost:3333/core/psychologist/me HTTP/1.1 +Content-Type: application/json +api-key: api-key +Authorization: Bearer {{authToken}} diff --git a/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/create-psychologist.controller.ts b/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/create-psychologist.controller.ts new file mode 100644 index 0000000..7215d05 --- /dev/null +++ b/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/create-psychologist.controller.ts @@ -0,0 +1,38 @@ +// eslint-disable-next-line @nx/enforce-module-boundaries +import { CreatePsychologistDto } from '@clinicControl/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist-dto'; +import { GlobalAppHttpException } from '@clinicControl/core-rest-api/core/src/shared/errors/globalAppHttpException'; +import { applicationValidateOrReject } from '@clinicControl/core-rest-api/core/src/shared/validators/validate-or-reject'; +import { Body, Controller, Post, UseGuards } from '@nestjs/common'; +import { ApiTags } from '@nestjs/swagger'; +import { plainToInstance } from 'class-transformer'; +import { ApiKeyGuard } from '../../guards/api-key.guard'; +import { NestjsCreatePsychologistService } from './nestjs-create-psychologist.service'; + +@ApiTags() +@Controller({ + path: 'psychologist', +}) +export class CreatePsychologistController { + constructor( + private createPsychologistService: NestjsCreatePsychologistService + ) {} + + @Post('create') + @UseGuards(ApiKeyGuard) + async execute( + @Body() createPsychologistDto: CreatePsychologistDto + ): Promise { + try { + const createPsychologistDtoInstance = plainToInstance( + CreatePsychologistDto, + createPsychologistDto + ); + + await applicationValidateOrReject(createPsychologistDtoInstance); + + await this.createPsychologistService.execute(createPsychologistDto); + } catch (error: unknown) { + throw new GlobalAppHttpException(error); + } + } +} diff --git a/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/create-psychologist.e2e-spec.ts b/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/create-psychologist.e2e-spec.ts new file mode 100644 index 0000000..a925ac7 --- /dev/null +++ b/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/create-psychologist.e2e-spec.ts @@ -0,0 +1,94 @@ +import request from 'supertest'; + +import { INestApplication } from '@nestjs/common'; +import { Test } from '@nestjs/testing'; + +import { makePsychologist } from '../../../../../tests/factories/make-psychologist'; +import { PostgreSqlPrismaOrmService } from '../../../../database/infra/prisma/prisma.service'; +import { ApiModule } from '../../api.module'; + +describe('[E2E] - Create Psychologist Account', () => { + let app: INestApplication; + let prisma: PostgreSqlPrismaOrmService; + + beforeAll(async () => { + const moduleRef = await Test.createTestingModule({ + imports: [ApiModule], + }).compile(); + + app = moduleRef.createNestApplication(); + + prisma = moduleRef.get(PostgreSqlPrismaOrmService); + + await app.init(); + }); + + it('[POST] - Should successfully create a new psychologist account', async () => { + const newPsychologist = makePsychologist(); + + const response = await request(app.getHttpServer()) + .post('/psychologist/create') + .set('api-key', 'api-key') + .send(newPsychologist); + + expect(response.statusCode).toBe(201); + + const userOnDatabase = await prisma.psychologist.findUnique({ + where: { + email: 'novo_usuario_teste@gmail.com', + }, + }); + + expect(userOnDatabase).toBeTruthy(); + }); + + it('[POST] - Should return an error when trying to create a new psychologist without api-key', async () => { + const newPsychologist = makePsychologist({ + email: 'novo_usuario_teste_not_created@gmail.com', + }); + + const response = await request(app.getHttpServer()) + .post('/psychologist/create') + .send(newPsychologist); + + expect(response.statusCode).toBe(401); + + const userOnDatabase = await prisma.psychologist.findUnique({ + where: { + email: 'novo_usuario_teste_not_created@gmail.com', + }, + }); + + expect(userOnDatabase).toBeFalsy(); + expect(response.body.message).toBe('API key is missing'); + }); + + it('[POST] - Should return an error when trying to create a new psychologist that already exists', async () => { + const newPsychologist = makePsychologist({ + email: 'novo_usuario_teste_new_entrie@gmail.com', + }); + + const response = await request(app.getHttpServer()) + .post('/psychologist/create') + .set('api-key', 'api-key') + .send(newPsychologist); + + expect(response.statusCode).toBe(201); + + const userOnDatabase = await prisma.psychologist.findUnique({ + where: { + email: 'novo_usuario_teste_new_entrie@gmail.com', + }, + }); + + expect(userOnDatabase).toBeTruthy(); + + const response_new_post = await request(app.getHttpServer()) + .post('/psychologist/create') + .set('api-key', 'api-key') + .send(newPsychologist); + + expect(response_new_post.statusCode).toBe(409); + expect(response_new_post.body.message).toBe('psychologist already exists'); + }); +}); diff --git a/libs/core-rest-api/adapters/src/config.dto.ts b/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/docs.ts similarity index 100% rename from libs/core-rest-api/adapters/src/config.dto.ts rename to libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/docs.ts diff --git a/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/nestjs-create-psychologist.service.ts b/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/nestjs-create-psychologist.service.ts new file mode 100644 index 0000000..d0e8625 --- /dev/null +++ b/libs/core-rest-api/adapters/src/controllers/api/use-case/create-psychologist/nestjs-create-psychologist.service.ts @@ -0,0 +1,10 @@ +import { PsychologistDatabaseRepository } from '@clinicControl/core-rest-api/core/src/domains/psychologist/repositories/database-repository'; +import { CreatePsychologistService } from '@clinicControl/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist.service'; +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class NestjsCreatePsychologistService extends CreatePsychologistService { + constructor(psychologistDatabaseRepository: PsychologistDatabaseRepository) { + super(psychologistDatabaseRepository); + } +} diff --git a/libs/core-rest-api/adapters/src/cryptography/bcrypt-hasher.ts b/libs/core-rest-api/adapters/src/cryptography/bcrypt-hasher.ts new file mode 100644 index 0000000..1d15674 --- /dev/null +++ b/libs/core-rest-api/adapters/src/cryptography/bcrypt-hasher.ts @@ -0,0 +1,16 @@ +import { compare, hash } from 'bcryptjs'; + +import { HashComparer } from '@clinicControl/core-rest-api/core/src/shared/cryptography/hash-comparer'; +import { HashGenerator } from '@clinicControl/core-rest-api/core/src/shared/cryptography/hash-generator'; + +export class BcryptHasher implements HashGenerator, HashComparer { + private HASH_SALT_LENGTH = 8; + + hash(plain: string): Promise { + return hash(plain, this.HASH_SALT_LENGTH); + } + + compare(plain: string, hash: string): Promise { + return compare(plain, hash); + } +} diff --git a/libs/core-rest-api/adapters/src/cryptography/cryptography.module.ts b/libs/core-rest-api/adapters/src/cryptography/cryptography.module.ts new file mode 100644 index 0000000..f27a2cf --- /dev/null +++ b/libs/core-rest-api/adapters/src/cryptography/cryptography.module.ts @@ -0,0 +1,17 @@ +import { Module } from '@nestjs/common'; + +import { Encrypter } from '@clinicControl/core-rest-api/core/src/shared/cryptography/encrypter'; +import { HashComparer } from '@clinicControl/core-rest-api/core/src/shared/cryptography/hash-comparer'; +import { HashGenerator } from '@clinicControl/core-rest-api/core/src/shared/cryptography/hash-generator'; +import { BcryptHasher } from './bcrypt-hasher'; +import { JwtEncrypter } from './jwt-encrypter'; + +@Module({ + providers: [ + { provide: Encrypter, useClass: JwtEncrypter }, + { provide: HashComparer, useClass: BcryptHasher }, + { provide: HashGenerator, useClass: BcryptHasher }, + ], + exports: [Encrypter, HashComparer, HashGenerator], +}) +export class CryptographyModule {} diff --git a/libs/core-rest-api/adapters/src/cryptography/jwt-encrypter.ts b/libs/core-rest-api/adapters/src/cryptography/jwt-encrypter.ts new file mode 100644 index 0000000..824a2b1 --- /dev/null +++ b/libs/core-rest-api/adapters/src/cryptography/jwt-encrypter.ts @@ -0,0 +1,12 @@ +import { Encrypter } from '@clinicControl/core-rest-api/core/src/shared/cryptography/encrypter'; +import { Injectable } from '@nestjs/common'; +import { JwtService } from '@nestjs/jwt'; + +@Injectable() +export class JwtEncrypter implements Encrypter { + constructor(private jwtService: JwtService) {} + + encrypt(payload: Record): Promise { + return this.jwtService.signAsync(payload); + } +} diff --git a/libs/core-rest-api/adapters/src/database/infra/prisma/migrations/20230921123024_create_core_rest_api_schema/migration.sql b/libs/core-rest-api/adapters/src/database/infra/prisma/migrations/20230921123024_create_core_rest_api_schema/migration.sql new file mode 100644 index 0000000..7855490 --- /dev/null +++ b/libs/core-rest-api/adapters/src/database/infra/prisma/migrations/20230921123024_create_core_rest_api_schema/migration.sql @@ -0,0 +1,122 @@ +-- CreateEnum +CREATE TYPE "Role" AS ENUM ('ADMIN', 'PSYCHOLOGIST', 'PATIENT'); + +-- CreateEnum +CREATE TYPE "Plan" AS ENUM ('FREE', 'BASIC', 'PREMIUM'); + +-- CreateEnum +CREATE TYPE "PaymentMethod" AS ENUM ('CREDIT_CARD', 'DEBIT_CARD', 'PIX', 'MONEY', 'HEALTH_INSURANCE', 'OTHER'); + +-- CreateTable +CREATE TABLE "psychologist" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "email" TEXT NOT NULL, + "password" TEXT NOT NULL, + "role" "Role" NOT NULL DEFAULT 'PSYCHOLOGIST', + "price" INTEGER DEFAULT 0, + "plan" "Plan" NOT NULL DEFAULT 'BASIC', + "total_year_earnings" INTEGER DEFAULT 0, + "total_month_earnings" INTEGER DEFAULT 0, + "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "psychologist_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "clinic" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "address" TEXT, + "city" TEXT NOT NULL, + "state" TEXT NOT NULL, + "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "psychologist_id" TEXT NOT NULL, + + CONSTRAINT "clinic_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "patient" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "email" TEXT NOT NULL, + "cpf" TEXT NOT NULL, + "telephone" TEXT NOT NULL, + "payment_method" "PaymentMethod" NOT NULL DEFAULT 'HEALTH_INSURANCE', + "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "psychologist_id" TEXT NOT NULL, + "clinic_id" TEXT NOT NULL, + + CONSTRAINT "patient_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "appointment" ( + "id" TEXT NOT NULL, + "date" TIMESTAMPTZ(6) NOT NULL, + "online" BOOLEAN NOT NULL DEFAULT false, + "confirmed" BOOLEAN NOT NULL DEFAULT false, + "confirmation_date" TIMESTAMPTZ(6), + "cancelled" BOOLEAN NOT NULL DEFAULT false, + "cancellation_date" TIMESTAMPTZ(6), + "done" BOOLEAN NOT NULL DEFAULT false, + "missed" BOOLEAN, + "paid" BOOLEAN DEFAULT false, + "payment_method" "PaymentMethod" NOT NULL DEFAULT 'HEALTH_INSURANCE', + "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "patient_id" TEXT NOT NULL, + "psychologist_id" TEXT NOT NULL, + "clinic_id" TEXT NOT NULL, + + CONSTRAINT "appointment_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "patient_appointments_registry" ( + "id" TEXT NOT NULL, + "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "registry" JSON NOT NULL, + "patient_id" TEXT NOT NULL, + "psychologist_id" TEXT NOT NULL, + + CONSTRAINT "patient_appointments_registry_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "psychologist_email_key" ON "psychologist"("email"); + +-- CreateIndex +CREATE UNIQUE INDEX "patient_email_key" ON "patient"("email"); + +-- CreateIndex +CREATE UNIQUE INDEX "patient_cpf_key" ON "patient"("cpf"); + +-- AddForeignKey +ALTER TABLE "clinic" ADD CONSTRAINT "clinic_psychologist_id_fkey" FOREIGN KEY ("psychologist_id") REFERENCES "psychologist"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "patient" ADD CONSTRAINT "patient_psychologist_id_fkey" FOREIGN KEY ("psychologist_id") REFERENCES "psychologist"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "patient" ADD CONSTRAINT "patient_clinic_id_fkey" FOREIGN KEY ("clinic_id") REFERENCES "clinic"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "appointment" ADD CONSTRAINT "appointment_patient_id_fkey" FOREIGN KEY ("patient_id") REFERENCES "patient"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "appointment" ADD CONSTRAINT "appointment_psychologist_id_fkey" FOREIGN KEY ("psychologist_id") REFERENCES "psychologist"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "appointment" ADD CONSTRAINT "appointment_clinic_id_fkey" FOREIGN KEY ("clinic_id") REFERENCES "clinic"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "patient_appointments_registry" ADD CONSTRAINT "patient_appointments_registry_patient_id_fkey" FOREIGN KEY ("patient_id") REFERENCES "patient"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "patient_appointments_registry" ADD CONSTRAINT "patient_appointments_registry_psychologist_id_fkey" FOREIGN KEY ("psychologist_id") REFERENCES "psychologist"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/libs/core-rest-api/adapters/src/database/infra/prisma/migrations/migration_lock.toml b/libs/core-rest-api/adapters/src/database/infra/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..fbffa92 --- /dev/null +++ b/libs/core-rest-api/adapters/src/database/infra/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql" \ No newline at end of file diff --git a/libs/core-rest-api/adapters/src/database/infra/prisma/postgresql.schema.prisma b/libs/core-rest-api/adapters/src/database/infra/prisma/postgresql.schema.prisma new file mode 100644 index 0000000..c314862 --- /dev/null +++ b/libs/core-rest-api/adapters/src/database/infra/prisma/postgresql.schema.prisma @@ -0,0 +1,128 @@ +// https://www.prisma.io/docs/concepts/components/prisma-schema/data-model#type-modifiers +// relations schema prisma doc -> https://www.prisma.io/docs/concepts/components/prisma-schema/relations + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") +} + +enum Role { + ADMIN + PSYCHOLOGIST + PATIENT +} + +enum Plan { + FREE + BASIC + PREMIUM +} + +enum PaymentMethod { + CREDIT_CARD + DEBIT_CARD + PIX + MONEY + HEALTH_INSURANCE + OTHER +} + +model Psychologist { + id String @id @default(uuid()) + name String + email String @unique + password String + role Role @default(PSYCHOLOGIST) + price Int? @default(0) + plan Plan @default(BASIC) + totalYearEarnings Int? @default(0) @map("total_year_earnings") + totalMonthEarnings Int? @default(0) @map("total_month_earnings") + createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6) + updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz(6) + clinic Clinic[] + patient Patient[] + appointment Appointment[] + patientAppointmentsRegistry PatientAppointmentsRegistry[] + + @@map("psychologist") +} + +model Clinic { + id String @id @default(uuid()) + name String + address String? + city String + state String + createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6) + updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz(6) + patient Patient[] + appointment Appointment[] + + psychologistId String @map("psychologist_id") + psychologist Psychologist @relation(fields: [psychologistId], references: [id]) + + @@map("clinic") +} + +model Patient { + id String @id @default(uuid()) + name String + email String @unique + cpf String @unique + telephone String + paymentMethod PaymentMethod @default(HEALTH_INSURANCE) @map("payment_method") + createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6) + updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz(6) + appointment Appointment[] + patientAppointmentsRegistry PatientAppointmentsRegistry[] + + psychologistId String @map("psychologist_id") + psychologist Psychologist @relation(fields: [psychologistId], references: [id]) + clinicId String @map("clinic_id") + clinic Clinic @relation(fields: [clinicId], references: [id]) + + @@map("patient") +} + +model Appointment { + id String @id @default(uuid()) + date DateTime @db.Timestamptz(6) + online Boolean @default(false) + confirmed Boolean @default(false) + confirmationDate DateTime? @map("confirmation_date") @db.Timestamptz(6) + cancelled Boolean @default(false) + cancellationDate DateTime? @map("cancellation_date") @db.Timestamptz(6) + done Boolean @default(false) + missed Boolean? + paid Boolean? @default(false) + paymentMethod PaymentMethod @default(HEALTH_INSURANCE) @map("payment_method") + createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6) + updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz(6) + + patientId String @map("patient_id") + patient Patient @relation(fields: [patientId], references: [id]) + psychologistId String @map("psychologist_id") + psychologist Psychologist @relation(fields: [psychologistId], references: [id]) + clinicId String @map("clinic_id") + clinic Clinic @relation(fields: [clinicId], references: [id]) + + @@map("appointment") +} + +model PatientAppointmentsRegistry { + id String @id @default(uuid()) + updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz(6) + createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6) + registry Json @db.Json + + patientId String @map("patient_id") + patient Patient @relation(fields: [patientId], references: [id]) + psychologistId String @map("psychologist_id") + psychologist Psychologist @relation(fields: [psychologistId], references: [id]) + + @@map("patient_appointments_registry") +} diff --git a/libs/core-rest-api/adapters/src/database/infra/prisma/prisma.service.ts b/libs/core-rest-api/adapters/src/database/infra/prisma/prisma.service.ts index e69de29..78098ed 100644 --- a/libs/core-rest-api/adapters/src/database/infra/prisma/prisma.service.ts +++ b/libs/core-rest-api/adapters/src/database/infra/prisma/prisma.service.ts @@ -0,0 +1,24 @@ +import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; +import { PrismaClient } from '@prisma/client'; + +@Injectable() +export class PostgreSqlPrismaOrmService + extends PrismaClient + implements OnModuleInit, OnModuleDestroy +{ + constructor() { + super({ + log: ['warn', 'error'], + }); + } + + onModuleInit() { + console.info('Connecting to core-rest-api database...'); + return this['$connect'](); + } + + onModuleDestroy() { + console.info('Disconnecting from core-rest-api database...'); + return this['$disconnect'](); + } +} diff --git a/libs/core-rest-api/adapters/src/database/mappers/postgresql-prisma-psychologist-mapper.ts b/libs/core-rest-api/adapters/src/database/mappers/postgresql-prisma-psychologist-mapper.ts new file mode 100644 index 0000000..7e55e4e --- /dev/null +++ b/libs/core-rest-api/adapters/src/database/mappers/postgresql-prisma-psychologist-mapper.ts @@ -0,0 +1,52 @@ +import { PsychologistEntity } from '@clinicControl/core-rest-api/core/src/domains/psychologist/entities/psychologist/entity'; +import { CreatePsychologistDto } from '@clinicControl/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist-dto'; +import { UpdatePsychologistDto } from '@clinicControl/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist-dto'; +import { + Plan, + Role, +} from '@clinicControl/core-rest-api/core/src/shared/interfaces/payments'; +import { + Prisma, + Plan as PrismaPlan, + Psychologist as PrismaPsychologistDto, + Role as PrismaRole, +} from '@prisma/client'; + +export class PostgresqlPrismaPsychologistMapper { + static toDomain(raw: PrismaPsychologistDto): PsychologistEntity { + return new PsychologistEntity({ + ...raw, + role: raw.role as unknown as Role, + plan: raw.plan as unknown as Plan, + }); + } + + static toDomainMany(raw: PrismaPsychologistDto[]): PsychologistEntity[] { + return raw.map((psychologist) => this.toDomain(psychologist)); + } + + static toPrismaCreate(raw: CreatePsychologistDto): Prisma.PsychologistCreateArgs { + raw.role as unknown as PrismaRole; + + return { + data: { + ...raw, + role: raw.role as unknown as PrismaRole, + plan: raw.plan as unknown as PrismaPlan, + }, + }; + } + + static toPrismaUpdate(raw: UpdatePsychologistDto): Prisma.PsychologistUpdateArgs { + return { + data: { + ...raw, + role: raw.role as unknown as PrismaRole, + plan: raw.plan as unknown as PrismaPlan, + }, + where: { + id: raw.id, + }, + }; + } +} diff --git a/libs/core-rest-api/adapters/src/database/repositories/psychologist/postgresql-prisma-orm-repository.ts b/libs/core-rest-api/adapters/src/database/repositories/psychologist/postgresql-prisma-orm-repository.ts new file mode 100644 index 0000000..a293171 --- /dev/null +++ b/libs/core-rest-api/adapters/src/database/repositories/psychologist/postgresql-prisma-orm-repository.ts @@ -0,0 +1,111 @@ +import { PsychologistEntity } from '@clinicControl/core-rest-api/core/src/domains/psychologist/entities/psychologist/entity'; +import { PsychologistDatabaseRepository } from '@clinicControl/core-rest-api/core/src/domains/psychologist/repositories/database-repository'; +import { CreatePsychologistDto } from '@clinicControl/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist-dto'; +import { UpdatePsychologistDto } from '@clinicControl/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist-dto'; +import { HashGenerator } from '@clinicControl/core-rest-api/core/src/shared/cryptography/hash-generator'; +import { PSYCHOLOGIST_ERROR_MESSAGES } from '@clinicControl/core-rest-api/core/src/shared/errors/error-messages'; +import { ConflictException, Injectable } from '@nestjs/common'; +import { PostgreSqlPrismaOrmService } from '../../../database/infra/prisma/prisma.service'; +import { PostgresqlPrismaPsychologistMapper } from '../../mappers/postgresql-prisma-psychologist-mapper'; + +@Injectable() +export class PostgresqlPrismaOrmPsychologistRepository + implements PsychologistDatabaseRepository +{ + constructor( + private postgreSqlPrismaOrmService: PostgreSqlPrismaOrmService, + private hashGenerator: HashGenerator + ) {} + + async createPsychologist( + psychologist: CreatePsychologistDto + ): Promise { + const isPsychologistExists = await this.findPsychologistByEmail(psychologist.email); + + if (isPsychologistExists) { + throw new ConflictException( + PSYCHOLOGIST_ERROR_MESSAGES['PSYCHOLOGIST_ALREADY_EXISTS'] + ); + } + + const hashedPassword = await this.hashGenerator.hash(psychologist.password); + + const toPrismaEntity = PostgresqlPrismaPsychologistMapper.toPrismaCreate({ + ...psychologist, + password: hashedPassword, + }); + + const newPsychologist = await this.postgreSqlPrismaOrmService['psychologist'].create( + toPrismaEntity + ); + + return PostgresqlPrismaPsychologistMapper.toDomain(newPsychologist); + } + + async findPsychologistByEmail(email: string): Promise { + const psychologist = await this.postgreSqlPrismaOrmService['psychologist'].findUnique( + { + where: { + email: email, + }, + } + ); + + if (!psychologist) { + return null; + } + + return PostgresqlPrismaPsychologistMapper.toDomain(psychologist); + } + + async findPsychologistById(id: string): Promise { + const psychologist = await this.postgreSqlPrismaOrmService['psychologist'].findUnique( + { + where: { + id: id, + }, + } + ); + + if (!psychologist) { + return null; + } + + return PostgresqlPrismaPsychologistMapper.toDomain(psychologist); + } + + async getPsychologists(): Promise { + const psychologists = await this.postgreSqlPrismaOrmService[ + 'psychologist' + ].findMany(); + + return PostgresqlPrismaPsychologistMapper.toDomainMany(psychologists); + } + + async updatePsychologist(newPsychologist: UpdatePsychologistDto): Promise { + const oldPsychologist = await this.findPsychologistById(newPsychologist.id); + + if (!oldPsychologist) { + throw new ConflictException(PSYCHOLOGIST_ERROR_MESSAGES['PSYCHOLOGIST_NOT_FOUND']); + } + + const toPrismaEntity = + PostgresqlPrismaPsychologistMapper.toPrismaUpdate(newPsychologist); + + await this.postgreSqlPrismaOrmService['psychologist'].update(toPrismaEntity); + } + + async deletePsychologist(email: string): Promise { + const isPsychologistExists = await this.findPsychologistByEmail(email); + + if (!isPsychologistExists) { + throw new ConflictException(PSYCHOLOGIST_ERROR_MESSAGES['PSYCHOLOGIST_NOT_FOUND']); + } + + await this.postgreSqlPrismaOrmService['psychologist'].delete({ + where: { + email: email, + }, + }); + } +} diff --git a/libs/core-rest-api/adapters/src/database/repositories/repositories.module.ts b/libs/core-rest-api/adapters/src/database/repositories/repositories.module.ts index 8b13789..1d79e6e 100644 --- a/libs/core-rest-api/adapters/src/database/repositories/repositories.module.ts +++ b/libs/core-rest-api/adapters/src/database/repositories/repositories.module.ts @@ -1 +1,25 @@ +import { PsychologistDatabaseRepository } from '@clinicControl/core-rest-api/core/src/domains/psychologist/repositories/database-repository'; +import { Module } from '@nestjs/common'; +import { CryptographyModule } from '../../cryptography/cryptography.module'; +import { PostgreSqlPrismaOrmService } from '../infra/prisma/prisma.service'; +import { PostgresqlPrismaOrmPsychologistRepository } from './psychologist/postgresql-prisma-orm-repository'; +@Module({ + imports: [CryptographyModule], + controllers: [], + providers: [ + PostgreSqlPrismaOrmService, + { + provide: PsychologistDatabaseRepository, + useClass: PostgresqlPrismaOrmPsychologistRepository, + }, + ], + exports: [ + PostgreSqlPrismaOrmService, + { + provide: PsychologistDatabaseRepository, + useClass: PostgresqlPrismaOrmPsychologistRepository, + }, + ], +}) +export class DatabaseRepositoriesModule {} diff --git a/libs/core-rest-api/adapters/src/env/env.module.ts b/libs/core-rest-api/adapters/src/env/env.module.ts new file mode 100644 index 0000000..387964a --- /dev/null +++ b/libs/core-rest-api/adapters/src/env/env.module.ts @@ -0,0 +1,8 @@ +import { Module } from '@nestjs/common'; +import { EnvService } from './env.service'; + +@Module({ + providers: [EnvService], + exports: [EnvService], +}) +export class EnvModule {} diff --git a/libs/core-rest-api/adapters/src/env/env.service.ts b/libs/core-rest-api/adapters/src/env/env.service.ts new file mode 100644 index 0000000..a8d2418 --- /dev/null +++ b/libs/core-rest-api/adapters/src/env/env.service.ts @@ -0,0 +1,12 @@ +import { Injectable } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { Env } from './env'; + +@Injectable() +export class EnvService { + constructor(private configService: ConfigService) {} + + get(key: T) { + return this.configService.get(key, { infer: true }); + } +} diff --git a/libs/core-rest-api/adapters/src/env/env.ts b/libs/core-rest-api/adapters/src/env/env.ts new file mode 100644 index 0000000..80538c2 --- /dev/null +++ b/libs/core-rest-api/adapters/src/env/env.ts @@ -0,0 +1,22 @@ +import { z } from 'zod'; + +export const envSchema = z.object({ + // ########## Application ########## + // Environment + NODE_ENV: z.string().default('development'), + PORT: z.coerce.number().optional().default(3333), + + // Auth + JWT_PRIVATE_KEY: z.string(), + JWT_PUBLIC_KEY: z.string(), + + // ########## Database ########## + POSTGRES_USER: z.string(), + POSTGRES_PASSWORD: z.string(), + POSTGRES_DB: z.string(), + POSTGRES_HOST: z.string(), + POSTGRES_PORT: z.coerce.number().optional().default(5432), + POSTGRES_SCHEMA: z.string(), +}); + +export type Env = z.infer; diff --git a/libs/core-rest-api/adapters/tests/cryptography/fake-encrypter.ts b/libs/core-rest-api/adapters/tests/cryptography/fake-encrypter.ts new file mode 100644 index 0000000..82dfed5 --- /dev/null +++ b/libs/core-rest-api/adapters/tests/cryptography/fake-encrypter.ts @@ -0,0 +1,12 @@ +/* + Para facilitar os testes, o mÊtodo encrypt retorna o payload em formato JSON e nÃŖo um JWT accessToken. + Esta classe Ê um mock para ser usada exclusivamente nos testes. +*/ + +import { Encrypter } from '@clinicControl/core-rest-api/core/src/shared/cryptography/encrypter'; + +export class FakeEncrypter implements Encrypter { + async encrypt(payload: Record): Promise { + return JSON.stringify(payload); + } +} diff --git a/libs/core-rest-api/adapters/tests/cryptography/fake-hasher.ts b/libs/core-rest-api/adapters/tests/cryptography/fake-hasher.ts new file mode 100644 index 0000000..6361f81 --- /dev/null +++ b/libs/core-rest-api/adapters/tests/cryptography/fake-hasher.ts @@ -0,0 +1,18 @@ +/* + Importante retornar no mÊtodo hash algo diferente do plain (password), pois o hash Ê usado para comparar. + E vale lembrar que na implementaçÃŖo real a senha do usuÃĄrio Ê salva criptografada no banco de dados. + Esta classe Ê um mock para ser usada exclusivamente nos testes. +*/ + +import { HashComparer } from '@clinicControl/core-rest-api/core/src/shared/cryptography/hash-comparer'; +import { HashGenerator } from '@clinicControl/core-rest-api/core/src/shared/cryptography/hash-generator'; + +export class FakeHasher implements HashGenerator, HashComparer { + async hash(plain: string): Promise { + return plain.concat('-hashed'); + } + + async compare(plain: string, hash: string): Promise { + return plain.concat('-hashed') === hash; + } +} diff --git a/libs/core-rest-api/adapters/tests/factories/make-psychologist.ts b/libs/core-rest-api/adapters/tests/factories/make-psychologist.ts new file mode 100644 index 0000000..8040de3 --- /dev/null +++ b/libs/core-rest-api/adapters/tests/factories/make-psychologist.ts @@ -0,0 +1,49 @@ +import { fakerPT_BR as faker } from '@faker-js/faker'; +import { Injectable } from '@nestjs/common'; + +import { PsychologistEntity } from '@clinicControl/core-rest-api/core/src/domains/psychologist/entities/psychologist/entity'; +import { CreatePsychologistDto } from '@clinicControl/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist-dto'; +import { + Plan, + Role, +} from '@clinicControl/core-rest-api/core/src/shared/interfaces/payments'; +import { PostgreSqlPrismaOrmService } from '../../src/database/infra/prisma/prisma.service'; +import { PostgresqlPrismaPsychologistMapper } from '../../src/database/mappers/postgresql-prisma-psychologist-mapper'; + +/* + Creating a factory for the Psychologist entity, which will be used to create tests for the domain's use cases +*/ +export function makePsychologist( + override: Partial = {} +): PsychologistEntity { + const newPsychologist = new PsychologistEntity({ + name: 'Novo UsuÃĄrio Teste', + email: 'novo_usuario_teste@gmail.com', + password: faker.internet.password({ length: 8 }), + role: Role.PSYCHOLOGIST, + plan: Plan.BASIC, + ...override, + }); + + return newPsychologist; +} + +/* + Creating a factory for Prisma's Psychologist entity, which will be used to create e2e tests (controllers) +*/ +@Injectable() +export class PsychologistFactory { + constructor(private postgreSqlPrismaOrmService: PostgreSqlPrismaOrmService) {} + + async makePrismaPsychologist( + psychologist: CreatePsychologistDto + ): Promise { + const newPrismaPsychologist = makePsychologist(psychologist); + + await this.postgreSqlPrismaOrmService['psychologist'].create( + PostgresqlPrismaPsychologistMapper.toPrismaCreate(newPrismaPsychologist) + ); + + return newPrismaPsychologist; + } +} diff --git a/libs/core-rest-api/adapters/tests/setup-e2e.ts b/libs/core-rest-api/adapters/tests/setup-e2e.ts new file mode 100644 index 0000000..3b361bd --- /dev/null +++ b/libs/core-rest-api/adapters/tests/setup-e2e.ts @@ -0,0 +1,46 @@ +/* + Como o arquivo de setup Ê uma dependÃĒncia do vitest, nÃŖo conseguiremos usar o env.ts para configurar as variÃĄveis de ambiente. + EntÃŖo instalamos o dotenv como dev dependencies +*/ + +import 'dotenv/config'; + +import { PrismaClient } from '@prisma/client'; +import { execSync } from 'node:child_process'; +import { randomUUID } from 'node:crypto'; + +const prisma = new PrismaClient(); + +function generateUniqueDatabaseURL(schemaId: string) { + if (!process.env['DATABASE_URL']) { + throw new Error('Please provider a DATABASE_URL environment variable'); + } + + console.log('setting up test e2e url database...'); + + const url = new URL(process.env['DATABASE_URL']); + + console.log('url', process.env['DATABASE_URL']); + url.searchParams.set('schema', schemaId); + + return url.toString(); +} + +const schemaId = randomUUID(); + +beforeAll(async () => { + const databaseURL = generateUniqueDatabaseURL(schemaId); + + process.env['DATABASE_URL'] = databaseURL; + + console.log('databaseURL', databaseURL); + console.log('connecting test e2e database...'); + execSync( + 'pnpm prisma migrate deploy --schema=./libs/core-rest-api/adapters/src/database/infra/prisma/postgresql.schema.prisma' + ); +}); + +afterAll(async () => { + await prisma.$executeRawUnsafe(`DROP SCHEMA IF EXISTS "${schemaId}" CASCADE`); + await prisma.$disconnect(); +}); diff --git a/libs/core-rest-api/adapters/src/database/repositories/users/user-prisma-repository.ts b/libs/core-rest-api/adapters/tests/utils/.gitkeep similarity index 100% rename from libs/core-rest-api/adapters/src/database/repositories/users/user-prisma-repository.ts rename to libs/core-rest-api/adapters/tests/utils/.gitkeep diff --git a/libs/core-rest-api/adapters/tsconfig.json b/libs/core-rest-api/adapters/tsconfig.json index 8122543..f2d6ce4 100644 --- a/libs/core-rest-api/adapters/tsconfig.json +++ b/libs/core-rest-api/adapters/tsconfig.json @@ -7,7 +7,8 @@ "noImplicitOverride": true, "noPropertyAccessFromIndexSignature": true, "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + "esModuleInterop": true }, "files": [], "include": [], @@ -18,5 +19,6 @@ { "path": "./tsconfig.spec.json" } - ] + ], + "types": ["vitest/globals"] } diff --git a/libs/core-rest-api/adapters/tsconfig.lib.json b/libs/core-rest-api/adapters/tsconfig.lib.json index dbf54fd..46cbaf4 100644 --- a/libs/core-rest-api/adapters/tsconfig.lib.json +++ b/libs/core-rest-api/adapters/tsconfig.lib.json @@ -11,6 +11,6 @@ "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true }, - "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] + "include": ["src/**/*.ts", "tests/**/*.ts"], + "exclude": ["src/**/*.spec.ts", "src/**/*.e2e-spec.ts"] } diff --git a/libs/core-rest-api/adapters/tsconfig.spec.json b/libs/core-rest-api/adapters/tsconfig.spec.json index 69a251f..f729c32 100644 --- a/libs/core-rest-api/adapters/tsconfig.spec.json +++ b/libs/core-rest-api/adapters/tsconfig.spec.json @@ -1,13 +1,14 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] + "outDir": "../../dist/out-tsc", + "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node", "vitest"] }, "include": [ - "jest.config.ts", - "src/**/*.test.ts", + "vite.config.ts", + "vitest.config.e2e.ts", + "tests/**/*.ts", + "src/**/*.e2e-spec.ts", "src/**/*.spec.ts", "src/**/*.d.ts" ] diff --git a/libs/core-rest-api/adapters/vite.config.ts b/libs/core-rest-api/adapters/vite.config.ts new file mode 100644 index 0000000..afa712d --- /dev/null +++ b/libs/core-rest-api/adapters/vite.config.ts @@ -0,0 +1,30 @@ +/// +import swc from 'unplugin-swc'; +import { defineConfig } from 'vite'; + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; + +export default defineConfig({ + cacheDir: '../../../node_modules/.vite/core-rest-api-adapters', + + plugins: [ + nxViteTsPaths(), + swc.vite({ + module: { type: 'es6' }, + }), + ], + + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + test: { + globals: true, + environment: 'node', + cache: { + dir: '../../../node_modules/.vitest', + }, + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + }, +}); diff --git a/libs/core-rest-api/adapters/vitest.config.e2e.ts b/libs/core-rest-api/adapters/vitest.config.e2e.ts new file mode 100644 index 0000000..5e70679 --- /dev/null +++ b/libs/core-rest-api/adapters/vitest.config.e2e.ts @@ -0,0 +1,20 @@ +import swc from 'unplugin-swc'; +import { defineConfig } from 'vite'; + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; + +export default defineConfig({ + plugins: [ + nxViteTsPaths(), + swc.vite({ + module: { type: 'es6' }, + }), + ], + test: { + globals: true, + include: ['**/*.e2e-spec.ts'], + root: './libs/core-rest-api/adapters/', + setupFiles: ['./tests/setup-e2e.ts'], + environment: 'node', + }, +}); diff --git a/libs/core-rest-api/core/jest.config.ts b/libs/core-rest-api/core/ajest.config.ts similarity index 100% rename from libs/core-rest-api/core/jest.config.ts rename to libs/core-rest-api/core/ajest.config.ts diff --git a/libs/core-rest-api/core/package.json b/libs/core-rest-api/core/package.json index 2c821da..53257a1 100644 --- a/libs/core-rest-api/core/package.json +++ b/libs/core-rest-api/core/package.json @@ -8,8 +8,8 @@ "email": "italorockamaral@gmail.com" }, { - "name": "Luana Vefago", - "email": "" + "name": "Luana Vefago dos Santos", + "email": "luanavefago1@gmail.com" } ] } diff --git a/libs/core-rest-api/core/project.json b/libs/core-rest-api/core/project.json index 4143df0..a610aec 100644 --- a/libs/core-rest-api/core/project.json +++ b/libs/core-rest-api/core/project.json @@ -12,10 +12,9 @@ } }, "test": { - "executor": "@nx/jest:jest", + "executor": "@nx/vite:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { - "jestConfig": "libs/core-rest-api/core/jest.config.ts", "passWithNoTests": true }, "configurations": { diff --git a/libs/core-rest-api/core/src/domains/appointment/entities/appointment/dto.ts b/libs/core-rest-api/core/src/domains/appointment/entities/appointment/dto.ts index 0c6dddc..b78d4b0 100644 --- a/libs/core-rest-api/core/src/domains/appointment/entities/appointment/dto.ts +++ b/libs/core-rest-api/core/src/domains/appointment/entities/appointment/dto.ts @@ -1,4 +1,11 @@ -import { IsBoolean, IsDate, IsOptional, IsString } from 'class-validator'; +import { + IsBoolean, + IsDate, + IsEnum, + IsOptional, + IsString, +} from 'class-validator'; +import { PaymentMethod } from '../../../../shared/interfaces/payments'; export class AppointmentDto { @IsString() @@ -22,8 +29,9 @@ export class AppointmentDto { @IsBoolean() confirmed!: boolean; + @IsOptional() @IsDate() - confirmationDate!: Date | null; + confirmationDate?: Date | null; @IsBoolean() cancelled!: boolean; @@ -43,8 +51,8 @@ export class AppointmentDto { @IsBoolean() paid?: boolean; - @IsString() - paymentMethod!: string; + @IsEnum(PaymentMethod) + paymentMethod!: PaymentMethod; @IsDate() createdAt!: Date; diff --git a/libs/core-rest-api/core/src/domains/appointment/entities/appointment/entity.ts b/libs/core-rest-api/core/src/domains/appointment/entities/appointment/entity.ts index 4f05733..ae58754 100644 --- a/libs/core-rest-api/core/src/domains/appointment/entities/appointment/entity.ts +++ b/libs/core-rest-api/core/src/domains/appointment/entities/appointment/entity.ts @@ -1,4 +1,5 @@ import { randomUUID } from 'crypto'; +import { PaymentMethod } from '../../../../shared/interfaces/payments'; import { IAppointmentProps } from '../../interfaces/appointment'; import { AppointmentDto } from './dto'; @@ -114,11 +115,11 @@ export class AppointmentEntity extends AppointmentDto { this.paid = paid; } - public get getPaymentMethod(): string { + public get getPaymentMethod(): PaymentMethod { return this.paymentMethod; } - public set setPaymentMethod(paymentMethod: string) { + public set setPaymentMethod(paymentMethod: PaymentMethod) { this.paymentMethod = paymentMethod; } diff --git a/libs/core-rest-api/core/src/domains/appointment/repositories/database-in-memory-repository.ts b/libs/core-rest-api/core/src/domains/appointment/repositories/database-in-memory-repository.ts index 6674315..721db40 100644 --- a/libs/core-rest-api/core/src/domains/appointment/repositories/database-in-memory-repository.ts +++ b/libs/core-rest-api/core/src/domains/appointment/repositories/database-in-memory-repository.ts @@ -1,4 +1,4 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { APPOINTMENT_ERROR_MESSAGES } from '../../../shared/errors/error-messages'; import { AppointmentEntity } from '../entities/appointment/entity'; import { CreateSingleAppointmentDto } from '../use-cases/create-single-appointment/create-single-appointment-dto'; @@ -6,7 +6,6 @@ import { UpdatedAppointmentDateDto } from '../use-cases/update-appointment-date/ import { UpdatedAppointmentInfoDto } from '../use-cases/update-appointment-info/update-appointment-info-dto'; import { AppointmentDatabaseRepository } from './database-repository'; -@Injectable() export class InMemoryAppointmentDatabaseRepository implements AppointmentDatabaseRepository { @@ -81,25 +80,31 @@ export class InMemoryAppointmentDatabaseRepository this.appointments[appointmentIndex] = updatedAppointment; } - async updateAppointmentDate(newAppointmentInfo: UpdatedAppointmentDateDto): Promise { - const oldAppointmentInfo = await this.findSingleAppointmentById(newAppointmentInfo.id) + async updateAppointmentDate( + newAppointmentInfo: UpdatedAppointmentDateDto + ): Promise { + const oldAppointmentInfo = await this.findSingleAppointmentById( + newAppointmentInfo.id + ); if (!oldAppointmentInfo) { - throw new ConflictException(APPOINTMENT_ERROR_MESSAGES['APPOINTMENT_NOT_FOUND']) + throw new ConflictException( + APPOINTMENT_ERROR_MESSAGES['APPOINTMENT_NOT_FOUND'] + ); } const appointmentIndex = this.appointments.findIndex((appointment) => { - return appointment.id = newAppointmentInfo.id - }) + return (appointment.id = newAppointmentInfo.id); + }); const updateAppointmentDate = Object.assign(oldAppointmentInfo, { ...newAppointmentInfo, - updatedAt: new Date() + updatedAt: new Date(), }); this.appointments[appointmentIndex] = updateAppointmentDate; } - + async deleteSingleAppointment(appointmentId: string): Promise { const isAppointmentExist = await this.findSingleAppointmentById( appointmentId diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment-dto.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment-dto.ts index 6a68bee..01951db 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment-dto.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment-dto.ts @@ -1,4 +1,4 @@ -import { IsBoolean, IsDate, IsString } from 'class-validator'; +import { IsBoolean, IsDate, IsEnum, IsString } from 'class-validator'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; export class CreateSingleAppointmentDto { @@ -26,6 +26,6 @@ export class CreateSingleAppointmentDto { @IsBoolean() cancelled!: boolean; - @IsString() + @IsEnum(PaymentMethod) paymentMethod!: PaymentMethod; } diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment.service.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment.service.ts index 7a6039a..5dcd74e 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment.service.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment.service.ts @@ -1,6 +1,6 @@ /* eslint-disable @nx/enforce-module-boundaries */ import { applicationValidateOrReject } from '@clinicControl/core-rest-api/core/src/shared/validators/validate-or-reject'; -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { plainToInstance } from 'class-transformer'; import { APPOINTMENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { AppointmentEntity } from '../../entities/appointment/entity'; @@ -8,7 +8,6 @@ import { ICreateAppointmentServiceProps } from '../../interfaces/appointment'; import { AppointmentDatabaseRepository } from '../../repositories/database-repository'; import { CreateSingleAppointmentDto } from './create-single-appointment-dto'; -@Injectable() export class CreateSingleAppointmentService { constructor( private appointmentDatabaseRepository: AppointmentDatabaseRepository diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment.spec.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment.spec.ts index 81bff06..c15d7ed 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment.spec.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/create-single-appointment/create-single-appointment.spec.ts @@ -1,5 +1,4 @@ -import { faker } from '@faker-js/faker'; -import { Test, TestingModule } from '@nestjs/testing'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { CreateSingleAppointmentService } from './create-single-appointment.service'; import { ConflictException } from '@nestjs/common'; @@ -26,22 +25,8 @@ describe('[appointment] Create Single Appointment Service', () => { let databaseRepository: AppointmentDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - CreateSingleAppointmentService, - { - provide: AppointmentDatabaseRepository, - useClass: InMemoryAppointmentDatabaseRepository, - }, - ], - }).compile(); - - service = module.get( - CreateSingleAppointmentService - ); - databaseRepository = module.get( - AppointmentDatabaseRepository - ); + databaseRepository = new InMemoryAppointmentDatabaseRepository(); + service = new CreateSingleAppointmentService(databaseRepository); }); it('should create a new appointment', async () => { diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/delete-single-appointment/delete-single-appointment.service.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/delete-single-appointment/delete-single-appointment.service.ts index d76b13d..6306a5a 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/delete-single-appointment/delete-single-appointment.service.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/delete-single-appointment/delete-single-appointment.service.ts @@ -1,23 +1,25 @@ -import { ConflictException, Injectable } from "@nestjs/common"; -import { APPOINTMENT_ERROR_MESSAGES } from "../../../../shared/errors/error-messages"; -import { AppointmentDatabaseRepository } from "../../repositories/database-repository"; +import { ConflictException } from '@nestjs/common'; +import { APPOINTMENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; +import { AppointmentDatabaseRepository } from '../../repositories/database-repository'; -@Injectable() export class DeleteSingleAppointmentService { constructor( private appointmentDatabaseRepository: AppointmentDatabaseRepository ) {} - async execute( - appointmentId: string - ) : Promise { - const isAppointmentExists = await this.appointmentDatabaseRepository.findSingleAppointmentById(appointmentId) + async execute(appointmentId: string): Promise { + const isAppointmentExists = + await this.appointmentDatabaseRepository.findSingleAppointmentById( + appointmentId + ); - if(!isAppointmentExists) { - throw new ConflictException(APPOINTMENT_ERROR_MESSAGES['APPOINTMENT_NOT_FOUND']) + if (!isAppointmentExists) { + throw new ConflictException( + APPOINTMENT_ERROR_MESSAGES['APPOINTMENT_NOT_FOUND'] + ); } // Delete - this.appointmentDatabaseRepository.deleteSingleAppointment(appointmentId) + this.appointmentDatabaseRepository.deleteSingleAppointment(appointmentId); } } diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/delete-single-appointment/delete-single-appointment.spec.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/delete-single-appointment/delete-single-appointment.spec.ts index 5ada290..9b673a0 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/delete-single-appointment/delete-single-appointment.spec.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/delete-single-appointment/delete-single-appointment.spec.ts @@ -1,6 +1,5 @@ -import { faker } from '@faker-js/faker'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { ConflictException } from '@nestjs/common'; -import { Test, TestingModule } from '@nestjs/testing'; import { randomUUID } from 'crypto'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; import { InMemoryAppointmentDatabaseRepository } from '../../repositories/database-in-memory-repository'; @@ -25,22 +24,8 @@ describe('[appointment] Create Single Appointment Service', () => { let databaseRepository: AppointmentDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - DeleteSingleAppointmentService, - { - provide: AppointmentDatabaseRepository, - useClass: InMemoryAppointmentDatabaseRepository, - }, - ], - }).compile(); - - service = module.get( - DeleteSingleAppointmentService - ); - databaseRepository = module.get( - AppointmentDatabaseRepository - ); + databaseRepository = new InMemoryAppointmentDatabaseRepository(); + service = new DeleteSingleAppointmentService(databaseRepository); }); it('should delete a new appointment', async () => { diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-date/update-appointment-date.service.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-date/update-appointment-date.service.ts index cc65390..c1195e8 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-date/update-appointment-date.service.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-date/update-appointment-date.service.ts @@ -1,12 +1,11 @@ -import { ConflictException, Injectable } from "@nestjs/common"; -import { plainToInstance } from "class-transformer"; -import { APPOINTMENT_ERROR_MESSAGES } from "../../../../shared/errors/error-messages"; -import { applicationValidateOrReject } from "../../../../shared/validators/validate-or-reject"; -import { AppointmentDatabaseRepository } from "../../repositories/database-repository"; -import { UpdatedAppointmentDateDto } from "./update-appointment-date-dto"; +import { ConflictException } from '@nestjs/common'; +import { plainToInstance } from 'class-transformer'; +import { APPOINTMENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; +import { applicationValidateOrReject } from '../../../../shared/validators/validate-or-reject'; +import { AppointmentDatabaseRepository } from '../../repositories/database-repository'; +import { UpdatedAppointmentDateDto } from './update-appointment-date-dto'; -@Injectable() -export class UpdateAppointmentDateService{ +export class UpdateAppointmentDateService { constructor( private appointmentDatabaseRepository: AppointmentDatabaseRepository ) {} @@ -17,18 +16,22 @@ export class UpdateAppointmentDateService{ const updateAppointmentDateDtoInstance = plainToInstance( UpdatedAppointmentDateDto, newAppointmentInfo - ) + ); - await applicationValidateOrReject(updateAppointmentDateDtoInstance) + await applicationValidateOrReject(updateAppointmentDateDtoInstance); - const oldAppointmentInfo = + const oldAppointmentInfo = await this.appointmentDatabaseRepository.findSingleAppointmentById( newAppointmentInfo.id - ) - if(!oldAppointmentInfo) { - throw new ConflictException(APPOINTMENT_ERROR_MESSAGES['APPOINTMENT_NOT_FOUND']) + ); + if (!oldAppointmentInfo) { + throw new ConflictException( + APPOINTMENT_ERROR_MESSAGES['APPOINTMENT_NOT_FOUND'] + ); } - await this.appointmentDatabaseRepository.updateAppointmentDate(newAppointmentInfo) + await this.appointmentDatabaseRepository.updateAppointmentDate( + newAppointmentInfo + ); } } diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-date/update-appointment-date.spec.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-date/update-appointment-date.spec.ts index 3815daa..b0da7dd 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-date/update-appointment-date.spec.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-date/update-appointment-date.spec.ts @@ -1,13 +1,12 @@ -import { faker } from "@faker-js/faker"; -import { ConflictException } from "@nestjs/common"; -import { Test, TestingModule } from "@nestjs/testing"; -import { randomUUID } from "crypto"; -import { APPOINTMENT_ERROR_MESSAGES } from "../../../../shared/errors/error-messages"; -import { PaymentMethod } from "../../../../shared/interfaces/payments"; -import { InMemoryAppointmentDatabaseRepository } from "../../repositories/database-in-memory-repository"; -import { AppointmentDatabaseRepository } from "../../repositories/database-repository"; -import { CreateSingleAppointmentDto } from "../create-single-appointment/create-single-appointment-dto"; -import { UpdatedAppointmentDateDto } from "./update-appointment-date-dto"; +import { faker } from '@faker-js/faker'; +import { ConflictException } from '@nestjs/common'; +import { randomUUID } from 'crypto'; +import { APPOINTMENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; +import { PaymentMethod } from '../../../../shared/interfaces/payments'; +import { InMemoryAppointmentDatabaseRepository } from '../../repositories/database-in-memory-repository'; +import { AppointmentDatabaseRepository } from '../../repositories/database-repository'; +import { CreateSingleAppointmentDto } from '../create-single-appointment/create-single-appointment-dto'; +import { UpdatedAppointmentDateDto } from './update-appointment-date-dto'; import { UpdateAppointmentDateService } from './update-appointment-date.service'; describe('[appointment] Update Appointment Info Service', () => { @@ -27,46 +26,34 @@ describe('[appointment] Update Appointment Info Service', () => { let databaseRepository: AppointmentDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - UpdateAppointmentDateService, - { - provide: AppointmentDatabaseRepository, - useClass: InMemoryAppointmentDatabaseRepository, - }, - ], - }).compile(); - - service = module.get( - UpdateAppointmentDateService - ); - databaseRepository = module.get( - AppointmentDatabaseRepository - ); + databaseRepository = new InMemoryAppointmentDatabaseRepository(); + service = new UpdateAppointmentDateService(databaseRepository); }); it('should update an appointment', async () => { - const createAppointment = await databaseRepository.createSingleAppointment(fakeAppointment) + const createAppointment = await databaseRepository.createSingleAppointment( + fakeAppointment + ); const newAppointmentInfo: UpdatedAppointmentDateDto = { date: new Date(), - id: createAppointment.id - } + id: createAppointment.id, + }; - await service.execute(newAppointmentInfo) - const findAppointment = await databaseRepository.findSingleAppointmentById(newAppointmentInfo.id) + await service.execute(newAppointmentInfo); + const findAppointment = await databaseRepository.findSingleAppointmentById( + newAppointmentInfo.id + ); expect(findAppointment).toEqual({ ...createAppointment, ...newAppointmentInfo, - }) + }); expect(findAppointment?.date).toBe(newAppointmentInfo.date); - expect(findAppointment?.date).not.toBe( - fakeAppointment.date - ); - }) + expect(findAppointment?.date).not.toBe(fakeAppointment.date); + }); it('should throw error if appointment does not exist', async () => { const newAppointmentDate: UpdatedAppointmentDateDto = { @@ -78,4 +65,4 @@ describe('[appointment] Update Appointment Info Service', () => { new ConflictException(APPOINTMENT_ERROR_MESSAGES['APPOINTMENT_NOT_FOUND']) ); }); -}) \ No newline at end of file +}); diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info-dto.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info-dto.ts index cdba42a..b4c418e 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info-dto.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info-dto.ts @@ -1,4 +1,10 @@ -import { IsBoolean, IsDate, IsOptional, IsString } from 'class-validator'; +import { + IsBoolean, + IsDate, + IsEnum, + IsOptional, + IsString, +} from 'class-validator'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; export class UpdatedAppointmentInfoDto { @@ -38,6 +44,6 @@ export class UpdatedAppointmentInfoDto { paid?: boolean; @IsOptional() - @IsString() + @IsEnum(PaymentMethod) paymentMethod?: PaymentMethod; } diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info.service.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info.service.ts index f45e875..3e96854 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info.service.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info.service.ts @@ -1,11 +1,10 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { plainToInstance } from 'class-transformer'; import { APPOINTMENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { applicationValidateOrReject } from '../../../../shared/validators/validate-or-reject'; import { AppointmentDatabaseRepository } from '../../repositories/database-repository'; import { UpdatedAppointmentInfoDto } from './update-appointment-info-dto'; -@Injectable() export class UpdateAppointmentInfoService { constructor( private appointmentDatabaseRepository: AppointmentDatabaseRepository diff --git a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info.spec.ts b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info.spec.ts index e126908..157a6a1 100644 --- a/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info.spec.ts +++ b/libs/core-rest-api/core/src/domains/appointment/use-cases/update-appointment-info/update-appointment-info.spec.ts @@ -1,6 +1,5 @@ -import { faker } from '@faker-js/faker'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { ConflictException } from '@nestjs/common'; -import { Test, TestingModule } from '@nestjs/testing'; import { randomUUID } from 'crypto'; import { APPOINTMENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; @@ -27,22 +26,8 @@ describe('[appointment] Update Appointment Info Service', () => { let databaseRepository: AppointmentDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - UpdateAppointmentInfoService, - { - provide: AppointmentDatabaseRepository, - useClass: InMemoryAppointmentDatabaseRepository, - }, - ], - }).compile(); - - service = module.get( - UpdateAppointmentInfoService - ); - databaseRepository = module.get( - AppointmentDatabaseRepository - ); + databaseRepository = new InMemoryAppointmentDatabaseRepository(); + service = new UpdateAppointmentInfoService(databaseRepository); }); it('should update an appointment', async () => { diff --git a/libs/core-rest-api/core/src/domains/clinic/entities/clinic/dto.ts b/libs/core-rest-api/core/src/domains/clinic/entities/clinic/dto.ts index 77e8e0e..fcc2f4f 100644 --- a/libs/core-rest-api/core/src/domains/clinic/entities/clinic/dto.ts +++ b/libs/core-rest-api/core/src/domains/clinic/entities/clinic/dto.ts @@ -1,4 +1,4 @@ -import { IsString, IsDate, IsOptional } from 'class-validator'; +import { IsDate, IsOptional, IsString } from 'class-validator'; export class ClinicDto { @IsString() @@ -12,7 +12,7 @@ export class ClinicDto { @IsOptional() @IsString() - adress?: string | null; + address?: string | null; @IsString() city!: string; diff --git a/libs/core-rest-api/core/src/domains/clinic/entities/clinic/entity.ts b/libs/core-rest-api/core/src/domains/clinic/entities/clinic/entity.ts index 48be41f..0639d70 100644 --- a/libs/core-rest-api/core/src/domains/clinic/entities/clinic/entity.ts +++ b/libs/core-rest-api/core/src/domains/clinic/entities/clinic/entity.ts @@ -8,7 +8,7 @@ export class ClinicEntity extends ClinicDto { Object.assign(this, props); this.id = props.id ?? randomUUID(); this.createdAt = props.createdAt ?? new Date(); - this.adress = props.adress ?? null; + this.address = props.address ?? null; } public get getId(): string { @@ -31,12 +31,12 @@ export class ClinicEntity extends ClinicDto { this.psychologistId = psychologistId; } - public get getAdress(): string | null | undefined { - return this.adress; + public get getaddress(): string | null | undefined { + return this.address; } - public set setAdress(adress: string) { - this.adress = adress; + public set setaddress(address: string) { + this.address = address; } public get getCity(): string { diff --git a/libs/core-rest-api/core/src/domains/clinic/repositories/database-in-memory-repository.ts b/libs/core-rest-api/core/src/domains/clinic/repositories/database-in-memory-repository.ts index bd1e102..366305e 100644 --- a/libs/core-rest-api/core/src/domains/clinic/repositories/database-in-memory-repository.ts +++ b/libs/core-rest-api/core/src/domains/clinic/repositories/database-in-memory-repository.ts @@ -1,11 +1,10 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { CLINIC_ERROR_MESSAGES } from '../../../shared/errors/error-messages'; import { ClinicEntity } from '../../clinic/entities/clinic/entity'; import { CreateClinicDto } from '../../clinic/use-cases/create-clinic/create-clinic-dto'; import { UpdateClinicDto } from '../use-cases/update-clinic/update-clinic-dto'; import { ClinicDatabaseRepository } from './database-repository'; -@Injectable() export class InMemoryClinicDatabaseRepository implements ClinicDatabaseRepository { diff --git a/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic-dto.ts b/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic-dto.ts index 120d591..6551ccc 100644 --- a/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic-dto.ts +++ b/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic-dto.ts @@ -1,4 +1,4 @@ -import { IsString, IsDate, IsOptional } from 'class-validator'; +import { IsDate, IsOptional, IsString } from 'class-validator'; export class CreateClinicDto { @IsString() @@ -9,7 +9,7 @@ export class CreateClinicDto { @IsOptional() @IsString() - adress?: string | null; + address?: string | null; @IsString() city!: string; diff --git a/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic.service.ts b/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic.service.ts index 6a65c89..dceb386 100644 --- a/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic.service.ts +++ b/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic.service.ts @@ -1,4 +1,4 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { plainToInstance } from 'class-transformer'; import { CLINIC_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { applicationValidateOrReject } from '../../../../shared/validators/validate-or-reject'; @@ -7,7 +7,6 @@ import { ICreateClinicServiceProps } from '../../interfaces/clinic'; import { ClinicDatabaseRepository } from '../../repositories/database-repository'; import { CreateClinicDto } from './create-clinic-dto'; -@Injectable() export class CreateClinicService { constructor(private clinicDatabaseRepository: ClinicDatabaseRepository) {} diff --git a/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic.spec.ts b/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic.spec.ts index 809009f..2db40dc 100644 --- a/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic.spec.ts +++ b/libs/core-rest-api/core/src/domains/clinic/use-cases/create-clinic/create-clinic.spec.ts @@ -1,5 +1,4 @@ -import { faker } from '@faker-js/faker'; -import { Test, TestingModule } from '@nestjs/testing'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { ClinicDatabaseRepository } from '../../repositories/database-repository'; import { CreateClinicService } from './create-clinic.service'; @@ -19,20 +18,8 @@ describe('[clinic] Create Clinic Service', () => { let databaseRepository: ClinicDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - CreateClinicService, - { - provide: ClinicDatabaseRepository, - useClass: InMemoryClinicDatabaseRepository, - }, - ], - }).compile(); - - service = module.get(CreateClinicService); - databaseRepository = module.get( - ClinicDatabaseRepository - ); + databaseRepository = new InMemoryClinicDatabaseRepository(); + service = new CreateClinicService(databaseRepository); }); it('should create a new clinic', async () => { diff --git a/libs/core-rest-api/core/src/domains/clinic/use-cases/delete-clinic/delete-clinic.service.ts b/libs/core-rest-api/core/src/domains/clinic/use-cases/delete-clinic/delete-clinic.service.ts index ebbc699..7f662d3 100644 --- a/libs/core-rest-api/core/src/domains/clinic/use-cases/delete-clinic/delete-clinic.service.ts +++ b/libs/core-rest-api/core/src/domains/clinic/use-cases/delete-clinic/delete-clinic.service.ts @@ -1,14 +1,15 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { CLINIC_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { ClinicDatabaseRepository } from '../../repositories/database-repository'; -@Injectable() export class DeleteClinicService { constructor(private clinicDatabaseRepository: ClinicDatabaseRepository) {} async execute(name: string): Promise { // Validate if clinic exists in db - const isClinicExists = await this.clinicDatabaseRepository.findClinicByName(name); + const isClinicExists = await this.clinicDatabaseRepository.findClinicByName( + name + ); if (!isClinicExists) { throw new ConflictException(CLINIC_ERROR_MESSAGES['CLINIC_NOT_FOUND']); diff --git a/libs/core-rest-api/core/src/domains/clinic/use-cases/delete-clinic/delete-clinic.spec.ts b/libs/core-rest-api/core/src/domains/clinic/use-cases/delete-clinic/delete-clinic.spec.ts index d31a598..32171d4 100644 --- a/libs/core-rest-api/core/src/domains/clinic/use-cases/delete-clinic/delete-clinic.spec.ts +++ b/libs/core-rest-api/core/src/domains/clinic/use-cases/delete-clinic/delete-clinic.spec.ts @@ -1,5 +1,4 @@ -import { faker } from '@faker-js/faker'; -import { Test, TestingModule } from '@nestjs/testing'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { ClinicDatabaseRepository } from '../../repositories/database-repository'; import { DeleteClinicService } from './delete-clinic.service'; @@ -19,20 +18,8 @@ describe('[clinic] Delete Clinic Service', () => { let databaseRepository: ClinicDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - DeleteClinicService, - { - provide: ClinicDatabaseRepository, - useClass: InMemoryClinicDatabaseRepository, - }, - ], - }).compile(); - - service = module.get(DeleteClinicService); - databaseRepository = module.get( - ClinicDatabaseRepository - ); + databaseRepository = new InMemoryClinicDatabaseRepository(); + service = new DeleteClinicService(databaseRepository); }); it('should delete a new clinic', async () => { diff --git a/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic-dto.ts b/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic-dto.ts index 5f95290..74c0566 100644 --- a/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic-dto.ts +++ b/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic-dto.ts @@ -14,7 +14,7 @@ export class UpdateClinicDto { @IsOptional() @IsString() - adress?: string | null; + address?: string | null; @IsOptional() @IsString() diff --git a/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic.service.ts b/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic.service.ts index c79dea4..757d5a7 100644 --- a/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic.service.ts +++ b/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic.service.ts @@ -1,25 +1,26 @@ -import { ConflictException, Injectable } from "@nestjs/common"; -import { plainToInstance } from "class-transformer"; -import { CLINIC_ERROR_MESSAGES } from "../../../../shared/errors/error-messages"; -import { applicationValidateOrReject } from "../../../../shared/validators/validate-or-reject"; -import { ClinicDatabaseRepository } from "../../repositories/database-repository"; -import { UpdateClinicDto } from "./update-clinic-dto"; +import { ConflictException } from '@nestjs/common'; +import { plainToInstance } from 'class-transformer'; +import { CLINIC_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; +import { applicationValidateOrReject } from '../../../../shared/validators/validate-or-reject'; +import { ClinicDatabaseRepository } from '../../repositories/database-repository'; +import { UpdateClinicDto } from './update-clinic-dto'; -@Injectable() export class UpdateClinicService { constructor(private clinicDatabaseRepository: ClinicDatabaseRepository) {} - async execute( newClinicInfo: UpdateClinicDto): Promise { + async execute(newClinicInfo: UpdateClinicDto): Promise { const updateClinicDtoInstance = plainToInstance( UpdateClinicDto, newClinicInfo - ) - await applicationValidateOrReject(updateClinicDtoInstance) + ); + await applicationValidateOrReject(updateClinicDtoInstance); - const isClinicExists = await this.clinicDatabaseRepository.findClinicById(newClinicInfo.id) - if(!isClinicExists) { - throw new ConflictException(CLINIC_ERROR_MESSAGES['CLINIC_NOT_FOUND']) + const isClinicExists = await this.clinicDatabaseRepository.findClinicById( + newClinicInfo.id + ); + if (!isClinicExists) { + throw new ConflictException(CLINIC_ERROR_MESSAGES['CLINIC_NOT_FOUND']); } - await this.clinicDatabaseRepository.updateClinic(newClinicInfo) + await this.clinicDatabaseRepository.updateClinic(newClinicInfo); } } diff --git a/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic.spec.ts b/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic.spec.ts index c5cb042..069c617 100644 --- a/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic.spec.ts +++ b/libs/core-rest-api/core/src/domains/clinic/use-cases/update-clinic/update-clinic.spec.ts @@ -1,6 +1,5 @@ -import { faker } from '@faker-js/faker'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { ConflictException } from '@nestjs/common'; -import { Test, TestingModule } from '@nestjs/testing'; import { randomUUID } from 'crypto'; import { CLINIC_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { InMemoryClinicDatabaseRepository } from '../../repositories/database-in-memory-repository'; @@ -21,20 +20,8 @@ describe('[clinic] Update Clinic Service', () => { let databaseRepository: ClinicDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - UpdateClinicService, - { - provide: ClinicDatabaseRepository, - useClass: InMemoryClinicDatabaseRepository, - }, - ], - }).compile(); - - service = module.get(UpdateClinicService); - databaseRepository = module.get( - ClinicDatabaseRepository - ); + databaseRepository = new InMemoryClinicDatabaseRepository(); + service = new UpdateClinicService(databaseRepository); }); it('should update a clinic', async () => { @@ -42,14 +29,12 @@ describe('[clinic] Update Clinic Service', () => { const newClinicInfos: UpdateClinicDto = { id: createClinic.id, - city: faker.location.city() + city: faker.location.city(), }; await service.execute(newClinicInfos); - const findClinic = await databaseRepository.findClinicById( - createClinic.id - ); + const findClinic = await databaseRepository.findClinicById(createClinic.id); expect(findClinic).toEqual({ ...createClinic, @@ -63,7 +48,7 @@ describe('[clinic] Update Clinic Service', () => { it('should throw conflict exception if clinic do not exist', async () => { const newClinicInfos = { id: randomUUID(), - city: faker.location.city() + city: faker.location.city(), }; await expect(service.execute(newClinicInfos)).rejects.toThrow( diff --git a/libs/core-rest-api/core/src/domains/patient/entities/patient/dto.ts b/libs/core-rest-api/core/src/domains/patient/entities/patient/dto.ts index d252bc4..98f3e55 100644 --- a/libs/core-rest-api/core/src/domains/patient/entities/patient/dto.ts +++ b/libs/core-rest-api/core/src/domains/patient/entities/patient/dto.ts @@ -1,4 +1,10 @@ -import { IsDate, IsMobilePhone, IsOptional, IsString } from 'class-validator'; +import { + IsDate, + IsEnum, + IsMobilePhone, + IsOptional, + IsString, +} from 'class-validator'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; export class PatientDto { @@ -17,7 +23,7 @@ export class PatientDto { @IsMobilePhone('pt-BR') phone!: string; - @IsString() + @IsEnum(PaymentMethod) paymentMethod!: PaymentMethod; @IsString() diff --git a/libs/core-rest-api/core/src/domains/patient/entities/patient/entity.ts b/libs/core-rest-api/core/src/domains/patient/entities/patient/entity.ts index 39cff23..69a1500 100644 --- a/libs/core-rest-api/core/src/domains/patient/entities/patient/entity.ts +++ b/libs/core-rest-api/core/src/domains/patient/entities/patient/entity.ts @@ -48,7 +48,7 @@ export class PatientEntity extends PatientDto { this.phone = phone; } - public get getPaymentMethod(): string { + public get getPaymentMethod(): PaymentMethod { return this.paymentMethod; } diff --git a/libs/core-rest-api/core/src/domains/patient/repositories/database-in-memory-repository.ts b/libs/core-rest-api/core/src/domains/patient/repositories/database-in-memory-repository.ts index ffd5f04..4f14eab 100644 --- a/libs/core-rest-api/core/src/domains/patient/repositories/database-in-memory-repository.ts +++ b/libs/core-rest-api/core/src/domains/patient/repositories/database-in-memory-repository.ts @@ -1,11 +1,10 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { PATIENT_ERROR_MESSAGES } from '../../../shared/errors/error-messages'; import { PatientEntity } from '../entities/patient/entity'; import { PatientDatabaseRepository } from '../repositories/database-repository'; import { CreatePatientDto } from '../use-cases/create-patient/create-patient-dto'; import { UpdatePatientDto } from '../use-cases/update-patient/update-patient-dto'; -@Injectable() export class InMemoryPatientDatabaseRepository implements PatientDatabaseRepository { diff --git a/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient-dto.ts b/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient-dto.ts index 6c01a43..ee89592 100644 --- a/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient-dto.ts +++ b/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient-dto.ts @@ -1,4 +1,4 @@ -import { IsMobilePhone, IsString } from 'class-validator'; +import { IsEnum, IsMobilePhone, IsString } from 'class-validator'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; export class CreatePatientDto { @@ -14,7 +14,7 @@ export class CreatePatientDto { @IsMobilePhone('pt-BR') phone!: string; - @IsString() + @IsEnum(PaymentMethod) paymentMethod!: PaymentMethod; @IsString() diff --git a/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient.service.ts b/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient.service.ts index 887cc20..6d33e1c 100644 --- a/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient.service.ts +++ b/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient.service.ts @@ -1,5 +1,5 @@ /* eslint-disable @nx/enforce-module-boundaries */ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { plainToInstance } from 'class-transformer'; import { PATIENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { applicationValidateOrReject } from '../../../../shared/validators/validate-or-reject'; @@ -8,7 +8,6 @@ import { ICreatePatientServiceProps } from '../../interfaces/patient'; import { PatientDatabaseRepository } from '../../repositories/database-repository'; import { CreatePatientDto } from './create-patient-dto'; -@Injectable() export class CreatePatientService { constructor(private patientDatabaseRepository: PatientDatabaseRepository) {} @@ -23,9 +22,10 @@ export class CreatePatientService { await applicationValidateOrReject(createPatientDtoInstance); - const isPatientExists = await this.patientDatabaseRepository.findPatientByEmail( - createPatientDto.email - ); + const isPatientExists = + await this.patientDatabaseRepository.findPatientByEmail( + createPatientDto.email + ); if (isPatientExists) { throw new ConflictException( diff --git a/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient.spec.ts b/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient.spec.ts index 1210783..b16bdc6 100644 --- a/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient.spec.ts +++ b/libs/core-rest-api/core/src/domains/patient/use-cases/create-patient/create-patient.spec.ts @@ -1,6 +1,5 @@ -import { faker } from '@faker-js/faker'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { ConflictException } from '@nestjs/common'; -import { Test, TestingModule } from '@nestjs/testing'; import { randomUUID } from 'crypto'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; import { InMemoryPatientDatabaseRepository } from '../../repositories/database-in-memory-repository'; @@ -13,7 +12,7 @@ describe('[patient] Create Patient Service', () => { name: faker.person.fullName(), email: faker.internet.email(), CPF: faker.number.int({ min: 0, max: 10000000000 }).toString(), - phone: faker.phone.number('+5548988240149'), + phone: '+55 11 911111111', paymentMethod: PaymentMethod.CREDIT_CARD, psychologistId: randomUUID(), clinicId: randomUUID(), @@ -23,28 +22,15 @@ describe('[patient] Create Patient Service', () => { let databaseRepository: PatientDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - CreatePatientService, - { - provide: PatientDatabaseRepository, - useClass: InMemoryPatientDatabaseRepository, - }, - ], - }).compile(); - - service = module.get(CreatePatientService); - databaseRepository = module.get( - PatientDatabaseRepository - ); + databaseRepository = new InMemoryPatientDatabaseRepository(); + service = new CreatePatientService(databaseRepository); }); it('should create a new patient', async () => { const patient = await service.execute(fakePatient); - const patientDatabaseRepository = await databaseRepository.findPatientByEmail( - patient.email - ); + const patientDatabaseRepository = + await databaseRepository.findPatientByEmail(patient.email); expect(patientDatabaseRepository?.email).toEqual(patient.email); expect(patient.email).toEqual(fakePatient.email); }); diff --git a/libs/core-rest-api/core/src/domains/patient/use-cases/delete-patient/delete-patient.service.ts b/libs/core-rest-api/core/src/domains/patient/use-cases/delete-patient/delete-patient.service.ts index 547c648..b184c5c 100644 --- a/libs/core-rest-api/core/src/domains/patient/use-cases/delete-patient/delete-patient.service.ts +++ b/libs/core-rest-api/core/src/domains/patient/use-cases/delete-patient/delete-patient.service.ts @@ -1,22 +1,18 @@ /* eslint-disable @nx/enforce-module-boundaries */ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { PATIENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { PatientDatabaseRepository } from '../../repositories/database-repository'; -@Injectable() export class DeletePatientService { constructor(private patientDatabaseRepository: PatientDatabaseRepository) {} - async execute( - email: string - ): Promise { + async execute(email: string): Promise { // Validate if patient exists in db - const isPatientExists = await this.patientDatabaseRepository.findPatientByEmail(email); + const isPatientExists = + await this.patientDatabaseRepository.findPatientByEmail(email); if (!isPatientExists) { - throw new ConflictException( - PATIENT_ERROR_MESSAGES['PATIENT_NOT_FOUND'] - ); + throw new ConflictException(PATIENT_ERROR_MESSAGES['PATIENT_NOT_FOUND']); } // Delete patient diff --git a/libs/core-rest-api/core/src/domains/patient/use-cases/delete-patient/delete-patient.spec.ts b/libs/core-rest-api/core/src/domains/patient/use-cases/delete-patient/delete-patient.spec.ts index f2defdb..7452b01 100644 --- a/libs/core-rest-api/core/src/domains/patient/use-cases/delete-patient/delete-patient.spec.ts +++ b/libs/core-rest-api/core/src/domains/patient/use-cases/delete-patient/delete-patient.spec.ts @@ -1,6 +1,5 @@ -import { faker } from '@faker-js/faker'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { ConflictException } from '@nestjs/common'; -import { Test, TestingModule } from '@nestjs/testing'; import { randomUUID } from 'crypto'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; import { InMemoryPatientDatabaseRepository } from '../../repositories/database-in-memory-repository'; @@ -12,7 +11,7 @@ describe('[patient] Delete Patient Service', () => { name: faker.person.fullName(), email: faker.internet.email(), CPF: faker.number.int({ min: 0, max: 10000000000 }).toString(), - phone: faker.phone.number('+5548988240149'), + phone: '+55 11 911111111', paymentMethod: PaymentMethod.CREDIT_CARD, psychologistId: randomUUID(), clinicId: randomUUID(), @@ -22,20 +21,8 @@ describe('[patient] Delete Patient Service', () => { let databaseRepository: PatientDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - DeletePatientService, - { - provide: PatientDatabaseRepository, - useClass: InMemoryPatientDatabaseRepository, - }, - ], - }).compile(); - - service = module.get(DeletePatientService); - databaseRepository = module.get( - PatientDatabaseRepository - ); + databaseRepository = new InMemoryPatientDatabaseRepository(); + service = new DeletePatientService(databaseRepository); }); it('should delete a new patient', async () => { diff --git a/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient-dto.ts b/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient-dto.ts index 4edaecf..7e7c4f3 100644 --- a/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient-dto.ts +++ b/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient-dto.ts @@ -1,4 +1,4 @@ -import { IsMobilePhone, IsOptional, IsString } from 'class-validator'; +import { IsEnum, IsMobilePhone, IsOptional, IsString } from 'class-validator'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; export class UpdatePatientDto { @@ -22,7 +22,7 @@ export class UpdatePatientDto { phone?: string; @IsOptional() - @IsString() + @IsEnum(PaymentMethod) paymentMethod?: PaymentMethod; @IsOptional() diff --git a/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient.service.ts b/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient.service.ts index 7351f2a..d364875 100644 --- a/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient.service.ts +++ b/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient.service.ts @@ -1,11 +1,10 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { plainToInstance } from 'class-transformer'; import { PATIENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { applicationValidateOrReject } from '../../../../shared/validators/validate-or-reject'; import { PatientDatabaseRepository } from '../../repositories/database-repository'; import { UpdatePatientDto } from './update-patient-dto'; -@Injectable() export class UpdatePatientService { constructor(private patientDatabaseRepository: PatientDatabaseRepository) {} diff --git a/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient.spec.ts b/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient.spec.ts index 8709f93..8aef450 100644 --- a/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient.spec.ts +++ b/libs/core-rest-api/core/src/domains/patient/use-cases/update-patient/update-patient.spec.ts @@ -1,6 +1,5 @@ -import { faker } from '@faker-js/faker'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { ConflictException } from '@nestjs/common'; -import { Test, TestingModule } from '@nestjs/testing'; import { randomUUID } from 'crypto'; import { PATIENT_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { PaymentMethod } from '../../../../shared/interfaces/payments'; @@ -15,7 +14,7 @@ describe('[patient] Update Patient Service', () => { name: faker.person.fullName(), email: faker.internet.email(), CPF: faker.number.int({ min: 0, max: 10000000000 }).toString(), - phone: faker.phone.number('+5548988240149'), + phone: '+55 11 911111111', paymentMethod: PaymentMethod.CREDIT_CARD, psychologistId: randomUUID(), clinicId: randomUUID(), @@ -25,20 +24,8 @@ describe('[patient] Update Patient Service', () => { let databaseRepository: PatientDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - UpdatePatientService, - { - provide: PatientDatabaseRepository, - useClass: InMemoryPatientDatabaseRepository, - }, - ], - }).compile(); - - service = module.get(UpdatePatientService); - databaseRepository = module.get( - PatientDatabaseRepository - ); + databaseRepository = new InMemoryPatientDatabaseRepository(); + service = new UpdatePatientService(databaseRepository); }); it('should update a patient', async () => { @@ -48,7 +35,7 @@ describe('[patient] Update Patient Service', () => { id: createPatient.id, email: faker.internet.email(), paymentMethod: PaymentMethod.PIX, - phone: faker.phone.number('+5548988230149'), + phone: '+55 11 911112111', }; await service.execute(newPatientInfos); diff --git a/libs/core-rest-api/core/src/domains/psychologist/entities/psychologist/dto.ts b/libs/core-rest-api/core/src/domains/psychologist/entities/psychologist/dto.ts index 4edda32..9d03796 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/entities/psychologist/dto.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/entities/psychologist/dto.ts @@ -1,4 +1,12 @@ -import { IsDate, IsNumber, IsOptional, IsString, Min } from 'class-validator'; +import { + IsDate, + IsEnum, + IsNumber, + IsOptional, + IsString, + Min, +} from 'class-validator'; +import { Plan, Role } from '../../../../shared/interfaces/payments'; export class PsychologistDto { @IsString() @@ -13,15 +21,15 @@ export class PsychologistDto { @IsString() password!: string; - @IsString() - role!: string; + @IsEnum(Role) + role!: Role; @IsOptional() @IsNumber() price?: number | null; - @IsString() - plan!: string | null; + @IsEnum(Plan) + plan!: Plan; @IsOptional() @IsNumber() diff --git a/libs/core-rest-api/core/src/domains/psychologist/entities/psychologist/entity.ts b/libs/core-rest-api/core/src/domains/psychologist/entities/psychologist/entity.ts index f2a0500..53c6dfa 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/entities/psychologist/entity.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/entities/psychologist/entity.ts @@ -1,4 +1,5 @@ import { randomUUID } from 'crypto'; +import { Plan, Role } from '../../../../shared/interfaces/payments'; import { IPsychologistProps } from '../../interfaces/psychologist'; import { PsychologistDto } from './dto'; @@ -41,11 +42,11 @@ export class PsychologistEntity extends PsychologistDto { this.password = password; } - public get getRole(): string { + public get getRole(): Role { return this.role; } - public set setRole(role: string) { + public set setRole(role: Role) { this.role = role; } @@ -57,11 +58,11 @@ export class PsychologistEntity extends PsychologistDto { this.price = price; } - public get getPlan(): string | null | undefined { + public get getPlan(): Plan { return this.plan; } - public set setPlan(plan: string) { + public set setPlan(plan: Plan) { this.plan = plan; } diff --git a/libs/core-rest-api/core/src/domains/psychologist/repositories/database-in-memory-repository.ts b/libs/core-rest-api/core/src/domains/psychologist/repositories/database-in-memory-repository.ts index 516c056..377098a 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/repositories/database-in-memory-repository.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/repositories/database-in-memory-repository.ts @@ -1,11 +1,10 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { PSYCHOLOGIST_ERROR_MESSAGES } from '../../../shared/errors/error-messages'; import { PsychologistEntity } from '../entities/psychologist/entity'; import { CreatePsychologistDto } from '../use-cases/create-psychologist/create-psychologist-dto'; import { UpdatePsychologistDto } from '../use-cases/update-psychologist/update-psychologist-dto'; import { PsychologistDatabaseRepository } from './database-repository'; -@Injectable() export class InMemoryPsychologistDatabaseRepository implements PsychologistDatabaseRepository { diff --git a/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist-dto.ts b/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist-dto.ts index e01f0d0..5a83d36 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist-dto.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist-dto.ts @@ -1,4 +1,5 @@ -import { IsString } from 'class-validator'; +import { IsEnum, IsString } from 'class-validator'; +import { Plan, Role } from '../../../../shared/interfaces/payments'; export class CreatePsychologistDto { @IsString() @@ -10,9 +11,9 @@ export class CreatePsychologistDto { @IsString() password!: string; - @IsString() - role!: string; + @IsEnum(Role) + role!: Role; - @IsString() - plan!: string | null; + @IsEnum(Plan) + plan!: Plan; } diff --git a/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist.service.ts b/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist.service.ts index 0b7d1a9..f7ab978 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist.service.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist.service.ts @@ -1,4 +1,4 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { plainToInstance } from 'class-transformer'; import { PSYCHOLOGIST_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { applicationValidateOrReject } from '../../../../shared/validators/validate-or-reject'; @@ -7,7 +7,6 @@ import { ICreatePsychologistServiceProps } from '../../interfaces/psychologist'; import { PsychologistDatabaseRepository } from '../../repositories/database-repository'; import { CreatePsychologistDto } from './create-psychologist-dto'; -@Injectable() export class CreatePsychologistService { constructor( private psychologistDatabaseRepository: PsychologistDatabaseRepository diff --git a/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist.spec.ts b/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist.spec.ts index 598ec61..2035671 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist.spec.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/use-cases/create-psychologist/create-psychologist.spec.ts @@ -1,38 +1,21 @@ -import { faker } from '@faker-js/faker'; +import { makePsychologist } from '@clinicControl/root/libs/core-rest-api/adapters/tests/factories/make-psychologist'; + import { ConflictException } from '@nestjs/common'; -import { Test, TestingModule } from '@nestjs/testing'; + import { PSYCHOLOGIST_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { InMemoryPsychologistDatabaseRepository } from '../../repositories/database-in-memory-repository'; import { PsychologistDatabaseRepository } from '../../repositories/database-repository'; import { CreatePsychologistService } from './create-psychologist.service'; describe('[psychologist] Create Psychologist Service', () => { - const fakePsychologist = { - name: faker.person.fullName(), - email: faker.internet.email(), - password: faker.internet.password({ length: 8 }), - role: faker.person.jobTitle(), - plan: 'premium', - }; + const fakePsychologist = makePsychologist(); let service: CreatePsychologistService; let databaseRepository: PsychologistDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - CreatePsychologistService, - { - provide: PsychologistDatabaseRepository, - useClass: InMemoryPsychologistDatabaseRepository, - }, - ], - }).compile(); - - service = module.get(CreatePsychologistService); - databaseRepository = module.get( - PsychologistDatabaseRepository - ); + databaseRepository = new InMemoryPsychologistDatabaseRepository(); + service = new CreatePsychologistService(databaseRepository); }); it('should create a new psychologist', async () => { diff --git a/libs/core-rest-api/core/src/domains/psychologist/use-cases/delete-psychologist/delete-psychologist.service.ts b/libs/core-rest-api/core/src/domains/psychologist/use-cases/delete-psychologist/delete-psychologist.service.ts index 85164d7..244ab8a 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/use-cases/delete-psychologist/delete-psychologist.service.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/use-cases/delete-psychologist/delete-psychologist.service.ts @@ -1,8 +1,7 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { PSYCHOLOGIST_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { PsychologistDatabaseRepository } from '../../repositories/database-repository'; -@Injectable() export class DeletePsychologistService { constructor( private psychologistDatabaseRepository: PsychologistDatabaseRepository diff --git a/libs/core-rest-api/core/src/domains/psychologist/use-cases/delete-psychologist/delete-psychologist.spec.ts b/libs/core-rest-api/core/src/domains/psychologist/use-cases/delete-psychologist/delete-psychologist.spec.ts index 86f6191..bb943b8 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/use-cases/delete-psychologist/delete-psychologist.spec.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/use-cases/delete-psychologist/delete-psychologist.spec.ts @@ -1,39 +1,19 @@ -import { faker } from '@faker-js/faker'; +import { makePsychologist } from '@clinicControl/root/libs/core-rest-api/adapters/tests/factories/make-psychologist'; import { ConflictException } from '@nestjs/common'; -import { Test, TestingModule } from '@nestjs/testing'; import { PSYCHOLOGIST_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { InMemoryPsychologistDatabaseRepository } from '../../repositories/database-in-memory-repository'; import { PsychologistDatabaseRepository } from '../../repositories/database-repository'; -import { CreatePsychologistDto } from '../create-psychologist/create-psychologist-dto'; import { DeletePsychologistService } from './delete-psychologist.service'; describe('[psychologist] Delete Psychologist Service', () => { - const fakePsychologist: CreatePsychologistDto = { - name: faker.person.fullName(), - email: faker.internet.email(), - password: faker.internet.password({ length: 8 }), - role: faker.person.jobTitle(), - plan: 'premium', - }; + const fakePsychologist = makePsychologist(); let service: DeletePsychologistService; let databaseRepository: PsychologistDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - DeletePsychologistService, - { - provide: PsychologistDatabaseRepository, - useClass: InMemoryPsychologistDatabaseRepository, - }, - ], - }).compile(); - - service = module.get(DeletePsychologistService); - databaseRepository = module.get( - PsychologistDatabaseRepository - ); + databaseRepository = new InMemoryPsychologistDatabaseRepository(); + service = new DeletePsychologistService(databaseRepository); }); it('should delete a new psychologist', async () => { diff --git a/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist-dto.ts b/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist-dto.ts index 1b7ac5f..325d580 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist-dto.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist-dto.ts @@ -1,4 +1,5 @@ -import { IsNumber, IsOptional, IsString, Min } from 'class-validator'; +import { IsEnum, IsNumber, IsOptional, IsString, Min } from 'class-validator'; +import { Plan, Role } from '../../../../shared/interfaces/payments'; export class UpdatePsychologistDto { @IsString() @@ -17,16 +18,16 @@ export class UpdatePsychologistDto { password?: string; @IsOptional() - @IsString() - role?: string; + @IsEnum(Role) + role?: Role; @IsOptional() @IsNumber() price?: number; @IsOptional() - @IsString() - plan?: string; + @IsEnum(Plan) + plan?: Plan; @IsOptional() @IsNumber() diff --git a/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist.service.ts b/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist.service.ts index 2e710ab..7977afe 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist.service.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist.service.ts @@ -1,11 +1,10 @@ -import { ConflictException, Injectable } from '@nestjs/common'; +import { ConflictException } from '@nestjs/common'; import { plainToInstance } from 'class-transformer'; import { PSYCHOLOGIST_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; import { applicationValidateOrReject } from '../../../../shared/validators/validate-or-reject'; import { PsychologistDatabaseRepository } from '../../repositories/database-repository'; import { UpdatePsychologistDto } from './update-psychologist-dto'; -@Injectable() export class UpdatePsychologistService { constructor( private psychologistDatabaseRepository: PsychologistDatabaseRepository diff --git a/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist.spec.ts b/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist.spec.ts index c012130..c7b20b3 100644 --- a/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist.spec.ts +++ b/libs/core-rest-api/core/src/domains/psychologist/use-cases/update-psychologist/update-psychologist.spec.ts @@ -1,39 +1,21 @@ -import { faker } from '@faker-js/faker'; +import { makePsychologist } from '@clinicControl/root/libs/core-rest-api/adapters/tests/factories/make-psychologist'; +import { fakerPT_BR as faker } from '@faker-js/faker'; import { ConflictException } from '@nestjs/common'; -import { Test, TestingModule } from '@nestjs/testing'; import { PSYCHOLOGIST_ERROR_MESSAGES } from '../../../../shared/errors/error-messages'; +import { Plan } from '../../../../shared/interfaces/payments'; import { InMemoryPsychologistDatabaseRepository } from '../../repositories/database-in-memory-repository'; import { PsychologistDatabaseRepository } from '../../repositories/database-repository'; -import { CreatePsychologistDto } from '../create-psychologist/create-psychologist-dto'; import { UpdatePsychologistService } from './update-psychologist.service'; describe('[psychologist] Update Psychologist Service', () => { - const fakePsychologist: CreatePsychologistDto = { - name: faker.person.fullName(), - email: faker.internet.email(), - password: faker.internet.password({ length: 8 }), - role: faker.person.jobTitle(), - plan: 'basic', - }; + const fakePsychologist = makePsychologist(); let service: UpdatePsychologistService; let databaseRepository: PsychologistDatabaseRepository; beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - UpdatePsychologistService, - { - provide: PsychologistDatabaseRepository, - useClass: InMemoryPsychologistDatabaseRepository, - }, - ], - }).compile(); - - service = module.get(UpdatePsychologistService); - databaseRepository = module.get( - PsychologistDatabaseRepository - ); + databaseRepository = new InMemoryPsychologistDatabaseRepository(); + service = new UpdatePsychologistService(databaseRepository); }); it('should update a new psychologist', async () => { @@ -46,7 +28,7 @@ describe('[psychologist] Update Psychologist Service', () => { name: faker.person.fullName(), email: faker.internet.email(), password: faker.internet.password({ length: 5 }), - plan: 'premium', + plan: Plan.PREMIUM, }; await service.execute(newPsychologistInfos); @@ -73,13 +55,13 @@ describe('[psychologist] Update Psychologist Service', () => { expect(findPsychologist?.plan).toBe(newPsychologistInfos.plan); }); - it('should not update a new psychologist and throw an ConflicException if not exists', async () => { + it('should not update a new psychologist and throw an ConflictException if not exists', async () => { const newPsychologistInfos = { id: faker.string.uuid(), name: faker.person.fullName(), email: faker.internet.email(), password: faker.internet.password({ length: 5 }), - plan: 'premium', + plan: Plan.PREMIUM, }; await expect(service.execute(newPsychologistInfos)).rejects.toThrow( diff --git a/libs/core-rest-api/core/src/shared/cryptography/encrypter.ts b/libs/core-rest-api/core/src/shared/cryptography/encrypter.ts new file mode 100644 index 0000000..27a92da --- /dev/null +++ b/libs/core-rest-api/core/src/shared/cryptography/encrypter.ts @@ -0,0 +1,3 @@ +export abstract class Encrypter { + abstract encrypt(payload: Record): Promise; +} diff --git a/libs/core-rest-api/core/src/shared/cryptography/hash-comparer.ts b/libs/core-rest-api/core/src/shared/cryptography/hash-comparer.ts new file mode 100644 index 0000000..9187002 --- /dev/null +++ b/libs/core-rest-api/core/src/shared/cryptography/hash-comparer.ts @@ -0,0 +1,3 @@ +export abstract class HashComparer { + abstract compare(plain: string, hash: string): Promise; +} diff --git a/libs/core-rest-api/core/src/shared/cryptography/hash-generator.ts b/libs/core-rest-api/core/src/shared/cryptography/hash-generator.ts new file mode 100644 index 0000000..77fff52 --- /dev/null +++ b/libs/core-rest-api/core/src/shared/cryptography/hash-generator.ts @@ -0,0 +1,3 @@ +export abstract class HashGenerator { + abstract hash(plain: string): Promise; +} diff --git a/libs/core-rest-api/core/src/shared/errors/globalAppHttpException.ts b/libs/core-rest-api/core/src/shared/errors/globalAppHttpException.ts new file mode 100644 index 0000000..baadd1f --- /dev/null +++ b/libs/core-rest-api/core/src/shared/errors/globalAppHttpException.ts @@ -0,0 +1,45 @@ +import { HttpException, HttpStatus, Logger } from '@nestjs/common'; +import { ValidationException } from './validation-exception'; + +const className = 'GlobalAppHttpException'; + +export class GlobalAppHttpException { + constructor(error: unknown, message?: string, status?: HttpStatus) { + this.bubbleUpHttpException(error, message, status); + this.bubbleUpValidationException(error, message, status); + } + + bubbleUpHttpException(error: unknown, message?: string, status?: HttpStatus) { + /** + * Use type guard + * + * @see https://youtu.be/xdQkEn3mx1k?t=114 + */ + if (error instanceof HttpException) { + const exceptionMessage = message || error.message; + const exceptionStatus = status || error.getStatus(); + Logger.warn(exceptionMessage); + throw new HttpException(exceptionMessage, exceptionStatus, { + cause: error, + }); + } + } + + bubbleUpValidationException( + error: unknown, + message?: string, + status?: HttpStatus + ) { + const exceptionMessage = message || 'Validation failed'; + if (error instanceof ValidationException) { + Logger.warn(exceptionMessage + JSON.stringify(error.causes), className); + throw new HttpException( + { + message: exceptionMessage, + causes: error.causes, + }, + status || 400 + ); + } + } +} diff --git a/libs/core-rest-api/core/src/shared/interfaces/payments.ts b/libs/core-rest-api/core/src/shared/interfaces/payments.ts index 978ad17..827289b 100644 --- a/libs/core-rest-api/core/src/shared/interfaces/payments.ts +++ b/libs/core-rest-api/core/src/shared/interfaces/payments.ts @@ -1,8 +1,20 @@ export enum PaymentMethod { - CREDIT_CARD = 'Credit Card', - DEBIT_CARD = 'Debit Card', - PIX = 'Pix', - MONEY = 'Money', - HEALTH_INSURANCE = 'Health Insurance', - OTHER = 'Other', + CREDIT_CARD = 'CREDIT_CARD', + DEBIT_CARD = 'DEBIT_CARD', + PIX = 'PIX', + MONEY = 'MONEY', + HEALTH_INSURANCE = 'HEALTH_INSURANCE', + OTHER = 'OTHER', +} + +export enum Role { + ADMIN = 'ADMIN', + PSYCHOLOGIST = 'PSYCHOLOGIST', + PATIENT = 'PATIENT', +} + +export enum Plan { + FREE = 'FREE', + BASIC = 'BASIC', + PREMIUM = 'PREMIUM', } diff --git a/libs/core-rest-api/core/tsconfig.json b/libs/core-rest-api/core/tsconfig.json index 8122543..4ed0ac3 100644 --- a/libs/core-rest-api/core/tsconfig.json +++ b/libs/core-rest-api/core/tsconfig.json @@ -18,5 +18,6 @@ { "path": "./tsconfig.spec.json" } - ] + ], + "types": ["vitest/globals"] } diff --git a/libs/core-rest-api/core/tsconfig.lib.json b/libs/core-rest-api/core/tsconfig.lib.json index dbf54fd..1103067 100644 --- a/libs/core-rest-api/core/tsconfig.lib.json +++ b/libs/core-rest-api/core/tsconfig.lib.json @@ -12,5 +12,5 @@ "noFallthroughCasesInSwitch": true }, "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"] } diff --git a/libs/core-rest-api/core/tsconfig.spec.json b/libs/core-rest-api/core/tsconfig.spec.json index 69a251f..fc014d7 100644 --- a/libs/core-rest-api/core/tsconfig.spec.json +++ b/libs/core-rest-api/core/tsconfig.spec.json @@ -1,14 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] + "outDir": "../../dist/out-tsc", + "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node", "vitest"] }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] + "include": ["vite.config.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] } diff --git a/libs/core-rest-api/core/vite.config.ts b/libs/core-rest-api/core/vite.config.ts new file mode 100644 index 0000000..d8d8abe --- /dev/null +++ b/libs/core-rest-api/core/vite.config.ts @@ -0,0 +1,30 @@ +/// +import swc from 'unplugin-swc'; +import { defineConfig } from 'vite'; + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; + +export default defineConfig({ + cacheDir: '../../../node_modules/.vite/core-rest-api-core', + + plugins: [ + nxViteTsPaths(), + swc.vite({ + module: { type: 'es6' }, + }), + ], + + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + test: { + globals: true, + environment: 'node', + cache: { + dir: '../../../node_modules/.vitest', + }, + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + }, +}); diff --git a/migrations.json b/migrations.json index 1812f53..a75af3b 100644 --- a/migrations.json +++ b/migrations.json @@ -2,27 +2,34 @@ "migrations": [ { "cli": "nx", - "version": "16.6.0-beta.6", - "description": "Prefix outputs with {workspaceRoot}/{projectRoot} if needed", - "implementation": "./src/migrations/update-15-0-0/prefix-outputs", + "version": "16.8.0-beta.3", + "description": "Escape $ in env variables", + "implementation": "./src/migrations/update-16-8-0/escape-dollar-sign-env-variables", "package": "nx", - "name": "16.6.0-prefix-outputs" + "name": "16.8.0-escape-dollar-sign-env" + }, + { + "version": "16.8.0", + "description": "update-16-8-0-add-ignored-files", + "implementation": "./src/migrations/update-16-8-0-add-ignored-files/update-16-8-0-add-ignored-files", + "package": "@nx/linter", + "name": "update-16-8-0-add-ignored-files" }, { "cli": "nx", - "version": "16.6.0-beta.0", - "description": "Explicitly set 'updateBuildableProjectDepsInPackageJson' to 'true' in targets that rely on that value as the default.", - "factory": "./src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps", - "package": "@nx/js", - "name": "explicitly-set-projects-to-update-buildable-deps" + "version": "16.7.0-beta.2", + "description": "Add @babel/core to package.json if @babel/preset-react is present", + "implementation": "./src/migrations/update-16-7-0/add-babel-core", + "package": "@nx/react", + "name": "add-babel-core" }, { - "version": "16.6.0-beta.4", - "description": "Change vite-tsconfig-paths plugin for first party nx-vite-tsconfig-paths plugin", "cli": "nx", - "implementation": "./src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin", - "package": "@nx/vite", - "name": "16-6-0-change-ts-paths-plugin" + "version": "16.7.0-beta.2", + "description": "Add @nx/react types to tsconfig types array", + "implementation": "./src/migrations/update-16-7-0-add-typings/update-16-7-0-add-typings", + "package": "@nx/react", + "name": "update-16-7-0-add-typings" } ] } diff --git a/nx.json b/nx.json index a30e736..cdbeeea 100644 --- a/nx.json +++ b/nx.json @@ -4,6 +4,7 @@ "default": { "runner": "nx-cloud", "options": { + "cacheableOperations": ["build", "test", "e2e"], "accessToken": "MjJlOTVjOTMtZTFlOC00MGQxLWFkZmMtZjVlNTUxNGJlYmIzfHJlYWQtd3JpdGU=" } } @@ -14,7 +15,7 @@ "inputs": ["production", "^production"] }, "test": { - "inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"] + "inputs": ["default", "^production"] }, "e2e": { "inputs": ["default", "^production"] diff --git a/package.json b/package.json index f4fc288..51fa24b 100644 --- a/package.json +++ b/package.json @@ -6,86 +6,118 @@ { "name": "Italo Rockenbach Amaral", "email": "italorockamaral@gmail.com" + }, + { + "name": "Luana Vefago", + "email": "luanavefago1@gmail.com" } ], "scripts": { "prepare": "husky install", "git:discard:all": "git checkout -- .", + "env:setup": "cp .env.example .env", + "release-scripts": "******************** RELEASE SCRIPTS ********************", "conventional-prerelease": "lerna version --conventional-prerelease --preid beta --yes --conventional-commits --changelog-preset ./changelog-preset.config.js", "conventional-prerelease:no-push": "lerna version --conventional-prerelease --preid beta --yes --conventional-commits --changelog-preset ./changelog-preset.config.js --no-push", "conventional-graduate": "lerna version --yes --conventional-graduate --conventional-commits --changelog-preset ./changelog-preset.config.js", "conventional-graduate:no-push": "lerna version --yes --conventional-graduate --conventional-commits --changelog-preset ./changelog-preset.config.js --no-push", + "test-scripts": "************************ TESTS SCRIPTS ********************", "test:unit": "nx run-many --target=test --all=true", - "env:setup": "cp .env.example .env" + "test:e2e": "nx run-many --target=e2e --all=true --parallel=3", + "test:adapters:e2e": "vitest run --config ./libs/core-rest-api/adapters/vitest.config.e2e.ts", + "prisma-scripts": "********************** PRISMA SCRIPTS ********************", + "prisma:core:schema:validate": "prisma validate --schema=./libs/core-rest-api/adapters/src/database/infra/prisma/postgresql.schema.prisma", + "prisma:core:schema:migrate": "prisma migrate dev --schema=./libs/core-rest-api/adapters/src/database/infra/prisma/postgresql.schema.prisma", + "prisma:core:schema:generate": "prisma generate --schema=./libs/core-rest-api/adapters/src/database/infra/prisma/postgresql.schema.prisma", + "prisma:core:schema:studio": "prisma studio --schema=./libs/core-rest-api/adapters/src/database/infra/prisma/postgresql.schema.prisma" }, "private": true, "dependencies": { - "@nestjs/common": "^10.1.3", - "@nestjs/config": "^3.0.0", - "@nestjs/core": "^10.1.3", - "@nestjs/microservices": "^10.1.3", - "@nestjs/platform-express": "^10.1.3", - "@nestjs/swagger": "^7.1.8", - "@nx/next": "16.6.0", - "@swc/helpers": "~0.5.1", + "@nestjs/common": "^10.2.7", + "@nestjs/config": "^3.1.1", + "@nestjs/core": "^10.2.7", + "@nestjs/jwt": "^10.1.1", + "@nestjs/microservices": "^10.2.7", + "@nestjs/passport": "^10.0.2", + "@nestjs/platform-express": "^10.2.7", + "@nestjs/swagger": "^7.1.13", + "@nx/next": "16.10.0", + "@prisma/client": "^5.4.2", + "@swc/helpers": "~0.5.3", + "bcryptjs": "^2.4.3", "class-transformer": "^0.5.1", "class-validator": "^0.14.0", + "dotenv": "^16.3.1", "next": "13.4.1", + "passport": "^0.6.0", + "passport-jwt": "^4.0.1", "react": "18.2.0", "react-dom": "18.2.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.8.1", - "tslib": "^2.6.2" + "tslib": "^2.6.2", + "zod": "^3.22.4", + "zod-validation-error": "^1.5.0" }, "devDependencies": { - "@commitlint/cli": "^17.7.1", - "@commitlint/config-conventional": "^17.7.0", - "@faker-js/faker": "^8.0.2", + "@commitlint/cli": "^17.8.0", + "@commitlint/config-conventional": "^17.8.0", + "@faker-js/faker": "^8.2.0", "@nestjs/schematics": "^10.0.2", - "@nestjs/testing": "^10.1.3", - "@nx/eslint-plugin": "16.6.0", - "@nx/jest": "16.6.0", - "@nx/js": "16.6.0", - "@nx/linter": "16.6.0", - "@nx/nest": "16.6.0", - "@nx/node": "16.6.0", - "@nx/react": "16.6.0", - "@nx/vite": "16.6.0", - "@nx/webpack": "16.6.0", - "@nx/workspace": "16.6.0", + "@nestjs/testing": "^10.2.7", + "@nx/eslint-plugin": "16.10.0", + "@nx/jest": "16.10.0", + "@nx/js": "16.10.0", + "@nx/linter": "16.10.0", + "@nx/nest": "16.10.0", + "@nx/node": "16.10.0", + "@nx/react": "16.10.0", + "@nx/vite": "16.10.0", + "@nx/webpack": "16.10.0", + "@nx/workspace": "16.10.0", "@swc/cli": "~0.1.62", - "@swc/core": "~1.3.78", + "@swc/core": "~1.3.93", "@testing-library/react": "14.0.0", - "@types/jest": "^29.5.3", + "@types/bcryptjs": "^2.4.5", + "@types/express": "^4.17.20", + "@types/jest": "^29.5.6", "@types/node": "18.14.2", + "@types/passport-jwt": "^3.0.11", "@types/react": "18.2.14", "@types/react-dom": "18.2.6", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", + "@types/supertest": "^2.0.15", + "@typescript-eslint/eslint-plugin": "5.62.0", + "@typescript-eslint/parser": "5.62.0", + "@vitejs/plugin-react": "~4.0.4", + "@vitest/coverage-v8": "^0.34.6", "@vitest/ui": "^0.32.4", - "babel-jest": "^29.6.2", + "babel-jest": "^29.7.0", "conventional-changelog-conventionalcommits": "^6.1.0", - "eslint": "~8.15.0", + "eslint": "8.46.0", "eslint-config-next": "13.4.1", "eslint-config-prettier": "8.1.0", "eslint-plugin-import": "2.27.5", "eslint-plugin-jsx-a11y": "6.7.1", "eslint-plugin-react": "7.32.2", "eslint-plugin-react-hooks": "4.6.0", - "husky": "^8.0.0", - "jest": "^29.6.2", - "jest-environment-jsdom": "^29.6.2", - "jest-environment-node": "^29.6.2", + "husky": "^8.0.3", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jsdom": "~22.1.0", "lerna": "7.1.5", - "nx": "16.6.0", - "nx-cloud": "16.3.0", + "nx": "16.10.0", + "nx-cloud": "16.5.2", "prettier": "^2.8.8", + "prisma": "^5.4.2", + "supertest": "^6.3.3", "ts-jest": "^29.1.1", "ts-node": "10.9.1", "typescript": "~5.1.6", + "unplugin-swc": "^1.4.3", "vite": "~4.3.9", "vite-plugin-dts": "~2.3.0", - "vite-tsconfig-paths": "~4.2.0", + "vite-tsconfig-paths": "~4.2.1", "vitest": "~0.32.4" }, "volta": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea978b7..3cb9178 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,38 +6,59 @@ settings: dependencies: '@nestjs/common': - specifier: ^10.1.3 - version: 10.1.3(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + specifier: ^10.2.7 + version: 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) '@nestjs/config': - specifier: ^3.0.0 - version: 3.0.0(@nestjs/common@10.1.3)(reflect-metadata@0.1.13) + specifier: ^3.1.1 + version: 3.1.1(@nestjs/common@10.2.7)(reflect-metadata@0.1.13) '@nestjs/core': - specifier: ^10.1.3 - version: 10.1.3(@nestjs/common@10.1.3)(@nestjs/microservices@10.1.3)(@nestjs/platform-express@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1) + specifier: ^10.2.7 + version: 10.2.7(@nestjs/common@10.2.7)(@nestjs/microservices@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/jwt': + specifier: ^10.1.1 + version: 10.1.1(@nestjs/common@10.2.7) '@nestjs/microservices': - specifier: ^10.1.3 - version: 10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1) + specifier: ^10.2.7 + version: 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/passport': + specifier: ^10.0.2 + version: 10.0.2(@nestjs/common@10.2.7)(passport@0.6.0) '@nestjs/platform-express': - specifier: ^10.1.3 - version: 10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3) + specifier: ^10.2.7 + version: 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7) '@nestjs/swagger': - specifier: ^7.1.8 - version: 7.1.8(@nestjs/common@10.1.3)(@nestjs/core@10.1.3)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13) + specifier: ^7.1.13 + version: 7.1.13(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13) '@nx/next': - specifier: 16.6.0 - version: 16.6.0(@babel/core@7.22.10)(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(next@13.4.1)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2) + specifier: 16.10.0 + version: 16.10.0(@babel/core@7.23.2)(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(next@13.4.1)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0) + '@prisma/client': + specifier: ^5.4.2 + version: 5.4.2(prisma@5.4.2) '@swc/helpers': - specifier: ~0.5.1 - version: 0.5.1 + specifier: ~0.5.3 + version: 0.5.3 + bcryptjs: + specifier: ^2.4.3 + version: 2.4.3 class-transformer: specifier: ^0.5.1 version: 0.5.1 class-validator: specifier: ^0.14.0 version: 0.14.0 + dotenv: + specifier: ^16.3.1 + version: 16.3.1 next: specifier: 13.4.1 - version: 13.4.1(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) + version: 13.4.1(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0) + passport: + specifier: ^0.6.0 + version: 0.6.0 + passport-jwt: + specifier: ^4.0.1 + version: 4.0.1 react: specifier: 18.2.0 version: 18.2.0 @@ -53,143 +74,179 @@ dependencies: tslib: specifier: ^2.6.2 version: 2.6.2 + zod: + specifier: ^3.22.4 + version: 3.22.4 + zod-validation-error: + specifier: ^1.5.0 + version: 1.5.0(zod@3.22.4) devDependencies: '@commitlint/cli': - specifier: ^17.7.1 - version: 17.7.1(@swc/core@1.3.78) + specifier: ^17.8.0 + version: 17.8.0(@swc/core@1.3.93) '@commitlint/config-conventional': - specifier: ^17.7.0 - version: 17.7.0 + specifier: ^17.8.0 + version: 17.8.0 '@faker-js/faker': - specifier: ^8.0.2 - version: 8.0.2 + specifier: ^8.2.0 + version: 8.2.0 '@nestjs/schematics': specifier: ^10.0.2 version: 10.0.2(typescript@5.1.6) '@nestjs/testing': - specifier: ^10.1.3 - version: 10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3)(@nestjs/microservices@10.1.3)(@nestjs/platform-express@10.1.3) + specifier: ^10.2.7 + version: 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(@nestjs/microservices@10.2.7)(@nestjs/platform-express@10.2.7) '@nx/eslint-plugin': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6) '@nx/jest': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) '@nx/js': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) '@nx/linter': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0) '@nx/nest': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) '@nx/node': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) '@nx/react': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0) '@nx/vite': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4) '@nx/webpack': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) '@nx/workspace': - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93) '@swc/cli': specifier: ~0.1.62 - version: 0.1.62(@swc/core@1.3.78) + version: 0.1.62(@swc/core@1.3.93) '@swc/core': - specifier: ~1.3.78 - version: 1.3.78(@swc/helpers@0.5.1) + specifier: ~1.3.93 + version: 1.3.93(@swc/helpers@0.5.3) '@testing-library/react': specifier: 14.0.0 version: 14.0.0(react-dom@18.2.0)(react@18.2.0) + '@types/bcryptjs': + specifier: ^2.4.5 + version: 2.4.5 + '@types/express': + specifier: ^4.17.20 + version: 4.17.20 '@types/jest': - specifier: ^29.5.3 - version: 29.5.3 + specifier: ^29.5.6 + version: 29.5.6 '@types/node': specifier: 18.14.2 version: 18.14.2 + '@types/passport-jwt': + specifier: ^3.0.11 + version: 3.0.11 '@types/react': specifier: 18.2.14 version: 18.2.14 '@types/react-dom': specifier: 18.2.6 version: 18.2.6 + '@types/supertest': + specifier: ^2.0.15 + version: 2.0.15 '@typescript-eslint/eslint-plugin': - specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.15.0)(typescript@5.1.6) + specifier: 5.62.0 + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/parser': - specifier: ^5.62.0 - version: 5.62.0(eslint@8.15.0)(typescript@5.1.6) + specifier: 5.62.0 + version: 5.62.0(eslint@8.46.0)(typescript@5.1.6) + '@vitejs/plugin-react': + specifier: ~4.0.4 + version: 4.0.4(vite@4.3.9) + '@vitest/coverage-v8': + specifier: ^0.34.6 + version: 0.34.6(vitest@0.32.4) '@vitest/ui': specifier: ^0.32.4 version: 0.32.4(vitest@0.32.4) babel-jest: - specifier: ^29.6.2 - version: 29.6.2(@babel/core@7.22.10) + specifier: ^29.7.0 + version: 29.7.0(@babel/core@7.23.2) conventional-changelog-conventionalcommits: specifier: ^6.1.0 version: 6.1.0 eslint: - specifier: ~8.15.0 - version: 8.15.0 + specifier: 8.46.0 + version: 8.46.0 eslint-config-next: specifier: 13.4.1 - version: 13.4.1(eslint@8.15.0)(typescript@5.1.6) + version: 13.4.1(eslint@8.46.0)(typescript@5.1.6) eslint-config-prettier: specifier: 8.1.0 - version: 8.1.0(eslint@8.15.0) + version: 8.1.0(eslint@8.46.0) eslint-plugin-import: specifier: 2.27.5 - version: 2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.15.0) + version: 2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.46.0) eslint-plugin-jsx-a11y: specifier: 6.7.1 - version: 6.7.1(eslint@8.15.0) + version: 6.7.1(eslint@8.46.0) eslint-plugin-react: specifier: 7.32.2 - version: 7.32.2(eslint@8.15.0) + version: 7.32.2(eslint@8.46.0) eslint-plugin-react-hooks: specifier: 4.6.0 - version: 4.6.0(eslint@8.15.0) + version: 4.6.0(eslint@8.46.0) husky: - specifier: ^8.0.0 - version: 8.0.0 + specifier: ^8.0.3 + version: 8.0.3 jest: - specifier: ^29.6.2 - version: 29.6.2(@types/node@18.14.2)(ts-node@10.9.1) + specifier: ^29.7.0 + version: 29.7.0(@types/node@18.14.2)(ts-node@10.9.1) jest-environment-jsdom: - specifier: ^29.6.2 - version: 29.6.2 + specifier: ^29.7.0 + version: 29.7.0 jest-environment-node: - specifier: ^29.6.2 - version: 29.6.2 + specifier: ^29.7.0 + version: 29.7.0 + jsdom: + specifier: ~22.1.0 + version: 22.1.0 lerna: specifier: 7.1.5 - version: 7.1.5(@swc/core@1.3.78) + version: 7.1.5(@swc/core@1.3.93) nx: - specifier: 16.6.0 - version: 16.6.0(@swc/core@1.3.78) + specifier: 16.10.0 + version: 16.10.0(@swc/core@1.3.93) nx-cloud: - specifier: 16.3.0 - version: 16.3.0 + specifier: 16.5.2 + version: 16.5.2 prettier: specifier: ^2.8.8 version: 2.8.8 + prisma: + specifier: ^5.4.2 + version: 5.4.2 + supertest: + specifier: ^6.3.3 + version: 6.3.3 ts-jest: specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.22.10)(babel-jest@29.6.2)(jest@29.6.2)(typescript@5.1.6) + version: 29.1.1(@babel/core@7.23.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.1.6) ts-node: specifier: 10.9.1 - version: 10.9.1(@swc/core@1.3.78)(@types/node@18.14.2)(typescript@5.1.6) + version: 10.9.1(@swc/core@1.3.93)(@types/node@18.14.2)(typescript@5.1.6) typescript: specifier: ~5.1.6 version: 5.1.6 + unplugin-swc: + specifier: ^1.4.3 + version: 1.4.3(@swc/core@1.3.93) vite: specifier: ~4.3.9 version: 4.3.9(@types/node@18.14.2)(less@4.1.3)(stylus@0.59.0) @@ -197,11 +254,11 @@ devDependencies: specifier: ~2.3.0 version: 2.3.0(@types/node@18.14.2)(vite@4.3.9) vite-tsconfig-paths: - specifier: ~4.2.0 - version: 4.2.0(typescript@5.1.6)(vite@4.3.9) + specifier: ~4.2.1 + version: 4.2.1(typescript@5.1.6)(vite@4.3.9) vitest: specifier: ~0.32.4 - version: 0.32.4(@vitest/ui@0.32.4)(less@4.1.3)(stylus@0.59.0) + version: 0.32.4(@vitest/ui@0.32.4)(jsdom@22.1.0)(less@4.1.3)(stylus@0.59.0) packages: @@ -218,7 +275,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 /@angular-devkit/core@16.0.1: resolution: {integrity: sha512-2uz98IqkKJlgnHbWQ7VeL4pb+snGAZXIama2KXi+k9GsRntdcw+udX8rL3G9SdUGUF+m6+147Y1oRBMHsO/v4w==} @@ -278,13 +335,6 @@ packages: - chokidar dev: true - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - /@babel/code-frame@7.22.13: resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} @@ -292,25 +342,25 @@ packages: '@babel/highlight': 7.22.20 chalk: 2.4.2 - /@babel/compat-data@7.22.9: - resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + /@babel/compat-data@7.23.2: + resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} engines: {node: '>=6.9.0'} - /@babel/core@7.22.10: - resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + /@babel/core@7.23.2: + resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/template': 7.22.5 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.0 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.0 + '@babel/template': 7.22.15 '@babel/traverse': 7.23.2 - '@babel/types': 7.22.10 - convert-source-map: 1.9.0 + '@babel/types': 7.23.0 + convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 @@ -318,85 +368,76 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.22.10: - resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.10 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 - jsesc: 2.5.2 - /@babel/generator@7.23.0: resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.0 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10: - resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 - /@babel/helper-compilation-targets@7.22.10: - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.10 + '@babel/compat-data': 7.23.2 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.22.1 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.10): - resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.2): + resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/core': 7.23.2 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.4 + resolve: 1.22.8 transitivePeerDependencies: - supports-color @@ -404,17 +445,6 @@ packages: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} - engines: {node: '>=6.9.0'} - - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 - /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} @@ -428,74 +458,74 @@ packages: dependencies: '@babel/types': 7.23.0 - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.23.2 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.2): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.10 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.2): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/core': 7.23.2 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} @@ -511,40 +541,28 @@ packages: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.22.10: - resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==} + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.22.5 - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 - /@babel/helpers@7.22.10: - resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + /@babel/helpers@7.23.2: + resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 + '@babel/template': 7.22.15 '@babel/traverse': 7.23.2 - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 transitivePeerDependencies: - supports-color - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} @@ -553,13 +571,6 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.10: - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.22.10 - /@babel/parser@7.23.0: resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} engines: {node: '>=6.0.0'} @@ -567,938 +578,959 @@ packages: dependencies: '@babel/types': 7.23.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.23.2) - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.10): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.2): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-proposal-decorators@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==} + /@babel/plugin-proposal-decorators@7.23.2(@babel/core@7.23.2): + resolution: {integrity: sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.23.2) - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.2): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.10): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.2): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.10): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.2): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.10): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.2): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.22.10): + /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.23.2): resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.10): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.2): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.2): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.2): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.10): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.2): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.10): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.2): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.10): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.2): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-async-generator-functions@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==} + /@babel/plugin-transform-async-generator-functions@7.23.2(@babel/core@7.23.2): + resolution: {integrity: sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/core': 7.23.2 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2) - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.23.2 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.2) - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==} + /@babel/plugin-transform-block-scoping@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} + /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.23.2): + resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.2) - /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.10): - resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.5 + '@babel/template': 7.22.15 - /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==} + /@babel/plugin-transform-destructuring@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} + /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.23.2): + resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2) - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10 + '@babel/core': 7.23.2 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} + /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.23.2): + resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.2) - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-function-name': 7.22.5 + '@babel/core': 7.23.2 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} + /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.23.2): + resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2) - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.23.2): + resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2) - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + /@babel/plugin-transform-modules-amd@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} + /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} + /@babel/plugin-transform-modules-systemjs@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.23.2): + resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2) - /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} + /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.23.2): + resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2) - /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/compat-data': 7.23.2 + '@babel/core': 7.23.2 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2) - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) - /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.23.2): + resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2) - /@babel/plugin-transform-optional-chaining@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==} + /@babel/plugin-transform-optional-chaining@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} + /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.23.2): + resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.2) - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.2) + + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.23.2): + resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.23.2): + resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/types': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) + '@babel/types': 7.23.0 - /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.10): + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.23.2): resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-runtime@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==} + /@babel/plugin-transform-runtime@7.23.2(@babel/core@7.23.2): + resolution: {integrity: sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.23.2 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.10) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.10) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.10) + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.2) + babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.23.2) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.2) semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typescript@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2) - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.10): + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.23.2): resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2) '@babel/helper-plugin-utils': 7.22.5 - /@babel/preset-env@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==} + /@babel/preset-env@7.23.2(@babel/core@7.23.2): + resolution: {integrity: sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/compat-data': 7.23.2 + '@babel/core': 7.23.2 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.10) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-async-generator-functions': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.10) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.10) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.10) - '@babel/types': 7.22.10 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.10) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.10) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.10) - core-js-compat: 3.32.1 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.2) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.2) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-async-generator-functions': 7.23.2(@babel/core@7.23.2) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-block-scoping': 7.23.0(@babel/core@7.23.2) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.23.2) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-destructuring': 7.23.0(@babel/core@7.23.2) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.23.2) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.23.2) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.23.2) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.23.2) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-modules-amd': 7.23.0(@babel/core@7.23.2) + '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2) + '@babel/plugin-transform-modules-systemjs': 7.23.0(@babel/core@7.23.2) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.23.2) + '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.23.2) + '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.23.2) + '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.23.2) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.23.2) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.23.2) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.23.2) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.23.2) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.2) + '@babel/types': 7.23.0 + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.2) + babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.23.2) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.2) + core-js-compat: 3.33.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.10): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.2): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 esutils: 2.0.3 - /@babel/preset-react@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==} + /@babel/preset-react@7.22.15(@babel/core@7.23.2): + resolution: {integrity: sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.22.10) - - /@babel/preset-typescript@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==} + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.23.2) + + /@babel/preset-typescript@7.23.2(@babel/core@7.23.2): + resolution: {integrity: sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2) + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.2) /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - /@babel/runtime@7.22.10: - resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} + /@babel/runtime@7.23.2: + resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 @@ -1511,14 +1543,6 @@ packages: '@babel/parser': 7.23.0 '@babel/types': 7.23.0 - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 - /@babel/traverse@7.23.2: resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} engines: {node: '>=6.9.0'} @@ -1536,14 +1560,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/types@7.22.10: - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 - /@babel/types@7.23.0: resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} engines: {node: '>=6.9.0'} @@ -1556,14 +1572,14 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@commitlint/cli@17.7.1(@swc/core@1.3.78): - resolution: {integrity: sha512-BCm/AT06SNCQtvFv921iNhudOHuY16LswT0R3OeolVGLk8oP+Rk9TfQfgjH7QPMjhvp76bNqGFEcpKojxUNW1g==} + /@commitlint/cli@17.8.0(@swc/core@1.3.93): + resolution: {integrity: sha512-D3LdyZYbiRyAChfJMNlAd9f2P9vNQ7GWbI9gN2o7L5hF07QJDqj4z/pcJF3PjDbJWOaUUXla287RdDmmKqH2WQ==} engines: {node: '>=v14'} hasBin: true dependencies: '@commitlint/format': 17.4.4 - '@commitlint/lint': 17.7.0 - '@commitlint/load': 17.7.1(@swc/core@1.3.78) + '@commitlint/lint': 17.8.0 + '@commitlint/load': 17.8.0(@swc/core@1.3.93) '@commitlint/read': 17.5.1 '@commitlint/types': 17.4.4 execa: 5.1.1 @@ -1576,8 +1592,8 @@ packages: - '@swc/wasm' dev: true - /@commitlint/config-conventional@17.7.0: - resolution: {integrity: sha512-iicqh2o6et+9kWaqsQiEYZzfLbtoWv9uZl8kbI8EGfnc0HeGafQBF7AJ0ylN9D/2kj6txltsdyQs8+2fTMwWEw==} + /@commitlint/config-conventional@17.8.0: + resolution: {integrity: sha512-MgiFXujmqAvi7M33C7OSMTznwrVkckrbXe/aZWQ/+KFGLLF6IE50XIcjGrW0/uiDGb/im5qbqF2dh1dCFNa+sQ==} engines: {node: '>=v14'} dependencies: conventional-changelog-conventionalcommits: 6.1.0 @@ -1616,41 +1632,41 @@ packages: chalk: 4.1.2 dev: true - /@commitlint/is-ignored@17.7.0: - resolution: {integrity: sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==} + /@commitlint/is-ignored@17.8.0: + resolution: {integrity: sha512-8bR6rxNcWaNprPBdE4ePIOwbxutTQGOsRPYWssX+zjGxnEljzaZSGzFUOMxapYILlf8Tts/O1wPQgG549Rdvdg==} engines: {node: '>=v14'} dependencies: '@commitlint/types': 17.4.4 semver: 7.5.4 dev: true - /@commitlint/lint@17.7.0: - resolution: {integrity: sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA==} + /@commitlint/lint@17.8.0: + resolution: {integrity: sha512-4ihwnqOY4TcJN6iz5Jv1LeYavvBllONwFyGxOIWmCT5s4PNMb43cws2TUdbXTZL1Vq59etGKd5LWYDFPVbs5EA==} engines: {node: '>=v14'} dependencies: - '@commitlint/is-ignored': 17.7.0 + '@commitlint/is-ignored': 17.8.0 '@commitlint/parse': 17.7.0 '@commitlint/rules': 17.7.0 '@commitlint/types': 17.4.4 dev: true - /@commitlint/load@17.7.1(@swc/core@1.3.78): - resolution: {integrity: sha512-S/QSOjE1ztdogYj61p6n3UbkUvweR17FQ0zDbNtoTLc+Hz7vvfS7ehoTMQ27hPSjVBpp7SzEcOQu081RLjKHJQ==} + /@commitlint/load@17.8.0(@swc/core@1.3.93): + resolution: {integrity: sha512-9VnGXYJCP4tXmR4YrwP8n5oX6T5ZsHfPQq6WuUQOvAI+QsDQMaTGgTRXr7us+xsjz+b+mMBSagogqfUx2aixyw==} engines: {node: '>=v14'} dependencies: '@commitlint/config-validator': 17.6.7 '@commitlint/execute-rule': 17.4.0 '@commitlint/resolve-extends': 17.6.7 '@commitlint/types': 17.4.4 - '@types/node': 20.4.7 + '@types/node': 20.5.1 chalk: 4.1.2 - cosmiconfig: 8.2.0 - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.4.7)(cosmiconfig@8.2.0)(ts-node@10.9.1)(typescript@5.1.6) + cosmiconfig: 8.3.6(typescript@5.1.6) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.1.6) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@swc/core@1.3.78)(@types/node@20.4.7)(typescript@5.1.6) + ts-node: 10.9.1(@swc/core@1.3.93)(@types/node@20.5.1)(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - '@swc/core' @@ -1928,29 +1944,27 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.15.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.46.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.15.0 + eslint: 8.46.0 eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.6.2: - resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + /@eslint-community/regexpp@4.9.1: + resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /@eslint/eslintrc@1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.21.0 + globals: 13.23.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -1959,13 +1973,17 @@ packages: transitivePeerDependencies: - supports-color - /@faker-js/faker@8.0.2: - resolution: {integrity: sha512-Uo3pGspElQW91PCvKSIAXoEgAUlRnH29sX2/p89kg7sP1m2PzCufHINd0FhTXQf6DYGiUlVncdSPa2F9wxed2A==} + /@eslint/js@8.51.0: + resolution: {integrity: sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /@faker-js/faker@8.2.0: + resolution: {integrity: sha512-VacmzZqVxdWdf9y64lDOMZNDMM/FQdtM9IsaOPKOm2suYwEatb8VkdHqOzXcDnZbk7YDE2BmsJmy/2Hmkn563g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} dev: true - /@humanwhocodes/config-array@0.9.5: - resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} + /@humanwhocodes/config-array@0.11.11: + resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -1974,6 +1992,10 @@ packages: transitivePeerDependencies: - supports-color + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} @@ -2010,20 +2032,20 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@29.6.2: - resolution: {integrity: sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==} + /@jest/console@29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/node': 18.14.2 chalk: 4.1.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 dev: true - /@jest/core@29.6.2(ts-node@10.9.1): - resolution: {integrity: sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==} + /@jest/core@29.7.0(ts-node@10.9.1): + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -2031,32 +2053,32 @@ packages: node-notifier: optional: true dependencies: - '@jest/console': 29.6.2 - '@jest/reporters': 29.6.2 - '@jest/test-result': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.14.2 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 - jest-changed-files: 29.5.0 - jest-config: 29.6.2(@types/node@18.14.2)(ts-node@10.9.1) - jest-haste-map: 29.6.2 - jest-message-util: 29.6.2 - jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-resolve-dependencies: 29.6.2 - jest-runner: 29.6.2 - jest-runtime: 29.6.2 - jest-snapshot: 29.6.2 - jest-util: 29.6.2 - jest-validate: 29.6.2 - jest-watcher: 29.6.2 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.14.2)(ts-node@10.9.1) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 micromatch: 4.0.5 - pretty-format: 29.6.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: @@ -2065,59 +2087,59 @@ packages: - ts-node dev: true - /@jest/environment@29.6.2: - resolution: {integrity: sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==} + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.6.2 - '@jest/types': 29.6.1 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.14.2 - jest-mock: 29.6.2 + jest-mock: 29.7.0 dev: true - /@jest/expect-utils@29.6.2: - resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 29.4.3 + jest-get-type: 29.6.3 dev: true - /@jest/expect@29.6.2: - resolution: {integrity: sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==} + /@jest/expect@29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 29.6.2 - jest-snapshot: 29.6.2 + expect: 29.7.0 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers@29.6.2: - resolution: {integrity: sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==} + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 '@types/node': 18.14.2 - jest-message-util: 29.6.2 - jest-mock: 29.6.2 - jest-util: 29.6.2 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 dev: true - /@jest/globals@29.6.2: - resolution: {integrity: sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==} + /@jest/globals@29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/expect': 29.6.2 - '@jest/types': 29.6.1 - jest-mock: 29.6.2 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 transitivePeerDependencies: - supports-color dev: true - /@jest/reporters@29.6.2: - resolution: {integrity: sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==} + /@jest/reporters@29.7.0: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -2126,11 +2148,11 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.6.2 - '@jest/test-result': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 - '@jridgewell/trace-mapping': 0.3.19 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.20 '@types/node': 18.14.2 chalk: 4.1.2 collect-v8-coverage: 1.0.2 @@ -2138,72 +2160,71 @@ packages: glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 + istanbul-lib-instrument: 6.0.1 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - jest-message-util: 29.6.2 - jest-util: 29.6.2 - jest-worker: 29.6.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - v8-to-istanbul: 9.1.0 + v8-to-istanbul: 9.1.3 transitivePeerDependencies: - supports-color dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 - dev: true - /@jest/source-map@29.6.0: - resolution: {integrity: sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==} + /@jest/source-map@29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 callsites: 3.1.0 graceful-fs: 4.2.11 dev: true - /@jest/test-result@29.6.2: - resolution: {integrity: sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==} + /@jest/test-result@29.7.0: + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.6.2 - '@jest/types': 29.6.1 - '@types/istanbul-lib-coverage': 2.0.4 + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.5 collect-v8-coverage: 1.0.2 dev: true - /@jest/test-sequencer@29.6.2: - resolution: {integrity: sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==} + /@jest/test-sequencer@29.7.0: + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.6.2 + '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 + jest-haste-map: 29.7.0 slash: 3.0.0 dev: true - /@jest/transform@29.6.2: - resolution: {integrity: sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==} + /@jest/transform@29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.10 - '@jest/types': 29.6.1 - '@jridgewell/trace-mapping': 0.3.19 + '@babel/core': 7.23.2 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.20 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-regex-util: 29.4.3 - jest-util: 29.6.2 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 micromatch: 4.0.5 pirates: 4.0.6 slash: 3.0.0 @@ -2212,15 +2233,15 @@ packages: - supports-color dev: true - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.5 + '@types/istanbul-reports': 3.0.3 '@types/node': 18.14.2 - '@types/yargs': 17.0.24 + '@types/yargs': 17.0.29 chalk: 4.1.2 dev: true @@ -2230,7 +2251,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} @@ -2244,13 +2265,13 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 @@ -2269,18 +2290,18 @@ packages: resolution: {integrity: sha512-YXmxzxXTP3u9HQpSXvK8qqoAm7VWQIFria3FVMQKkOSkWkph1TNnvt3Q1JvKT7/Jgd1HfTc3QrK09a2FND9+8A==} engines: {node: ^14.17.0 || >=16.0.0} dependencies: - chalk: 4.1.2 - execa: 5.1.1 + chalk: 4.1.0 + execa: 5.0.0 strong-log-transformer: 2.1.0 dev: true - /@lerna/create@7.1.5(@swc/core@1.3.78): + /@lerna/create@7.1.5(@swc/core@1.3.93)(typescript@5.1.6): resolution: {integrity: sha512-/CDI/cvXJbycgSDzWXzP7DBuJ10qL/uYEouFt3/mxi9+hSfM885fu6lbVPV7QOf8A0otXcTs7PN2dVyMrnWQeg==} engines: {node: ^14.17.0 || >=16.0.0} dependencies: '@lerna/child-process': 7.1.5 '@npmcli/run-script': 6.0.2 - '@nx/devkit': 16.6.0(nx@16.6.0) + '@nx/devkit': 16.10.0(nx@16.10.0) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11 byte-size: 8.1.1 @@ -2290,7 +2311,7 @@ packages: columnify: 1.6.0 conventional-changelog-core: 5.0.1 conventional-recommended-bump: 7.0.1 - cosmiconfig: 8.2.0 + cosmiconfig: 8.3.6(typescript@5.1.6) dedent: 0.7.0 execa: 5.0.0 fs-extra: 11.1.1 @@ -2316,7 +2337,7 @@ packages: npm-packlist: 5.1.1 npm-registry-fetch: 14.0.5 npmlog: 6.0.2 - nx: 16.6.0(@swc/core@1.3.78) + nx: 16.10.0(@swc/core@1.3.93) p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 @@ -2335,7 +2356,7 @@ packages: tar: 6.1.11 temp-dir: 1.0.0 upath: 2.0.1 - uuid: 9.0.0 + uuid: 9.0.1 validate-npm-package-license: 3.0.4 validate-npm-package-name: 5.0.0 write-file-atomic: 5.0.1 @@ -2349,35 +2370,36 @@ packages: - debug - encoding - supports-color + - typescript dev: true /@lukeed/csprng@1.1.0: resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} engines: {node: '>=8'} - /@microsoft/api-extractor-model@7.27.6(@types/node@18.14.2): - resolution: {integrity: sha512-eiCnlayyum1f7fS2nA9pfIod5VCNR1G+Tq84V/ijDrKrOFVa598BLw145nCsGDMoFenV6ajNi2PR5WCwpAxW6Q==} + /@microsoft/api-extractor-model@7.28.2(@types/node@18.14.2): + resolution: {integrity: sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.59.7(@types/node@18.14.2) + '@rushstack/node-core-library': 3.61.0(@types/node@18.14.2) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.36.4(@types/node@18.14.2): - resolution: {integrity: sha512-21UECq8C/8CpHT23yiqTBQ10egKUacIpxkPyYR7hdswo/M5yTWdBvbq+77YC9uPKQJOUfOD1FImBQ1DzpsdeQQ==} + /@microsoft/api-extractor@7.38.0(@types/node@18.14.2): + resolution: {integrity: sha512-e1LhZYnfw+JEebuY2bzhw0imDCl1nwjSThTrQqBXl40hrVo6xm3j/1EpUr89QyzgjqmAwek2ZkIVZbrhaR+cqg==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.27.6(@types/node@18.14.2) + '@microsoft/api-extractor-model': 7.28.2(@types/node@18.14.2) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.59.7(@types/node@18.14.2) - '@rushstack/rig-package': 0.4.1 - '@rushstack/ts-command-line': 4.15.2 + '@rushstack/node-core-library': 3.61.0(@types/node@18.14.2) + '@rushstack/rig-package': 0.5.1 + '@rushstack/ts-command-line': 4.16.1 colors: 1.2.5 lodash: 4.17.21 - resolve: 1.22.4 + resolve: 1.22.8 semver: 7.5.4 source-map: 0.6.1 typescript: 5.0.4 @@ -2412,8 +2434,8 @@ packages: os-filter-obj: 2.0.0 dev: true - /@nestjs/common@10.1.3(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1): - resolution: {integrity: sha512-xSyXBwgcmiFwQqek1Urw/AL3pRPq9bp/tpgfTxmnJg3gP6XNUbx1fDr0de50irXgZYzFKfVFo9ptC3b2du5YKA==} + /@nestjs/common@10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1): + resolution: {integrity: sha512-cUtCRXiUstDmh4bSBhVbq4cI439Gngp4LgLGLBmd5dqFQodfXKnSD441ldYfFiLz4rbUsnoMJz/8ZjuIEI+B7A==} peerDependencies: class-transformer: '*' class-validator: '*' @@ -2430,25 +2452,25 @@ packages: iterare: 1.2.1 reflect-metadata: 0.1.13 rxjs: 7.8.1 - tslib: 2.6.1 + tslib: 2.6.2 uid: 2.0.2 - /@nestjs/config@3.0.0(@nestjs/common@10.1.3)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-fzASk1Uv6AjdE6uA1na8zpqRCXAhRpcfgpCVv3SAKlgJ3VR3bEjcI4G17WHLgLBsmPzI1ofdkSI451WLD1F1Rw==} + /@nestjs/config@3.1.1(@nestjs/common@10.2.7)(reflect-metadata@0.1.13): + resolution: {integrity: sha512-qu5QlNiJdqQtOsnB6lx4JCXPQ96jkKUsOGd+JXfXwqJqZcOSAq6heNFg0opW4pq4J/VZoNwoo87TNnx9wthnqQ==} peerDependencies: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 reflect-metadata: ^0.1.13 dependencies: - '@nestjs/common': 10.1.3(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) - dotenv: 16.1.4 + '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + dotenv: 16.3.1 dotenv-expand: 10.0.0 lodash: 4.17.21 reflect-metadata: 0.1.13 uuid: 9.0.0 dev: false - /@nestjs/core@10.1.3(@nestjs/common@10.1.3)(@nestjs/microservices@10.1.3)(@nestjs/platform-express@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1): - resolution: {integrity: sha512-VzK54TuacC3Vmq3b5xTyMVTlDNJeKbjpKfV9fNqm4TbIBm8ZPo3FC0osJAbAK4XwbVvv2Flq1yA3CutasupVjw==} + /@nestjs/core@10.2.7(@nestjs/common@10.2.7)(@nestjs/microservices@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1): + resolution: {integrity: sha512-5GSu53QUUcwX17sNmlJPa1I0wIeAZOKbedyVuQx0ZAwWVa9g0wJBbsNP+R4EJ+j5Dkdzt/8xkiZvnKt8RFRR8g==} requiresBuild: true peerDependencies: '@nestjs/common': ^10.0.0 @@ -2465,21 +2487,31 @@ packages: '@nestjs/websockets': optional: true dependencies: - '@nestjs/common': 10.1.3(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/microservices': 10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/platform-express': 10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3) + '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/microservices': 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/platform-express': 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7) '@nuxtjs/opencollective': 0.3.2 fast-safe-stringify: 2.1.1 iterare: 1.2.1 path-to-regexp: 3.2.0 reflect-metadata: 0.1.13 rxjs: 7.8.1 - tslib: 2.6.1 + tslib: 2.6.2 uid: 2.0.2 transitivePeerDependencies: - encoding - /@nestjs/mapped-types@2.0.2(@nestjs/common@10.1.3)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13): + /@nestjs/jwt@10.1.1(@nestjs/common@10.2.7): + resolution: {integrity: sha512-sISYylg8y1Mb7saxPx5Zh11i7v9JOh70CEC/rN6g43MrbFlJ57c1eYFrffxip1YAx3DmV4K67yXob3syKZMOew==} + peerDependencies: + '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + dependencies: + '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@types/jsonwebtoken': 9.0.2 + jsonwebtoken: 9.0.0 + dev: false + + /@nestjs/mapped-types@2.0.2(@nestjs/common@10.2.7)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13): resolution: {integrity: sha512-V0izw6tWs6fTp9+KiiPUbGHWALy563Frn8X6Bm87ANLRuE46iuBMD5acKBDP5lKL/75QFvrzSJT7HkCbB0jTpg==} peerDependencies: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 @@ -2492,14 +2524,14 @@ packages: class-validator: optional: true dependencies: - '@nestjs/common': 10.1.3(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) class-transformer: 0.5.1 class-validator: 0.14.0 reflect-metadata: 0.1.13 dev: false - /@nestjs/microservices@10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1): - resolution: {integrity: sha512-IBKefw+DR6v2SaXjPJ8tRT+gQTJUSGN83gxuaA32uCQNW2rK+CyVapgX3fDeM/zJsLfBkdveSMX+R74w5wuk+Q==} + /@nestjs/microservices@10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1): + resolution: {integrity: sha512-ggpng1yRuugPufn+OKeHV6Dcw3TWI7lmOvXkyYRwatVHQMvb3MlPpbzsA5PfUlg5DsjPGEWRbkIWN7OFb8OTyw==} peerDependencies: '@grpc/grpc-js': '*' '@nestjs/common': ^10.0.0 @@ -2534,26 +2566,36 @@ packages: nats: optional: true dependencies: - '@nestjs/common': 10.1.3(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/core': 10.1.3(@nestjs/common@10.1.3)(@nestjs/microservices@10.1.3)(@nestjs/platform-express@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/core': 10.2.7(@nestjs/common@10.2.7)(@nestjs/microservices@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1) iterare: 1.2.1 reflect-metadata: 0.1.13 rxjs: 7.8.1 - tslib: 2.6.1 + tslib: 2.6.2 - /@nestjs/platform-express@10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3): - resolution: {integrity: sha512-RSf7ooCrxiWJlWl3CLfpaYmAf3U0tRsN7pJakujWdvzVJU2EzVZTLcy1MtnSg/HBm9/Rvg98VI5QI6oOhOpt+A==} + /@nestjs/passport@10.0.2(@nestjs/common@10.2.7)(passport@0.6.0): + resolution: {integrity: sha512-od31vfB2z3y05IDB5dWSbCGE2+pAf2k2WCBinNuTTOxN0O0+wtO1L3kawj/aCW3YR9uxsTOVbTDwtwgpNNsnjQ==} + peerDependencies: + '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 + passport: ^0.4.0 || ^0.5.0 || ^0.6.0 + dependencies: + '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + passport: 0.6.0 + dev: false + + /@nestjs/platform-express@10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7): + resolution: {integrity: sha512-p+kp6aJtkgAdVpUrCVmM6MKtOvjsbt7QofBiZMidjYesZkMeG5gZ1D2SK8XzvQ8VXHJfFgEdY2xcKGB+wJLOYQ==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 dependencies: - '@nestjs/common': 10.1.3(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/core': 10.1.3(@nestjs/common@10.1.3)(@nestjs/microservices@10.1.3)(@nestjs/platform-express@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/core': 10.2.7(@nestjs/common@10.2.7)(@nestjs/microservices@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1) body-parser: 1.20.2 cors: 2.8.5 express: 4.18.2 multer: 1.4.4-lts.1 - tslib: 2.6.1 + tslib: 2.6.2 transitivePeerDependencies: - supports-color @@ -2586,8 +2628,8 @@ packages: - chokidar dev: true - /@nestjs/swagger@7.1.8(@nestjs/common@10.1.3)(@nestjs/core@10.1.3)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-Jpl3laGAqvyWccc3auLU0mMjl5hJ2kqzzDb63ynJi5NMbFlgBwrR8FCGBVstSsqL9YSJWLR4L1BZzVmVExcY+g==} + /@nestjs/swagger@7.1.13(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13): + resolution: {integrity: sha512-aHfW0rDZZKTuPVSkxutBCB16lBy5vrsHVoRF5RvPtH7U2cm4Vf+OnfhxKKuG2g2Xocn9sDL+JAyVlY2VN3ytTw==} peerDependencies: '@fastify/static': ^6.0.0 '@nestjs/common': ^9.0.0 || ^10.0.0 @@ -2603,20 +2645,20 @@ packages: class-validator: optional: true dependencies: - '@nestjs/common': 10.1.3(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/core': 10.1.3(@nestjs/common@10.1.3)(@nestjs/microservices@10.1.3)(@nestjs/platform-express@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/mapped-types': 2.0.2(@nestjs/common@10.1.3)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13) + '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/core': 10.2.7(@nestjs/common@10.2.7)(@nestjs/microservices@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/mapped-types': 2.0.2(@nestjs/common@10.2.7)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13) class-transformer: 0.5.1 class-validator: 0.14.0 js-yaml: 4.1.0 lodash: 4.17.21 path-to-regexp: 3.2.0 reflect-metadata: 0.1.13 - swagger-ui-dist: 5.3.1 + swagger-ui-dist: 5.9.0 dev: false - /@nestjs/testing@10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3)(@nestjs/microservices@10.1.3)(@nestjs/platform-express@10.1.3): - resolution: {integrity: sha512-zMrO9xLPYnKtC6q1diWubuMshIp0v2aGHa58jcIfZaAlJlU/6RKsgCOiFQ42aFzxUEBRWF0LBF0aiwt04LKMyQ==} + /@nestjs/testing@10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(@nestjs/microservices@10.2.7)(@nestjs/platform-express@10.2.7): + resolution: {integrity: sha512-d2SIqiJIf/7NSILeNNWSdRvTTpHSouGgisGHwf5PVDC7z4/yXZw/wPO9eJhegnxFlqk6n2LW4QBTmMzbqjAfHA==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 @@ -2628,11 +2670,11 @@ packages: '@nestjs/platform-express': optional: true dependencies: - '@nestjs/common': 10.1.3(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/core': 10.1.3(@nestjs/common@10.1.3)(@nestjs/microservices@10.1.3)(@nestjs/platform-express@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/microservices': 10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3)(reflect-metadata@0.1.13)(rxjs@7.8.1) - '@nestjs/platform-express': 10.1.3(@nestjs/common@10.1.3)(@nestjs/core@10.1.3) - tslib: 2.6.1 + '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/core': 10.2.7(@nestjs/common@10.2.7)(@nestjs/microservices@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/microservices': 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1) + '@nestjs/platform-express': 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7) + tslib: 2.6.2 dev: true /@next/env@13.4.1: @@ -2801,17 +2843,17 @@ packages: - supports-color dev: true - /@nrwl/devkit@16.6.0(nx@16.6.0): - resolution: {integrity: sha512-xZEN6wfA1uJwv+FVRQFOHsCcpvGvIYGx2zutbzungDodWkfzlJ3tzIGqYjIpPCBVT83erM6Gscnka2W46AuKfA==} + /@nrwl/devkit@16.10.0(nx@16.10.0): + resolution: {integrity: sha512-fRloARtsDQoQgQ7HKEy0RJiusg/HSygnmg4gX/0n/Z+SUS+4KoZzvHjXc6T5ZdEiSjvLypJ+HBM8dQzIcVACPQ==} dependencies: - '@nx/devkit': 16.6.0(nx@16.6.0) + '@nx/devkit': 16.10.0(nx@16.10.0) transitivePeerDependencies: - nx - /@nrwl/eslint-plugin-nx@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-kNT8Q6buTX9kIYgiZZRFcr2bxSgIQR3tpbBlzXhKFeQE31w53fVWbdX3oPbn+VPgza84beVCEUbyOHexA4X82Q==} + /@nrwl/eslint-plugin-nx@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6): + resolution: {integrity: sha512-w8fHXEatdPHQeP/Yompsdrgz4BJ2BSVaaaulcovzTNJ9KrCCtDyTGY7sihU7qLVcbZtUVq9xoAsSeuTQuOCTDw==} dependencies: - '@nx/eslint-plugin': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) + '@nx/eslint-plugin': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -2828,10 +2870,10 @@ packages: - verdaccio dev: true - /@nrwl/jest@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6): - resolution: {integrity: sha512-WN1kmH3tDGFS1IeMG27wwvERXPYLDXtJHRwXzBd8kbb2JMEAO9C501N06/leS7V0jzmtpwfs2iqmIuoOuw6jxg==} + /@nrwl/jest@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6): + resolution: {integrity: sha512-hZuIK3xXh4HaE6/Ny8hGidjkJ4aLZjnQtPDxKD/423gznQe2FdHx3avoSlbOEOx5Oc6sJ9QGGZLcvckKQ5uWww==} dependencies: - '@nx/jest': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) + '@nx/jest': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -2848,10 +2890,10 @@ packages: - verdaccio dev: true - /@nrwl/js@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-fMqMuqF/rwi1diirkNQ0ZgRnPwMoutE92xnLUZcqbyD/P4kTsrxleOAGvxpzpMpdvUU0Cw+cpVwHf6nw7o8JCA==} + /@nrwl/js@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6): + resolution: {integrity: sha512-asybPpyPrxLLDWWdYzFqbgubLmDKLEhoMz8x9MPOm3CH8v2vlIE6hD0JT19GdJArBPxRB33nhjtu8wmJGz5czw==} dependencies: - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -2864,10 +2906,10 @@ packages: - typescript - verdaccio - /@nrwl/linter@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-E/6E8EVrOECqwevVYBUH/YF2+K2pE0GcNs6233BnGpflyxhxNYaH18vM0y0q8BGbeZEKkqEiiMTryg50+GiBzw==} + /@nrwl/linter@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0): + resolution: {integrity: sha512-XvMuTeIc2I3630iaqhlV4w3qgABQIo+kv8mT0DbT1HfjjZDm4ST8hrvkdWSf9mCl24vShNL8GDVQVNOX0bZY5A==} dependencies: - '@nx/linter': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) + '@nx/linter': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -2878,13 +2920,12 @@ packages: - eslint - nx - supports-color - - typescript - verdaccio - /@nrwl/nest@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6): - resolution: {integrity: sha512-bLeo1wbKWKn7qNM1wuFL+1VGYKORTlJc0eH9QmQ0A4G2n5r9Pz+Ssjqcs3TnypptjT82WLl8y/+622nVH+jqEw==} + /@nrwl/nest@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6): + resolution: {integrity: sha512-ImIXV8bPhKq34xdfdz1kHnRZQ7QnbKqLB2pU9kfHDhbOfQUvy1L1UXAasBzS5qSsJtPljaXAe+nOxNu1nOlaZg==} dependencies: - '@nx/nest': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) + '@nx/nest': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -2903,10 +2944,10 @@ packages: - verdaccio dev: true - /@nrwl/next@16.6.0(@babel/core@7.22.10)(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(next@13.4.1)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2): - resolution: {integrity: sha512-nlSUsyb3zczZCgUA79aIBLGJ3q4Rhs6bKs/7WwBo/80WoPi5G9YnVyYAt6EqC8m85DxjSM+CbpY/42jHFF86mg==} + /@nrwl/next@16.10.0(@babel/core@7.23.2)(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(next@13.4.1)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0): + resolution: {integrity: sha512-amGM11dlHD9A7xNss4mrLcOE5vtVcVnlgeM+75cOCrjmGM1+PVA8kblLt/3uqC5Z4i6bshIVug9/tJ5xDeWYvQ==} dependencies: - '@nx/next': 16.6.0(@babel/core@7.22.10)(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(next@13.4.1)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2) + '@nx/next': 16.10.0(@babel/core@7.23.2)(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(next@13.4.1)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0) transitivePeerDependencies: - '@babel/core' - '@babel/traverse' @@ -2925,10 +2966,10 @@ packages: - webpack dev: false - /@nrwl/node@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6): - resolution: {integrity: sha512-4wJ6xHxGqsvzY8klq5gwW5BJmvK80CiI5/o37ocF9+8UbD5eYfxaWZQM4091Wwf6tX8M4YluAzLn4DPkHgZLnQ==} + /@nrwl/node@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6): + resolution: {integrity: sha512-UZ1s02f2IpFRXzVZIBuDLXXB+obyP280RFHV9smYruhOHrj8iA5wXNSXcJJGorwpKP3WCUS/+KS49oVSHOkLUA==} dependencies: - '@nx/node': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) + '@nx/node': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -2946,18 +2987,18 @@ packages: - verdaccio dev: true - /@nrwl/nx-cloud@16.3.0: - resolution: {integrity: sha512-nJrGsVufhY74KcP7kM7BqFOGAoO5OEF6+wfiM295DgmEG9c1yW+x5QiQaC42K9SWYn/eKQa1X7466ZA5lynXoQ==} + /@nrwl/nx-cloud@16.5.2: + resolution: {integrity: sha512-oHO5T1HRJsR9mbRd8eUqMBPCgqVZLSbAh3zJoPFmhEmjbM4YB9ePRpgYFT8dRNeZUOUd/8Yt7Pb6EVWOHvpD/w==} dependencies: - nx-cloud: 16.3.0 + nx-cloud: 16.5.2 transitivePeerDependencies: - debug dev: true - /@nrwl/react@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2): - resolution: {integrity: sha512-2xPakyRN9Gkt7tIbFFJ/sjwnm3HE6v8Oa4k1YfT2NnBV2ZKeMiwMDaHaYBa0709q/eU3QMlonvtx3j1w8r5GTg==} + /@nrwl/react@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0): + resolution: {integrity: sha512-00JmHuA97K7t2Z22fGvNqMZuhmRO/IpceLPdUhQOeAY/lb+e3ffVf+CDOBnTC/ISjrIoIyYcfmbAl4ZxxvvN7w==} dependencies: - '@nx/react': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2) + '@nx/react': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -2972,21 +3013,21 @@ packages: - verdaccio - webpack - /@nrwl/tao@16.6.0(@swc/core@1.3.78): - resolution: {integrity: sha512-NQkDhmzlR1wMuYzzpl4XrKTYgyIzELdJ+dVrNKf4+p4z5WwKGucgRBj60xMQ3kdV25IX95/fmMDB8qVp/pNQ0Q==} + /@nrwl/tao@16.10.0(@swc/core@1.3.93): + resolution: {integrity: sha512-QNAanpINbr+Pod6e1xNgFbzK1x5wmZl+jMocgiEFXZ67KHvmbD6MAQQr0MMz+GPhIu7EE4QCTLTyCEMlAG+K5Q==} hasBin: true dependencies: - nx: 16.6.0(@swc/core@1.3.78) + nx: 16.10.0(@swc/core@1.3.93) tslib: 2.6.2 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - debug - /@nrwl/vite@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4): - resolution: {integrity: sha512-TSi/3yHg2nQ2pvWi22aVdSNOUf380wsT8Hbd+A3/QRIL1MZB7sm7rB1IhBZO8Z94xlGoaqum41yq+sTobBvDEA==} + /@nrwl/vite@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4): + resolution: {integrity: sha512-15ARYsaiauksgj077YJuJW5uKTOWdA7IZ4fm5ewRUWQyNNZeVSG9Fm3bkJWB9YLjnce3/Fuop+ynm0j3C01Phg==} dependencies: - '@nx/vite': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4) + '@nx/vite': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -3002,10 +3043,10 @@ packages: - vitest dev: true - /@nrwl/web@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-6JQnoZFgnna8QWb5a9q3m3Wz86W+wOtLszLJZlnykskgFf6wEWxFsH77a2SahKafxS8XgZojP7Vun7Z1bUfiLw==} + /@nrwl/web@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6): + resolution: {integrity: sha512-BRQGOHiuEptVhjmXnlqM47epUL00RoUMjhcsfMNjyZ7WpdY0JjwJaNx4afylt3h28mSXVi4t008oE5FEC+YfYw==} dependencies: - '@nx/web': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + '@nx/web': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -3018,10 +3059,10 @@ packages: - typescript - verdaccio - /@nrwl/webpack@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-ZzmQS5Xz0mkCV/8Q87iy0jQE2Z36PjkEM0K/tRCPHi3vgOhvzJWn6Ecs1jAfxCHGQwbc9v0yauQWetiUOsCeTw==} + /@nrwl/webpack@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6): + resolution: {integrity: sha512-oh/8jzytaU2YM6DOvEOt2CysKWpru+fc+M31JGj6gdq1c1wr4feSs1c/rmJ4jAfvYqejrJwyZK96XX1uRo+3RQ==} dependencies: - '@nx/webpack': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + '@nx/webpack': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) transitivePeerDependencies: - '@babel/traverse' - '@parcel/css' @@ -3050,10 +3091,10 @@ packages: - webpack-cli dev: true - /@nrwl/workspace@16.6.0(@swc/core@1.3.78): - resolution: {integrity: sha512-Bt2o1tU1ZYQKNtnBbyg62T1ELEdlNwxb5C6MPENnlDB/kkmiLXvPFTzMV2lgDZvMLP6eLazq98P2TQ8jCbY4lA==} + /@nrwl/workspace@16.10.0(@swc/core@1.3.93): + resolution: {integrity: sha512-fZeNxhFs/2cm326NebfJIgSI3W4KZN94WGS46wlIBrUUGP5/vwHYsi09Kx6sG1kRkAuZVtgJ33uU2F6xcAWzUA==} dependencies: - '@nx/workspace': 16.6.0(@swc/core@1.3.78) + '@nx/workspace': 16.10.0(@swc/core@1.3.93) transitivePeerDependencies: - '@swc-node/register' - '@swc/core' @@ -3066,25 +3107,26 @@ packages: dependencies: chalk: 4.1.2 consola: 2.15.3 - node-fetch: 2.6.13 + node-fetch: 2.7.0 transitivePeerDependencies: - encoding - /@nx/devkit@16.6.0(nx@16.6.0): - resolution: {integrity: sha512-rhJ0y+MSPHDuoZPxsOYdj/n5ks+gK74TIMgTb8eZgPT/uR86a4oxf62wUQXgECedR5HzLE2HunbnoLhhJXmpJw==} + /@nx/devkit@16.10.0(nx@16.10.0): + resolution: {integrity: sha512-IvKQqRJFDDiaj33SPfGd3ckNHhHi6ceEoqCbAP4UuMXOPPVOX6H0KVk+9tknkPb48B7jWIw6/AgOeWkBxPRO5w==} peerDependencies: nx: '>= 15 <= 17' dependencies: - '@nrwl/devkit': 16.6.0(nx@16.6.0) + '@nrwl/devkit': 16.10.0(nx@16.10.0) ejs: 3.1.9 + enquirer: 2.3.6 ignore: 5.2.4 - nx: 16.6.0(@swc/core@1.3.78) + nx: 16.10.0(@swc/core@1.3.93) semver: 7.5.3 tmp: 0.2.1 tslib: 2.6.2 - /@nx/eslint-plugin@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-fTqGTjAiFGZsYrs5OgwtL7bJ5qaNS6mW2/d/jZiN1oiSLBaJUyceKZWs0y5dvOMlJOo0/UG4hbBoMJGBBBWx+g==} + /@nx/eslint-plugin@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6): + resolution: {integrity: sha512-fdOlCrSJK6HfCs+FVXUxzS5gobnGymTU85B3vXPYkVpJwKmq9voX7HBhx9euScRGgXdO9335DIixc/QV6zGpKA==} peerDependencies: '@typescript-eslint/parser': ^5.60.1 eslint-config-prettier: ^8.1.0 @@ -3092,15 +3134,15 @@ packages: eslint-config-prettier: optional: true dependencies: - '@nrwl/eslint-plugin-nx': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - '@typescript-eslint/parser': 5.62.0(eslint@8.15.0)(typescript@5.1.6) - '@typescript-eslint/type-utils': 5.62.0(eslint@8.15.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.62.0(eslint@8.15.0)(typescript@5.1.6) + '@nrwl/eslint-plugin-nx': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(@typescript-eslint/parser@5.62.0)(eslint-config-prettier@8.1.0)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.46.0)(typescript@5.1.6) chalk: 4.1.2 confusing-browser-globals: 1.0.11 - eslint-config-prettier: 8.1.0(eslint@8.15.0) + eslint-config-prettier: 8.1.0(eslint@8.46.0) jsonc-eslint-parser: 2.3.0 semver: 7.5.3 tslib: 2.6.2 @@ -3118,21 +3160,20 @@ packages: - verdaccio dev: true - /@nx/jest@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6): - resolution: {integrity: sha512-vELYDr4f3irgokfh6/lgY0o6PsSqG6Kn2ytt3eGcy1tHaHcx8TsU7ubZbEtSE6J2/T6W/l6+X3kyWSWEsXeXXw==} + /@nx/jest@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6): + resolution: {integrity: sha512-QseeLjDrl4c9q9Dd/057SXYqd47JVLhD2VQlQDraYwjsHz3lWkzlGaaHy0ZrVu8LSzY7lUUhJMPyYO3qo8wT6A==} dependencies: - '@jest/reporters': 29.6.2 - '@jest/test-result': 29.6.2 - '@nrwl/jest': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@nrwl/jest': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.1.6) chalk: 4.1.2 - dotenv: 10.0.0 identity-obj-proxy: 3.0.0 - jest-config: 29.6.2(@types/node@18.14.2)(ts-node@10.9.1) - jest-resolve: 29.6.2 - jest-util: 29.6.2 + jest-config: 29.7.0(@types/node@18.14.2)(ts-node@10.9.1) + jest-resolve: 29.7.0 + jest-util: 29.7.0 resolve.exports: 1.1.0 tslib: 2.6.2 transitivePeerDependencies: @@ -3151,38 +3192,42 @@ packages: - verdaccio dev: true - /@nx/js@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-9ZTw5cMR1XWfn8SXe4xp2ETAat+SCNcOBqEf/Ih5b3MjodlOVLRQNiYlGSpuCr1keok25DJZxKIbRgoJCLG6JA==} + /@nx/js@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6): + resolution: {integrity: sha512-27AH0/+XTMzOxVS6oV8Zl7/Rr1UDMYsnCVqoCU9CXp087uxcD4VnBOEjsEUlJKh1RdwGE3K0hBkk7NC1LP+vYQ==} peerDependencies: verdaccio: ^5.0.4 peerDependenciesMeta: verdaccio: optional: true dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.10) - '@babel/plugin-proposal-decorators': 7.22.10(@babel/core@7.22.10) - '@babel/plugin-transform-runtime': 7.22.10(@babel/core@7.22.10) - '@babel/preset-env': 7.22.10(@babel/core@7.22.10) - '@babel/preset-typescript': 7.22.5(@babel/core@7.22.10) - '@babel/runtime': 7.22.10 - '@nrwl/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/workspace': 16.6.0(@swc/core@1.3.78) + '@babel/core': 7.23.2 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.2) + '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.23.2) + '@babel/plugin-transform-runtime': 7.23.2(@babel/core@7.23.2) + '@babel/preset-env': 7.23.2(@babel/core@7.23.2) + '@babel/preset-typescript': 7.23.2(@babel/core@7.23.2) + '@babel/runtime': 7.23.2 + '@nrwl/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/workspace': 16.10.0(@swc/core@1.3.93) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.1.6) - babel-plugin-const-enum: 1.2.0(@babel/core@7.22.10) + babel-plugin-const-enum: 1.2.0(@babel/core@7.23.2) babel-plugin-macros: 2.8.0 - babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.22.10) + babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.23.2) chalk: 4.1.2 + columnify: 1.6.0 detect-port: 1.5.1 fast-glob: 3.2.7 fs-extra: 11.1.1 ignore: 5.2.4 js-tokens: 4.0.0 minimatch: 3.0.5 + npm-package-arg: 11.0.1 + npm-run-path: 4.0.1 + ora: 5.3.0 semver: 7.5.3 source-map-support: 0.5.19 - ts-node: 10.9.1(@swc/core@1.3.78)(@types/node@18.14.2)(typescript@5.1.6) + ts-node: 10.9.1(@swc/core@1.3.93)(@types/node@18.14.2)(typescript@5.1.6) tsconfig-paths: 4.2.0 tslib: 2.6.2 transitivePeerDependencies: @@ -3196,21 +3241,22 @@ packages: - supports-color - typescript - /@nx/linter@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-U0GOjvAm0BnA1AhqVshDrpA0lRDSggPYz4o3I9cCUd6ET41dwXrubZstWZ9tbPMXFlht1+Yk4CfM+XQEWW8JWQ==} + /@nx/linter@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0): + resolution: {integrity: sha512-G6XBfuMHNHoJDc4n2Gip4fsa9KssT91V5PF2Rd4hILkg4YU8B8mlmHN71stpzwbEyUJtyhyJc5SGgVLrSpRQew==} peerDependencies: eslint: ^8.0.0 peerDependenciesMeta: eslint: optional: true dependencies: - '@nrwl/linter': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + '@nrwl/linter': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.1.6) - eslint: 8.15.0 + eslint: 8.46.0 tmp: 0.2.1 tslib: 2.6.2 + typescript: 5.1.6 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -3220,18 +3266,17 @@ packages: - debug - nx - supports-color - - typescript - verdaccio - /@nx/nest@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6): - resolution: {integrity: sha512-deEJluORpsLpKjTaIq6/SPWvsd/3DCox5i0ltjvWuy7G2VKoynUXFSBODa/9eFcjQ3wy2cpwBpPpXqusKoaIDQ==} + /@nx/nest@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6): + resolution: {integrity: sha512-nrUDtzSmRU1qV8jboBdi+HzQ/bfwqfz7EhKtsP1fXKkQH8uicKsdzP6ToC+9qG6C+hd8v3Vhu1lDoJr5dyrHqQ==} dependencies: '@nestjs/schematics': 9.2.0(typescript@5.1.6) - '@nrwl/nest': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - '@nx/linter': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) - '@nx/node': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) + '@nrwl/nest': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + '@nx/linter': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0) + '@nx/node': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.1.6) enquirer: 2.3.6 semver: 7.5.3 @@ -3254,30 +3299,29 @@ packages: - verdaccio dev: true - /@nx/next@16.6.0(@babel/core@7.22.10)(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(next@13.4.1)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2): - resolution: {integrity: sha512-fqtJGkcDdv+Mm9mvl0E88DlpbSlZeMBidfhwd2icivlOup2a7iUxQBc8zUhzqppluGoejjvy+08ake7cXWwl6g==} + /@nx/next@16.10.0(@babel/core@7.23.2)(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(next@13.4.1)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0): + resolution: {integrity: sha512-SXyNJjZvpklhJmp99erlvISn26ZgMP7r3JbKqilxcFVxT3YJrlS/89L4/WRmh9GK0yjzt1kWvKWFqfxY4augxA==} peerDependencies: next: '>=13.0.0' dependencies: - '@babel/plugin-proposal-decorators': 7.22.10(@babel/core@7.22.10) - '@nrwl/next': 16.6.0(@babel/core@7.22.10)(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(next@13.4.1)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - '@nx/linter': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) - '@nx/react': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2) - '@nx/web': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - '@nx/workspace': 16.6.0(@swc/core@1.3.78) - '@svgr/webpack': 8.1.0 + '@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.23.2) + '@nrwl/next': 16.10.0(@babel/core@7.23.2)(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(next@13.4.1)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + '@nx/linter': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0) + '@nx/react': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0) + '@nx/web': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + '@nx/workspace': 16.10.0(@swc/core@1.3.93) + '@svgr/webpack': 8.1.0(typescript@5.1.6) chalk: 4.1.2 - copy-webpack-plugin: 10.2.4(webpack@5.88.2) - dotenv: 10.0.0 + copy-webpack-plugin: 10.2.4(webpack@5.89.0) fs-extra: 11.1.1 ignore: 5.2.4 - next: 13.4.1(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.1(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0) semver: 7.5.3 tslib: 2.6.2 - url-loader: 4.1.1(webpack@5.88.2) - webpack-merge: 5.9.0 + url-loader: 4.1.1(webpack@5.89.0) + webpack-merge: 5.10.0 transitivePeerDependencies: - '@babel/core' - '@babel/traverse' @@ -3295,15 +3339,15 @@ packages: - webpack dev: false - /@nx/node@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6): - resolution: {integrity: sha512-/3uVr4Hgr8cKPxs6wINmcqbV9pmhdfL0FCWf7mMNGn0RoeOFUvcIzu22OZdsimZwLZeXjGB+WL8cZO0etDolJg==} + /@nx/node@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6): + resolution: {integrity: sha512-mOGxsZzLNg9kMy/FDkCQfhb/ig3WsttHxzG9+ynCHBV5svKOIqA3F+EUp1gre6wgRyi/qrEUhk6GER5ZTX2ygw==} dependencies: - '@nrwl/node': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/jest': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(ts-node@10.9.1)(typescript@5.1.6) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - '@nx/linter': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) - '@nx/workspace': 16.6.0(@swc/core@1.3.78) + '@nrwl/node': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/jest': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(ts-node@10.9.1)(typescript@5.1.6) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + '@nx/linter': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0) + '@nx/workspace': 16.10.0(@swc/core@1.3.93) tslib: 2.6.2 transitivePeerDependencies: - '@babel/traverse' @@ -3322,98 +3366,98 @@ packages: - verdaccio dev: true - /@nx/nx-darwin-arm64@16.6.0: - resolution: {integrity: sha512-8nJuqcWG/Ob39rebgPLpv2h/V46b9Rqqm/AGH+bYV9fNJpxgMXclyincbMIWvfYN2tW+Vb9DusiTxV6RPrLapA==} + /@nx/nx-darwin-arm64@16.10.0: + resolution: {integrity: sha512-YF+MIpeuwFkyvM5OwgY/rTNRpgVAI/YiR0yTYCZR+X3AAvP775IVlusNgQ3oedTBRUzyRnI4Tknj1WniENFsvQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@nx/nx-darwin-x64@16.6.0: - resolution: {integrity: sha512-T4DV0/2PkPZjzjmsmQEyjPDNBEKc4Rhf7mbIZlsHXj27BPoeNjEcbjtXKuOZHZDIpGFYECGT/sAF6C2NVYgmxw==} + /@nx/nx-darwin-x64@16.10.0: + resolution: {integrity: sha512-ypi6YxwXgb0kg2ixKXE3pwf5myVNUgWf1CsV5OzVccCM8NzheMO51KDXTDmEpXdzUsfT0AkO1sk5GZeCjhVONg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@nx/nx-freebsd-x64@16.6.0: - resolution: {integrity: sha512-Ck/yejYgp65dH9pbExKN/X0m22+xS3rWF1DBr2LkP6j1zJaweRc3dT83BWgt5mCjmcmZVk3J8N01AxULAzUAqA==} + /@nx/nx-freebsd-x64@16.10.0: + resolution: {integrity: sha512-UeEYFDmdbbDkTQamqvtU8ibgu5jQLgFF1ruNb/U4Ywvwutw2d4ruOMl2e0u9hiNja9NFFAnDbvzrDcMo7jYqYw==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /@nx/nx-linux-arm-gnueabihf@16.6.0: - resolution: {integrity: sha512-eyk/R1mBQ3X0PCSS+Cck3onvr3wmZVmM/+x0x9Ai02Vm6q9Eq6oZ1YtZGQsklNIyw1vk2WV9rJCStfu9mLecEw==} + /@nx/nx-linux-arm-gnueabihf@16.10.0: + resolution: {integrity: sha512-WV3XUC2DB6/+bz1sx+d1Ai9q2Cdr+kTZRN50SOkfmZUQyEBaF6DRYpx/a4ahhxH3ktpNfyY8Maa9OEYxGCBkQA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@nx/nx-linux-arm64-gnu@16.6.0: - resolution: {integrity: sha512-S0qFFdQFDmBIEZqBAJl4K47V3YuMvDvthbYE0enXrXApWgDApmhtxINXSOjSus7DNq9kMrgtSDGkBmoBot61iw==} + /@nx/nx-linux-arm64-gnu@16.10.0: + resolution: {integrity: sha512-aWIkOUw995V3ItfpAi5FuxQ+1e9EWLS1cjWM1jmeuo+5WtaKToJn5itgQOkvSlPz+HSLgM3VfXMvOFALNk125g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@nx/nx-linux-arm64-musl@16.6.0: - resolution: {integrity: sha512-TXWY5VYtg2wX/LWxyrUkDVpqCyJHF7fWoVMUSlFe+XQnk9wp/yIbq2s0k3h8I4biYb6AgtcVqbR4ID86lSNuMA==} + /@nx/nx-linux-arm64-musl@16.10.0: + resolution: {integrity: sha512-uO6Gg+irqpVcCKMcEPIQcTFZ+tDI02AZkqkP7koQAjniLEappd8DnUBSQdcn53T086pHpdc264X/ZEpXFfrKWQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@nx/nx-linux-x64-gnu@16.6.0: - resolution: {integrity: sha512-qQIpSVN8Ij4oOJ5v+U+YztWJ3YQkeCIevr4RdCE9rDilfq9RmBD94L4VDm7NRzYBuQL8uQxqWzGqb7ZW4mfHpw==} + /@nx/nx-linux-x64-gnu@16.10.0: + resolution: {integrity: sha512-134PW/u/arNFAQKpqMJniC7irbChMPz+W+qtyKPAUXE0XFKPa7c1GtlI/wK2dvP9qJDZ6bKf0KtA0U/m2HMUOA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@nx/nx-linux-x64-musl@16.6.0: - resolution: {integrity: sha512-EYOHe11lfVfEfZqSAIa1c39mx2Obr4mqd36dBZx+0UKhjrcmWiOdsIVYMQSb3n0TqB33BprjI4p9ZcFSDuoNbA==} + /@nx/nx-linux-x64-musl@16.10.0: + resolution: {integrity: sha512-q8sINYLdIJxK/iUx9vRk5jWAWb/2O0PAbOJFwv4qkxBv4rLoN7y+otgCZ5v0xfx/zztFgk/oNY4lg5xYjIso2Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@nx/nx-win32-arm64-msvc@16.6.0: - resolution: {integrity: sha512-f1BmuirOrsAGh5+h/utkAWNuqgohvBoekQgMxYcyJxSkFN+pxNG1U68P59Cidn0h9mkyonxGVCBvWwJa3svVFA==} + /@nx/nx-win32-arm64-msvc@16.10.0: + resolution: {integrity: sha512-moJkL9kcqxUdJSRpG7dET3UeLIciwrfP08mzBQ12ewo8K8FzxU8ZUsTIVVdNrwt01CXOdXoweGfdQLjJ4qTURA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@nx/nx-win32-x64-msvc@16.6.0: - resolution: {integrity: sha512-UmTTjFLpv4poVZE3RdUHianU8/O9zZYBiAnTRq5spwSDwxJHnLTZBUxFFf3ztCxeHOUIfSyW9utpGfCMCptzvQ==} + /@nx/nx-win32-x64-msvc@16.10.0: + resolution: {integrity: sha512-5iV2NKZnzxJwZZ4DM5JVbRG/nkhAbzEskKaLBB82PmYGKzaDHuMHP1lcPoD/rtYMlowZgNA/RQndfKvPBPwmXA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@nx/react@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2): - resolution: {integrity: sha512-snhK7IzeQPXihokLU227A6tgjyJcZaZyjlcS9SLXTSa6XHaPADCh7JboyWdh2l9hGV6br3QTKB1zJB0PTWBW9w==} + /@nx/react@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0): + resolution: {integrity: sha512-WjiXImZWqXDXguHHONO/ANWl3BzqLt6pEvN+uhrRbJGBUWKJz95z8PQfZXeiK6UVY8RFHZXkHtklV3TvTvQ64w==} dependencies: - '@nrwl/react': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6)(webpack@5.88.2) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - '@nx/linter': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(eslint@8.15.0)(nx@16.6.0)(typescript@5.1.6) - '@nx/web': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + '@nrwl/react': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0)(typescript@5.1.6)(webpack@5.89.0) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + '@nx/linter': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(eslint@8.46.0)(nx@16.10.0) + '@nx/web': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.1.6) - '@svgr/webpack': 8.1.0 + '@svgr/webpack': 8.1.0(typescript@5.1.6) chalk: 4.1.2 - file-loader: 6.2.0(webpack@5.88.2) + file-loader: 6.2.0(webpack@5.89.0) minimatch: 3.0.5 tslib: 2.6.2 transitivePeerDependencies: @@ -3430,22 +3474,21 @@ packages: - verdaccio - webpack - /@nx/vite@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4): - resolution: {integrity: sha512-XnBWMl3zdM9Nw7BTkVlukXmO7Ba/U4ZqXZtrqSecNIgIeSiWCkaVehWdroxn8jGezeFHUvzls4eNaOoqvrrUkQ==} + /@nx/vite@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4): + resolution: {integrity: sha512-xJ/ME2x/ebMy3qdwrA0IUZAamsCje9wH+Ms5z3PSKzf4Xc4VEEsXHVKr4UZADC4Y9YbG0QnzCQdo+VdKCIGlIQ==} peerDependencies: vite: ^4.3.4 vitest: '>=0.31.0 <1.0.0' dependencies: - '@nrwl/vite': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + '@nrwl/vite': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6)(vite@4.3.9)(vitest@0.32.4) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.1.6) - '@swc/helpers': 0.5.1 - dotenv: 10.0.0 + '@swc/helpers': 0.5.3 enquirer: 2.3.6 tsconfig-paths: 4.2.0 vite: 4.3.9(@types/node@18.14.2)(less@4.1.3)(stylus@0.59.0) - vitest: 0.32.4(@vitest/ui@0.32.4)(less@4.1.3)(stylus@0.59.0) + vitest: 0.32.4(@vitest/ui@0.32.4)(jsdom@22.1.0)(less@4.1.3)(stylus@0.59.0) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -3459,17 +3502,15 @@ packages: - verdaccio dev: true - /@nx/web@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-ogrSJwPjs+16LA0C+WHuXs4XjfIymzZBP/bGL/QfsOvrYeaQiQVHXCyRoFhwKcczJ+yFG9/9k+XMP6r5BzKaOA==} + /@nx/web@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6): + resolution: {integrity: sha512-UMGL7BOPyy6flJLePSG8JhEbfI9W4Y6oVqOziLbQODduU3HGr6woJCI38txnOX4nddbyEnL9tRuKkQ8u0YAYnw==} dependencies: - '@nrwl/web': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) + '@nrwl/web': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) chalk: 4.1.2 - chokidar: 3.5.3 detect-port: 1.5.1 http-server: 14.1.1 - ignore: 5.2.4 tslib: 2.6.2 transitivePeerDependencies: - '@babel/traverse' @@ -3483,48 +3524,45 @@ packages: - typescript - verdaccio - /@nx/webpack@16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-gingwolFJ2q2f6WvgE+OlIYlVulewSOReiw0hhvvr6U9vxT0F3ctOqKrD3SVdawOf6yiXFHngBrTjvAb7O55+Q==} + /@nx/webpack@16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6): + resolution: {integrity: sha512-rKftYWh4kW6A7svMx73Zg3fJFDS3618cKTZsCkuQWeSE+RMQXjcefeCxYhwvHXc/ehoakCIIBx7jDCR+6NIlzQ==} dependencies: - '@babel/core': 7.22.10 - '@nrwl/webpack': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - '@nx/devkit': 16.6.0(nx@16.6.0) - '@nx/js': 16.6.0(@swc/core@1.3.78)(@types/node@18.14.2)(nx@16.6.0)(typescript@5.1.6) - autoprefixer: 10.4.15(postcss@8.4.28) - babel-loader: 9.1.3(@babel/core@7.22.10)(webpack@5.88.2) - browserslist: 4.21.10 + '@babel/core': 7.23.2 + '@nrwl/webpack': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + '@nx/devkit': 16.10.0(nx@16.10.0) + '@nx/js': 16.10.0(@swc/core@1.3.93)(@types/node@18.14.2)(nx@16.10.0)(typescript@5.1.6) + autoprefixer: 10.4.16(postcss@8.4.31) + babel-loader: 9.1.3(@babel/core@7.23.2)(webpack@5.89.0) + browserslist: 4.22.1 chalk: 4.1.2 - chokidar: 3.5.3 - copy-webpack-plugin: 10.2.4(webpack@5.88.2) - css-loader: 6.8.1(webpack@5.88.2) - css-minimizer-webpack-plugin: 5.0.1(webpack@5.88.2) - dotenv: 10.0.0 - fork-ts-checker-webpack-plugin: 7.2.13(typescript@5.1.6)(webpack@5.88.2) - ignore: 5.2.4 + copy-webpack-plugin: 10.2.4(webpack@5.89.0) + css-loader: 6.8.1(webpack@5.89.0) + css-minimizer-webpack-plugin: 5.0.1(webpack@5.89.0) + fork-ts-checker-webpack-plugin: 7.2.13(typescript@5.1.6)(webpack@5.89.0) less: 4.1.3 - less-loader: 11.1.0(less@4.1.3)(webpack@5.88.2) - license-webpack-plugin: 4.0.2(webpack@5.88.2) + less-loader: 11.1.0(less@4.1.3)(webpack@5.89.0) + license-webpack-plugin: 4.0.2(webpack@5.89.0) loader-utils: 2.0.4 - mini-css-extract-plugin: 2.4.7(webpack@5.88.2) + mini-css-extract-plugin: 2.4.7(webpack@5.89.0) parse5: 4.0.0 - postcss: 8.4.28 - postcss-import: 14.1.0(postcss@8.4.28) - postcss-loader: 6.2.1(postcss@8.4.28)(webpack@5.88.2) + postcss: 8.4.31 + postcss-import: 14.1.0(postcss@8.4.31) + postcss-loader: 6.2.1(postcss@8.4.31)(webpack@5.89.0) rxjs: 7.8.1 - sass: 1.66.1 - sass-loader: 12.6.0(sass@1.66.1)(webpack@5.88.2) - source-map-loader: 3.0.2(webpack@5.88.2) - style-loader: 3.3.3(webpack@5.88.2) + sass: 1.69.4 + sass-loader: 12.6.0(sass@1.69.4)(webpack@5.89.0) + source-map-loader: 3.0.2(webpack@5.89.0) + style-loader: 3.3.3(webpack@5.89.0) stylus: 0.59.0 - stylus-loader: 7.1.3(stylus@0.59.0)(webpack@5.88.2) - terser-webpack-plugin: 5.3.9(@swc/core@1.3.78)(webpack@5.88.2) - ts-loader: 9.4.4(typescript@5.1.6)(webpack@5.88.2) + stylus-loader: 7.1.3(stylus@0.59.0)(webpack@5.89.0) + terser-webpack-plugin: 5.3.9(@swc/core@1.3.93)(webpack@5.89.0) + ts-loader: 9.5.0(typescript@5.1.6)(webpack@5.89.0) tsconfig-paths-webpack-plugin: 4.0.0 tslib: 2.6.2 - webpack: 5.88.2(@swc/core@1.3.78) - webpack-dev-server: 4.15.1(webpack@5.88.2) + webpack: 5.89.0(@swc/core@1.3.93) + webpack-dev-server: 4.15.1(webpack@5.89.0) webpack-node-externals: 3.0.0 - webpack-subresource-integrity: 5.1.0(webpack@5.88.2) + webpack-subresource-integrity: 5.1.0(webpack@5.89.0) transitivePeerDependencies: - '@babel/traverse' - '@parcel/css' @@ -3553,14 +3591,15 @@ packages: - webpack-cli dev: true - /@nx/workspace@16.6.0(@swc/core@1.3.78): - resolution: {integrity: sha512-rh+qTQ/Ahszezx+aLjZfpej314w2mrwz2eJAn6LQmlsSnOLHsVIoVRDAGyqT2OF+29K2r5BQ0jRiB3zyYrb5MQ==} + /@nx/workspace@16.10.0(@swc/core@1.3.93): + resolution: {integrity: sha512-95Eq36bzq2hb095Zvg+Ru8o9oIeOE62tNGGpohBkZPKoK2CUTYEq0AZtdj1suXS82ukCFCyyZ/c/fwxL62HRZA==} dependencies: - '@nrwl/workspace': 16.6.0(@swc/core@1.3.78) - '@nx/devkit': 16.6.0(nx@16.6.0) + '@nrwl/workspace': 16.10.0(@swc/core@1.3.93) + '@nx/devkit': 16.10.0(nx@16.10.0) chalk: 4.1.2 + enquirer: 2.3.6 ignore: 5.2.4 - nx: 16.6.0(@swc/core@1.3.78) + nx: 16.10.0(@swc/core@1.3.93) rxjs: 7.8.1 tslib: 2.6.2 yargs-parser: 21.1.1 @@ -3609,8 +3648,8 @@ packages: - encoding dev: true - /@octokit/openapi-types@18.0.0: - resolution: {integrity: sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==} + /@octokit/openapi-types@18.1.1: + resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==} dev: true /@octokit/plugin-enterprise-rest@6.0.1: @@ -3663,7 +3702,7 @@ packages: '@octokit/request-error': 3.0.3 '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - node-fetch: 2.6.13 + node-fetch: 2.6.7 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding @@ -3688,13 +3727,13 @@ packages: /@octokit/types@10.0.0: resolution: {integrity: sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==} dependencies: - '@octokit/openapi-types': 18.0.0 + '@octokit/openapi-types': 18.1.1 dev: true /@octokit/types@9.3.2: resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==} dependencies: - '@octokit/openapi-types': 18.0.0 + '@octokit/openapi-types': 18.1.1 dev: true /@parcel/watcher@2.0.4: @@ -3703,7 +3742,7 @@ packages: requiresBuild: true dependencies: node-addon-api: 3.2.1 - node-gyp-build: 4.6.0 + node-gyp-build: 4.6.1 /@phenomnomnominal/tsquery@5.0.1(typescript@5.1.6): resolution: {integrity: sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==} @@ -3720,30 +3759,52 @@ packages: dev: true optional: true - /@polka/url@1.0.0-next.21: - resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + /@polka/url@1.0.0-next.23: + resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} dev: true - /@rollup/pluginutils@5.0.3: - resolution: {integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==} + /@prisma/client@5.4.2(prisma@5.4.2): + resolution: {integrity: sha512-2xsPaz4EaMKj1WS9iW6MlPhmbqtBsXAOeVttSePp8vTFTtvzh2hZbDgswwBdSCgPzmmwF+tLB259QzggvCmJqA==} + engines: {node: '>=16.13'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + '@prisma/engines-version': 5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574 + prisma: 5.4.2 + dev: false + + /@prisma/engines-version@5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574: + resolution: {integrity: sha512-wvupDL4AA1vf4TQNANg7kR7y98ITqPsk6aacfBxZKtrJKRIsWjURHkZCGcQliHdqCiW/hGreO6d6ZuSv9MhdAA==} + dev: false + + /@prisma/engines@5.4.2: + resolution: {integrity: sha512-fqeucJ3LH0e1eyFdT0zRx+oETLancu5+n4lhiYECyEz6H2RDskPJHJYHkVc0LhkU4Uv7fuEnppKU3nVKNzMh8g==} + requiresBuild: true + + /@rollup/pluginutils@5.0.5: + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.3 estree-walker: 2.0.2 picomatch: 2.3.1 dev: true - /@rushstack/eslint-patch@1.3.3: - resolution: {integrity: sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==} + /@rushstack/eslint-patch@1.5.1: + resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==} dev: true - /@rushstack/node-core-library@3.59.7(@types/node@18.14.2): - resolution: {integrity: sha512-ln1Drq0h+Hwa1JVA65x5mlSgUrBa1uHL+V89FqVWQgXd1vVIMhrtqtWGQrhTnFHxru5ppX+FY39VWELF/FjQCw==} + /@rushstack/node-core-library@3.61.0(@types/node@18.14.2): + resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -3755,20 +3816,20 @@ packages: fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.4 + resolve: 1.22.8 semver: 7.5.4 z-schema: 5.0.5 dev: true - /@rushstack/rig-package@0.4.1: - resolution: {integrity: sha512-AGRwpqlXNSp9LhUSz4HKI9xCluqQDt/obsQFdv/NYIekF3pTTPzc+HbQsIsjVjYnJ3DcmxOREVMhvrMEjpiq6g==} + /@rushstack/rig-package@0.5.1: + resolution: {integrity: sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA==} dependencies: - resolve: 1.22.4 + resolve: 1.22.8 strip-json-comments: 3.1.1 dev: true - /@rushstack/ts-command-line@4.15.2: - resolution: {integrity: sha512-5+C2uoJY8b+odcZD6coEe2XNC4ZjGB4vCMESbqW/8DHRWC/qIHfANdmN9F1wz/lAgxz72i7xRoVtPY2j7e4gpQ==} + /@rushstack/ts-command-line@4.16.1: + resolution: {integrity: sha512-+OCsD553GYVLEmz12yiFjMOzuPeCiZ3f8wTiFHL30ZVXexTyPmgjwXEhg2K2P0a2lVf+8YBy7WtPoflB2Fp8/A==} dependencies: '@types/argparse': 1.0.38 argparse: 1.0.10 @@ -3811,7 +3872,6 @@ packages: /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true /@sindresorhus/is@4.6.0: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} @@ -3830,103 +3890,104 @@ packages: '@sinonjs/commons': 3.0.0 dev: true - /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.22.10): + /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.23.2): resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.22.10): + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.2): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.22.10): + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.2): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 - /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.22.10): + /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.23.2): resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 - /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.22.10): + /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.23.2): resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 - /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.22.10): + /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.23.2): resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 - /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.22.10): + /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.23.2): resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 - /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.22.10): + /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.23.2): resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 - /@svgr/babel-preset@8.1.0(@babel/core@7.22.10): + /@svgr/babel-preset@8.1.0(@babel/core@7.23.2): resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.22.10) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.22.10) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.22.10) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.22.10) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.22.10) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.22.10) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.22.10) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.22.10) - - /@svgr/core@8.1.0: + '@babel/core': 7.23.2 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.23.2) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.2) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.2) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.23.2) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.23.2) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.23.2) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.23.2) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.23.2) + + /@svgr/core@8.1.0(typescript@5.1.6): resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} engines: {node: '>=14'} dependencies: - '@babel/core': 7.22.10 - '@svgr/babel-preset': 8.1.0(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@svgr/babel-preset': 8.1.0(@babel/core@7.23.2) camelcase: 6.3.0 - cosmiconfig: 8.2.0 + cosmiconfig: 8.3.6(typescript@5.1.6) snake-case: 3.0.4 transitivePeerDependencies: - supports-color + - typescript /@svgr/hast-util-to-babel-ast@8.0.0: resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} engines: {node: '>=14'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 entities: 4.5.0 /@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0): @@ -3935,41 +3996,44 @@ packages: peerDependencies: '@svgr/core': '*' dependencies: - '@babel/core': 7.22.10 - '@svgr/babel-preset': 8.1.0(@babel/core@7.22.10) - '@svgr/core': 8.1.0 + '@babel/core': 7.23.2 + '@svgr/babel-preset': 8.1.0(@babel/core@7.23.2) + '@svgr/core': 8.1.0(typescript@5.1.6) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: - supports-color - /@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0): + /@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0)(typescript@5.1.6): resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} engines: {node: '>=14'} peerDependencies: '@svgr/core': '*' dependencies: - '@svgr/core': 8.1.0 - cosmiconfig: 8.2.0 + '@svgr/core': 8.1.0(typescript@5.1.6) + cosmiconfig: 8.3.6(typescript@5.1.6) deepmerge: 4.3.1 svgo: 3.0.2 + transitivePeerDependencies: + - typescript - /@svgr/webpack@8.1.0: + /@svgr/webpack@8.1.0(typescript@5.1.6): resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} engines: {node: '>=14'} dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.22.10) - '@babel/preset-env': 7.22.10(@babel/core@7.22.10) - '@babel/preset-react': 7.22.5(@babel/core@7.22.10) - '@babel/preset-typescript': 7.22.5(@babel/core@7.22.10) - '@svgr/core': 8.1.0 + '@babel/core': 7.23.2 + '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.23.2) + '@babel/preset-env': 7.23.2(@babel/core@7.23.2) + '@babel/preset-react': 7.22.15(@babel/core@7.23.2) + '@babel/preset-typescript': 7.23.2(@babel/core@7.23.2) + '@svgr/core': 8.1.0(typescript@5.1.6) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0)(typescript@5.1.6) transitivePeerDependencies: - supports-color + - typescript - /@swc/cli@0.1.62(@swc/core@1.3.78): + /@swc/cli@0.1.62(@swc/core@1.3.93): resolution: {integrity: sha512-kOFLjKY3XH1DWLfXL1/B5MizeNorHR8wHKEi92S/Zi9Md/AK17KSqR8MgyRJ6C1fhKHvbBCl8wboyKAFXStkYw==} engines: {node: '>= 12.13'} hasBin: true @@ -3981,7 +4045,7 @@ packages: optional: true dependencies: '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.3.78(@swc/helpers@0.5.1) + '@swc/core': 1.3.93(@swc/helpers@0.5.3) commander: 7.2.0 fast-glob: 3.3.1 semver: 7.5.4 @@ -3989,88 +4053,88 @@ packages: source-map: 0.7.4 dev: true - /@swc/core-darwin-arm64@1.3.78: - resolution: {integrity: sha512-596KRua/d5Gx1buHKKchSyHuwoIL4S1BRD/wCvYNLNZ3xOzcuBBmXOjrDVigKi1ztNDeS07p30RO5UyYur0XAA==} + /@swc/core-darwin-arm64@1.3.93: + resolution: {integrity: sha512-gEKgk7FVIgltnIfDO6GntyuQBBlAYg5imHpRgLxB1zSI27ijVVkksc6QwISzFZAhKYaBWIsFSVeL9AYSziAF7A==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@swc/core-darwin-x64@1.3.78: - resolution: {integrity: sha512-w0RsD1onQAj0vuLAoOVi48HgnW6D6oBEIZP17l0HYejCDBZ+FRZLjml7wgNAWMqHcd2qNRqgtZ+v7aLza2JtBQ==} + /@swc/core-darwin-x64@1.3.93: + resolution: {integrity: sha512-ZQPxm/fXdDQtn3yrYSL/gFfA8OfZ5jTi33yFQq6vcg/Y8talpZ+MgdSlYM0FkLrZdMTYYTNFiuBQuuvkA+av+Q==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.78: - resolution: {integrity: sha512-v1CpRn+H6fha1WIqmdRvJM40pFdjUHrGfhf4Ygci72nlAU41l5XimN8Iwkm8FgIwf2wnv0lLzedSM4IHvpq/yA==} + /@swc/core-linux-arm-gnueabihf@1.3.93: + resolution: {integrity: sha512-OYFMMI2yV+aNe3wMgYhODxHdqUB/jrK0SEMHHS44GZpk8MuBXEF+Mcz4qjkY5Q1EH7KVQqXb/gVWwdgTHpjM2A==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-gnu@1.3.78: - resolution: {integrity: sha512-Sis17dz9joJRFVvR/gteOZSUNrrrioo81RQzani0Zr5ZZOfWLMTB9DA+0MVlfnVa2taYcsJHJZFoAv9JkLwbzg==} + /@swc/core-linux-arm64-gnu@1.3.93: + resolution: {integrity: sha512-BT4dT78odKnJMNiq5HdjBsv29CiIdcCcImAPxeFqAeFw1LL6gh9nzI8E96oWc+0lVT5lfhoesCk4Qm7J6bty8w==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-musl@1.3.78: - resolution: {integrity: sha512-E5F8/qp+QupnfBnsP4vN1PKyCmAHYHDG1GMyPE/zLFOUYLgw+jK4C9rfyLBR0o2bWo1ay2WCIjusBZD9XHGOSA==} + /@swc/core-linux-arm64-musl@1.3.93: + resolution: {integrity: sha512-yH5fWEl1bktouC0mhh0Chuxp7HEO4uCtS/ly1Vmf18gs6wZ8DOOkgAEVv2dNKIryy+Na++ljx4Ym7C8tSJTrLw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-gnu@1.3.78: - resolution: {integrity: sha512-iDxa+RknnTQlyy+WfPor1FM6y44ERNI2E0xiUV6gV6uPwegCngi8LFC+E7IvP6+p+yXtAkesunAaiZ8nn0s+rw==} + /@swc/core-linux-x64-gnu@1.3.93: + resolution: {integrity: sha512-OFUdx64qvrGJhXKEyxosHxgoUVgba2ztYh7BnMiU5hP8lbI8G13W40J0SN3CmFQwPP30+3oEbW7LWzhKEaYjlg==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-musl@1.3.78: - resolution: {integrity: sha512-dWtIYUFL5sMTE2UKshkXTusHcK8+zAhhGzvqWq1wJS45pqTlrAbzpyqB780fle880x3A6DMitWmsAFARdNzpuQ==} + /@swc/core-linux-x64-musl@1.3.93: + resolution: {integrity: sha512-4B8lSRwEq1XYm6xhxHhvHmKAS7pUp1Q7E33NQ2TlmFhfKvCOh86qvThcjAOo57x8DRwmpvEVrqvpXtYagMN6Ig==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-win32-arm64-msvc@1.3.78: - resolution: {integrity: sha512-CXFaGEc2M9Su3UoUMC8AnzKb9g+GwPxXfakLWZsjwS448h6jcreExq3nwtBNdVGzQ26xqeVLMFfb1l/oK99Hwg==} + /@swc/core-win32-arm64-msvc@1.3.93: + resolution: {integrity: sha512-BHShlxtkven8ZjjvZ5QR6sC5fZCJ9bMujEkiha6W4cBUTY7ce7qGFyHmQd+iPC85d9kD/0cCiX/Xez8u0BhO7w==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-ia32-msvc@1.3.78: - resolution: {integrity: sha512-FaH1jwWnJpWkdImpMoiZpMg9oy9UUyZwltzN7hFwjR48e3Li82cRFb+9PifIBHCUSBM+CrrsJXbHP213IMVAyw==} + /@swc/core-win32-ia32-msvc@1.3.93: + resolution: {integrity: sha512-nEwNWnz4JzYAK6asVvb92yeylfxMYih7eMQOnT7ZVlZN5ba9WF29xJ6kcQKs9HRH6MvWhz9+wRgv3FcjlU6HYA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-x64-msvc@1.3.78: - resolution: {integrity: sha512-oYxa+tPdhlx1aH14AIoF6kvVjo49tEOW0drNqoEaVHufvgH0y43QU2Jum3b2+xXztmMRtzK2CSN3GPOAXDKKKg==} + /@swc/core-win32-x64-msvc@1.3.93: + resolution: {integrity: sha512-jibQ0zUr4kwJaQVwgmH+svS04bYTPnPw/ZkNInzxS+wFAtzINBYcU8s2PMWbDb2NGYiRSEeoSGyAvS9H+24JFA==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@swc/core@1.3.78(@swc/helpers@0.5.1): - resolution: {integrity: sha512-y6DQP571v7fbUUY7nz5G4lNIRGofuO48K5pGhD9VnuOCTuptfooCdi8wnigIrIhM/M4zQ53m/YCMDCbOtDgEww==} + /@swc/core@1.3.93(@swc/helpers@0.5.3): + resolution: {integrity: sha512-690GRr1wUGmGYZHk7fUduX/JUwViMF2o74mnZYIWEcJaCcd9MQfkhsxPBtjeg6tF+h266/Cf3RPYhsFBzzxXcA==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -4079,23 +4143,37 @@ packages: '@swc/helpers': optional: true dependencies: - '@swc/helpers': 0.5.1 + '@swc/counter': 0.1.2 + '@swc/helpers': 0.5.3 + '@swc/types': 0.1.5 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.78 - '@swc/core-darwin-x64': 1.3.78 - '@swc/core-linux-arm-gnueabihf': 1.3.78 - '@swc/core-linux-arm64-gnu': 1.3.78 - '@swc/core-linux-arm64-musl': 1.3.78 - '@swc/core-linux-x64-gnu': 1.3.78 - '@swc/core-linux-x64-musl': 1.3.78 - '@swc/core-win32-arm64-msvc': 1.3.78 - '@swc/core-win32-ia32-msvc': 1.3.78 - '@swc/core-win32-x64-msvc': 1.3.78 + '@swc/core-darwin-arm64': 1.3.93 + '@swc/core-darwin-x64': 1.3.93 + '@swc/core-linux-arm-gnueabihf': 1.3.93 + '@swc/core-linux-arm64-gnu': 1.3.93 + '@swc/core-linux-arm64-musl': 1.3.93 + '@swc/core-linux-x64-gnu': 1.3.93 + '@swc/core-linux-x64-musl': 1.3.93 + '@swc/core-win32-arm64-msvc': 1.3.93 + '@swc/core-win32-ia32-msvc': 1.3.93 + '@swc/core-win32-x64-msvc': 1.3.93 + + /@swc/counter@0.1.2: + resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} /@swc/helpers@0.5.1: resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} dependencies: tslib: 2.6.2 + dev: false + + /@swc/helpers@0.5.3: + resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==} + dependencies: + tslib: 2.6.2 + + /@swc/types@0.1.5: + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} /@szmarczak/http-timer@4.0.6: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} @@ -4104,13 +4182,13 @@ packages: defer-to-connect: 2.0.1 dev: true - /@testing-library/dom@9.3.1: - resolution: {integrity: sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==} + /@testing-library/dom@9.3.3: + resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} engines: {node: '>=14'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/runtime': 7.22.10 - '@types/aria-query': 5.0.1 + '@babel/code-frame': 7.22.13 + '@babel/runtime': 7.23.2 + '@types/aria-query': 5.0.3 aria-query: 5.1.3 chalk: 4.1.2 dom-accessibility-api: 0.5.16 @@ -4125,8 +4203,8 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.22.10 - '@testing-library/dom': 9.3.1 + '@babel/runtime': 7.23.2 + '@testing-library/dom': 9.3.3 '@types/react-dom': 18.2.6 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -4183,48 +4261,52 @@ packages: resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} dev: true - /@types/aria-query@5.0.1: - resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} + /@types/aria-query@5.0.3: + resolution: {integrity: sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA==} dev: true - /@types/babel__core@7.20.1: - resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + /@types/babel__core@7.20.3: + resolution: {integrity: sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.20.1 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 + '@types/babel__generator': 7.6.6 + '@types/babel__template': 7.4.3 + '@types/babel__traverse': 7.20.3 dev: true - /@types/babel__generator@7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + /@types/babel__generator@7.6.6: + resolution: {integrity: sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: true - /@types/babel__template@7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + /@types/babel__template@7.4.3: + resolution: {integrity: sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 dev: true - /@types/babel__traverse@7.20.1: - resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} + /@types/babel__traverse@7.20.3: + resolution: {integrity: sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: true - /@types/body-parser@1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + /@types/bcryptjs@2.4.5: + resolution: {integrity: sha512-tOF6TivOIvq+TWQm78335CMdyVJhpBG3NUdWQDAp95ax4E2rSKbws/ELHLk5EBoucwx/tHt3/hhLOHwWJgVrSw==} + dev: true + + /@types/body-parser@1.19.4: + resolution: {integrity: sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==} dependencies: - '@types/connect': 3.4.35 + '@types/connect': 3.4.37 '@types/node': 18.14.2 dev: true - /@types/bonjour@3.5.10: - resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} + /@types/bonjour@3.5.12: + resolution: {integrity: sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==} dependencies: '@types/node': 18.14.2 dev: true @@ -4232,172 +4314,209 @@ packages: /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} dependencies: - '@types/http-cache-semantics': 4.0.1 + '@types/http-cache-semantics': 4.0.3 '@types/keyv': 3.1.4 '@types/node': 18.14.2 - '@types/responselike': 1.0.0 + '@types/responselike': 1.0.2 dev: true - /@types/chai-subset@1.3.3: - resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + /@types/chai-subset@1.3.4: + resolution: {integrity: sha512-CCWNXrJYSUIojZ1149ksLl3AN9cmZ5djf+yUoVVV+NuYrtydItQVlL2ZDqyC6M6O9LWRnVf8yYDxbXHO2TfQZg==} dependencies: - '@types/chai': 4.3.5 + '@types/chai': 4.3.9 dev: true - /@types/chai@4.3.5: - resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} + /@types/chai@4.3.9: + resolution: {integrity: sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==} dev: true - /@types/connect-history-api-fallback@1.5.0: - resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==} + /@types/connect-history-api-fallback@1.5.2: + resolution: {integrity: sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==} dependencies: - '@types/express-serve-static-core': 4.17.35 + '@types/express-serve-static-core': 4.17.38 '@types/node': 18.14.2 dev: true - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + /@types/connect@3.4.37: + resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: '@types/node': 18.14.2 dev: true - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + /@types/cookiejar@2.1.3: + resolution: {integrity: sha512-LZ8SD3LpNmLMDLkG2oCBjZg+ETnx6XdCjydUE0HwojDmnDfDUnhMKKbtth1TZh+hzcqb03azrYWoXLS8sMXdqg==} + dev: true + + /@types/eslint-scope@3.7.6: + resolution: {integrity: sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==} dependencies: - '@types/eslint': 8.44.2 - '@types/estree': 1.0.1 + '@types/eslint': 8.44.6 + '@types/estree': 1.0.3 - /@types/eslint@8.44.2: - resolution: {integrity: sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==} + /@types/eslint@8.44.6: + resolution: {integrity: sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==} dependencies: - '@types/estree': 1.0.1 - '@types/json-schema': 7.0.12 + '@types/estree': 1.0.3 + '@types/json-schema': 7.0.14 - /@types/estree@1.0.1: - resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + /@types/estree@1.0.3: + resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==} - /@types/express-serve-static-core@4.17.35: - resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} + /@types/express-serve-static-core@4.17.38: + resolution: {integrity: sha512-hXOtc0tuDHZPFwwhuBJXPbjemWtXnJjbvuuyNH2Y5Z6in+iXc63c4eXYDc7GGGqHy+iwYqAJMdaItqdnbcBKmg==} dependencies: '@types/node': 18.14.2 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 + '@types/qs': 6.9.9 + '@types/range-parser': 1.2.6 + '@types/send': 0.17.3 dev: true - /@types/express@4.17.17: - resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} + /@types/express@4.17.20: + resolution: {integrity: sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==} dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.35 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.2 + '@types/body-parser': 1.19.4 + '@types/express-serve-static-core': 4.17.38 + '@types/qs': 6.9.9 + '@types/serve-static': 1.15.4 dev: true - /@types/graceful-fs@4.1.6: - resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} + /@types/graceful-fs@4.1.8: + resolution: {integrity: sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==} dependencies: '@types/node': 18.14.2 dev: true - /@types/http-cache-semantics@4.0.1: - resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + /@types/http-cache-semantics@4.0.3: + resolution: {integrity: sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==} dev: true - /@types/http-errors@2.0.1: - resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} + /@types/http-errors@2.0.3: + resolution: {integrity: sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==} dev: true - /@types/http-proxy@1.17.11: - resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} + /@types/http-proxy@1.17.13: + resolution: {integrity: sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==} dependencies: '@types/node': 18.14.2 dev: true - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@types/istanbul-lib-coverage@2.0.5: + resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==} dev: true - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + /@types/istanbul-lib-report@3.0.2: + resolution: {integrity: sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.5 dev: true - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + /@types/istanbul-reports@3.0.3: + resolution: {integrity: sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==} dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.2 dev: true - /@types/jest@29.5.3: - resolution: {integrity: sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==} + /@types/jest@29.5.6: + resolution: {integrity: sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==} dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 + expect: 29.7.0 + pretty-format: 29.7.0 dev: true /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: '@types/node': 18.14.2 - '@types/tough-cookie': 4.0.2 + '@types/tough-cookie': 4.0.4 parse5: 7.1.2 dev: true - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/json-schema@7.0.14: + resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true + /@types/jsonwebtoken@9.0.2: + resolution: {integrity: sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q==} + dependencies: + '@types/node': 18.14.2 + dev: false + + /@types/jsonwebtoken@9.0.4: + resolution: {integrity: sha512-8UYapdmR0QlxgvJmyE8lP7guxD0UGVMfknsdtCFZh4ovShdBl3iOI4zdvqBHrB/IS+xUj3PSx73Qkey1fhWz+g==} + dependencies: + '@types/node': 18.14.2 + dev: true + /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: '@types/node': 18.14.2 dev: true - /@types/mime@1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + /@types/mime@1.3.4: + resolution: {integrity: sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==} dev: true - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + /@types/mime@3.0.3: + resolution: {integrity: sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ==} dev: true /@types/minimatch@3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} dev: true - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + /@types/minimist@1.2.4: + resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==} dev: true /@types/node@18.14.2: resolution: {integrity: sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA==} - /@types/node@20.4.7: - resolution: {integrity: sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==} + /@types/node@20.5.1: + resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} dev: true - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + /@types/normalize-package-data@2.4.3: + resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} + dev: true + + /@types/parse-json@4.0.1: + resolution: {integrity: sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==} + + /@types/passport-jwt@3.0.11: + resolution: {integrity: sha512-HwQNi4cajueebj41EjH5rtnLAdxQfusICFU18JEnvV3uYCJzKoT1D3MCwQ+nn8HeGjy6QuTxnm/I2WxuraqeDw==} + dependencies: + '@types/express': 4.17.20 + '@types/jsonwebtoken': 9.0.4 + '@types/passport-strategy': 0.2.37 + dev: true + + /@types/passport-strategy@0.2.37: + resolution: {integrity: sha512-ltgwLnwHVfpjK7/66lpv43hiz90nIVb36JmeB0iF3FAZoHX6+LbkY5Ey97Bm8Jr0uGhQyDFEsSOOfejp5PJehg==} + dependencies: + '@types/express': 4.17.20 + '@types/passport': 1.0.14 dev: true - /@types/parse-json@4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + /@types/passport@1.0.14: + resolution: {integrity: sha512-D6p2ygR2S7Cq5PO7iUaEIQu/5WrM0tONu6Lxgk0C9r3lafQIlVpWCo3V/KI9To3OqHBxcfQaOeK+8AvwW5RYmw==} + dependencies: + '@types/express': 4.17.20 + dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.9: + resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==} dev: true - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + /@types/qs@6.9.9: + resolution: {integrity: sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==} dev: true - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + /@types/range-parser@1.2.6: + resolution: {integrity: sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==} dev: true /@types/react-dom@18.2.6: @@ -4409,13 +4528,13 @@ packages: /@types/react@18.2.14: resolution: {integrity: sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.3 + '@types/prop-types': 15.7.9 + '@types/scheduler': 0.16.5 csstype: 3.1.2 dev: true - /@types/responselike@1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + /@types/responselike@1.0.2: + resolution: {integrity: sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA==} dependencies: '@types/node': 18.14.2 dev: true @@ -4424,69 +4543,82 @@ packages: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: true - /@types/scheduler@0.16.3: - resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + /@types/scheduler@0.16.5: + resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==} dev: true - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + /@types/semver@7.5.4: + resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} dev: true - /@types/send@0.17.1: - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} + /@types/send@0.17.3: + resolution: {integrity: sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==} dependencies: - '@types/mime': 1.3.2 + '@types/mime': 1.3.4 '@types/node': 18.14.2 dev: true - /@types/serve-index@1.9.1: - resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} + /@types/serve-index@1.9.3: + resolution: {integrity: sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==} dependencies: - '@types/express': 4.17.17 + '@types/express': 4.17.20 dev: true - /@types/serve-static@1.15.2: - resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} + /@types/serve-static@1.15.4: + resolution: {integrity: sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==} dependencies: - '@types/http-errors': 2.0.1 - '@types/mime': 3.0.1 + '@types/http-errors': 2.0.3 + '@types/mime': 3.0.3 '@types/node': 18.14.2 dev: true - /@types/sockjs@0.3.33: - resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} + /@types/sockjs@0.3.35: + resolution: {integrity: sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==} dependencies: '@types/node': 18.14.2 dev: true - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + /@types/stack-utils@2.0.2: + resolution: {integrity: sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==} + dev: true + + /@types/superagent@4.1.20: + resolution: {integrity: sha512-GfpwJgYSr3yO+nArFkmyqv3i0vZavyEG5xPd/o95RwpKYpsOKJYI5XLdxLpdRbZI3YiGKKdIOFIf/jlP7A0Jxg==} + dependencies: + '@types/cookiejar': 2.1.3 + '@types/node': 18.14.2 + dev: true + + /@types/supertest@2.0.15: + resolution: {integrity: sha512-jUCZZ/TMcpGzoSaed9Gjr8HCf3HehExdibyw3OHHEL1als1KmyzcOZZH4MjbObI8TkWsEr7bc7gsW0WTDni+qQ==} + dependencies: + '@types/superagent': 4.1.20 dev: true - /@types/tough-cookie@4.0.2: - resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} + /@types/tough-cookie@4.0.4: + resolution: {integrity: sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A==} dev: true - /@types/validator@13.11.1: - resolution: {integrity: sha512-d/MUkJYdOeKycmm75Arql4M5+UuXmf4cHdHKsyw1GcvnNgL6s77UkgSgJ8TE/rI5PYsnwYq5jkcWBLuN/MpQ1A==} + /@types/validator@13.11.5: + resolution: {integrity: sha512-xW4qsT4UIYILu+7ZrBnfQdBYniZrMLYYK3wN9M/NdeIHgBN5pZI2/8Q7UfdWIcr5RLJv/OGENsx91JIpUUoC7Q==} - /@types/ws@8.5.5: - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} + /@types/ws@8.5.8: + resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} dependencies: '@types/node': 18.14.2 dev: true - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + /@types/yargs-parser@21.0.2: + resolution: {integrity: sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==} dev: true - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + /@types/yargs@17.0.29: + resolution: {integrity: sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==} dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.2 dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.15.0)(typescript@5.1.6): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4497,13 +4629,13 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.15.0)(typescript@5.1.6) + '@eslint-community/regexpp': 4.9.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.15.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.62.0(eslint@8.15.0)(typescript@5.1.6) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.46.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.15.0 + eslint: 8.46.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 @@ -4514,7 +4646,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.15.0)(typescript@5.1.6): + /@typescript-eslint/parser@5.62.0(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4528,7 +4660,7 @@ packages: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) debug: 4.3.4 - eslint: 8.15.0 + eslint: 8.46.0 typescript: 5.1.6 transitivePeerDependencies: - supports-color @@ -4542,7 +4674,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.15.0)(typescript@5.1.6): + /@typescript-eslint/type-utils@5.62.0(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4553,9 +4685,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) - '@typescript-eslint/utils': 5.62.0(eslint@8.15.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.46.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.15.0 + eslint: 8.46.0 tsutils: 3.21.0(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: @@ -4588,19 +4720,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.15.0)(typescript@5.1.6): + /@typescript-eslint/utils@5.62.0(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.15.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + '@types/json-schema': 7.0.14 + '@types/semver': 7.5.4 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) - eslint: 8.15.0 + eslint: 8.46.0 eslint-scope: 5.1.1 semver: 7.5.3 transitivePeerDependencies: @@ -4616,12 +4748,48 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@vitejs/plugin-react@4.0.4(vite@4.3.9): + resolution: {integrity: sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 + dependencies: + '@babel/core': 7.23.2 + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.23.2) + react-refresh: 0.14.0 + vite: 4.3.9(@types/node@18.14.2)(less@4.1.3)(stylus@0.59.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/coverage-v8@0.34.6(vitest@0.32.4): + resolution: {integrity: sha512-fivy/OK2d/EsJFoEoxHFEnNGTg+MmdZBAVK9Ka4qhXR2K3J0DS08vcGVwzDtXSuUMabLv4KtPcpSKkcMXFDViw==} + peerDependencies: + vitest: '>=0.32.0 <1' + dependencies: + '@ampproject/remapping': 2.2.1 + '@bcoe/v8-coverage': 0.2.3 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.6 + magic-string: 0.30.5 + picocolors: 1.0.0 + std-env: 3.4.3 + test-exclude: 6.0.0 + v8-to-istanbul: 9.1.3 + vitest: 0.32.4(@vitest/ui@0.32.4)(jsdom@22.1.0)(less@4.1.3)(stylus@0.59.0) + transitivePeerDependencies: + - supports-color + dev: true + /@vitest/expect@0.32.4: resolution: {integrity: sha512-m7EPUqmGIwIeoU763N+ivkFjTzbaBn0n9evsTOcde03ugy2avPs3kZbYmw3DkcH1j5mxhMhdamJkLQ6dM1bk/A==} dependencies: '@vitest/spy': 0.32.4 '@vitest/utils': 0.32.4 - chai: 4.3.7 + chai: 4.3.10 dev: true /@vitest/runner@0.32.4: @@ -4635,15 +4803,15 @@ packages: /@vitest/snapshot@0.32.4: resolution: {integrity: sha512-IRpyqn9t14uqsFlVI2d7DFMImGMs1Q9218of40bdQQgMePwVdmix33yMNnebXcTzDU5eiV3eUsoxxH5v0x/IQA==} dependencies: - magic-string: 0.30.2 + magic-string: 0.30.5 pathe: 1.1.1 - pretty-format: 29.6.2 + pretty-format: 29.7.0 dev: true /@vitest/spy@0.32.4: resolution: {integrity: sha512-oA7rCOqVOOpE6rEoXuCOADX7Lla1LIa4hljI2MSccbpec54q+oifhziZIJXxlE/CvI2E+ElhBHzVu0VEvJGQKQ==} dependencies: - tinyspy: 2.1.1 + tinyspy: 2.2.0 dev: true /@vitest/ui@0.32.4(vitest@0.32.4): @@ -4653,20 +4821,20 @@ packages: dependencies: '@vitest/utils': 0.32.4 fast-glob: 3.3.1 - fflate: 0.8.0 - flatted: 3.2.7 + fflate: 0.8.1 + flatted: 3.2.9 pathe: 1.1.1 picocolors: 1.0.0 sirv: 2.0.3 - vitest: 0.32.4(@vitest/ui@0.32.4)(less@4.1.3)(stylus@0.59.0) + vitest: 0.32.4(@vitest/ui@0.32.4)(jsdom@22.1.0)(less@4.1.3)(stylus@0.59.0) dev: true /@vitest/utils@0.32.4: resolution: {integrity: sha512-Gwnl8dhd1uJ+HXrYyV0eRqfmk9ek1ASE/LWfTCuWMw+d07ogHqp4hEAV28NiecimK6UY9DpSEPh+pXBA5gtTBg==} dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 29.6.2 + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 dev: true /@webassemblyjs/ast@1.11.6: @@ -4949,7 +5117,6 @@ packages: /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} @@ -4962,6 +5129,7 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 + dev: true /append-field@1.0.0: resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} @@ -5028,13 +5196,13 @@ packages: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 is-string: 1.0.7 dev: true @@ -5052,43 +5220,44 @@ packages: resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} engines: {node: '>=12'} - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 dev: true - /array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 dev: true - /array.prototype.tosorted@1.1.1: - resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + /array.prototype.tosorted@1.1.2: + resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 get-intrinsic: 1.2.1 dev: true - /arraybuffer.prototype.slice@1.0.1: - resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -5104,6 +5273,10 @@ packages: engines: {node: '>=8'} dev: true + /asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + dev: true + /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true @@ -5123,19 +5296,19 @@ packages: /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - /autoprefixer@10.4.15(postcss@8.4.28): - resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==} + /autoprefixer@10.4.16(postcss@8.4.31): + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.10 - caniuse-lite: 1.0.30001522 - fraction.js: 4.2.1 + browserslist: 4.22.1 + caniuse-lite: 1.0.30001551 + fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true @@ -5144,25 +5317,25 @@ packages: engines: {node: '>= 0.4'} dev: true - /axe-core@4.7.2: - resolution: {integrity: sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==} + /axe-core@4.8.2: + resolution: {integrity: sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==} engines: {node: '>=4'} dev: true /axios@1.1.3: resolution: {integrity: sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.3 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: true - /axios@1.4.0: - resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} + /axios@1.5.1: + resolution: {integrity: sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.3 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -5174,17 +5347,17 @@ packages: dequal: 2.0.3 dev: true - /babel-jest@29.6.2(@babel/core@7.22.10): - resolution: {integrity: sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==} + /babel-jest@29.7.0(@babel/core@7.23.2): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.22.10 - '@jest/transform': 29.6.2 - '@types/babel__core': 7.20.1 + '@babel/core': 7.23.2 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.3 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.5.0(@babel/core@7.22.10) + babel-preset-jest: 29.6.3(@babel/core@7.23.2) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -5192,27 +5365,27 @@ packages: - supports-color dev: true - /babel-loader@9.1.3(@babel/core@7.22.10)(webpack@5.88.2): + /babel-loader@9.1.3(@babel/core@7.23.2)(webpack@5.89.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true - /babel-plugin-const-enum@1.2.0(@babel/core@7.22.10): + /babel-plugin-const-enum@1.2.0(@babel/core@7.23.2): resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2) '@babel/traverse': 7.23.2 transitivePeerDependencies: - supports-color @@ -5230,57 +5403,57 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist@29.5.0: - resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} + /babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 - '@types/babel__core': 7.20.1 - '@types/babel__traverse': 7.20.1 + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 + '@types/babel__core': 7.20.3 + '@types/babel__traverse': 7.20.3 dev: true /babel-plugin-macros@2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.2 cosmiconfig: 6.0.0 - resolve: 1.22.4 + resolve: 1.22.8 - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.10): - resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} + /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.2): + resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.10 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) + '@babel/compat-data': 7.23.2 + '@babel/core': 7.23.2 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) semver: 6.3.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.10): - resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} + /babel-plugin-polyfill-corejs3@0.8.5(@babel/core@7.23.2): + resolution: {integrity: sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) - core-js-compat: 3.32.1 + '@babel/core': 7.23.2 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) + core-js-compat: 3.33.0 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.10): - resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.2): + resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) transitivePeerDependencies: - supports-color - /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.22.10): + /babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.23.2): resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==} peerDependencies: '@babel/core': ^7 @@ -5289,38 +5462,38 @@ packages: '@babel/traverse': optional: true dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 '@babel/helper-plugin-utils': 7.22.5 - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.10): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.2): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10) - dev: true - - /babel-preset-jest@29.5.0(@babel/core@7.22.10): - resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} + '@babel/core': 7.23.2 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.2) + dev: true + + /babel-preset-jest@29.6.3(@babel/core@7.23.2): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - babel-plugin-jest-hoist: 29.5.0 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) + '@babel/core': 7.23.2 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.2) dev: true /balanced-match@1.0.2: @@ -5339,6 +5512,10 @@ packages: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} dev: true + /bcryptjs@2.4.3: + resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==} + dev: false + /before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true @@ -5374,6 +5551,7 @@ packages: /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} + dev: true /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -5449,15 +5627,15 @@ packages: dependencies: fill-range: 7.0.1 - /browserslist@4.21.10: - resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001522 - electron-to-chromium: 1.4.496 + caniuse-lite: 1.0.30001551 + electron-to-chromium: 1.4.559 node-releases: 2.0.13 - update-browserslist-db: 1.0.11(browserslist@4.21.10) + update-browserslist-db: 1.0.13(browserslist@4.22.1) /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -5472,6 +5650,10 @@ packages: node-int64: 0.4.0 dev: true + /buffer-equal-constant-time@1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + dev: false + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -5489,7 +5671,6 @@ packages: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.5.4 - dev: true /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} @@ -5522,9 +5703,9 @@ packages: dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 - glob: 10.3.3 + glob: 10.3.10 lru-cache: 7.18.3 - minipass: 7.0.3 + minipass: 7.0.4 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 @@ -5546,7 +5727,7 @@ packages: clone-response: 1.0.3 get-stream: 5.2.0 http-cache-semantics: 4.1.1 - keyv: 4.5.3 + keyv: 4.5.4 lowercase-keys: 2.0.0 normalize-url: 6.1.0 responselike: 2.0.1 @@ -5555,7 +5736,7 @@ packages: /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 get-intrinsic: 1.2.1 /callsites@3.1.0: @@ -5583,24 +5764,24 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.21.10 - caniuse-lite: 1.0.30001522 + browserslist: 4.22.1 + caniuse-lite: 1.0.30001551 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true - /caniuse-lite@1.0.30001522: - resolution: {integrity: sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==} + /caniuse-lite@1.0.30001551: + resolution: {integrity: sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==} - /chai@4.3.7: - resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} + /chai@4.3.10: + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 - check-error: 1.0.2 + check-error: 1.0.3 deep-eql: 4.1.3 get-func-name: 2.0.2 - loupe: 2.3.6 + loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 dev: true @@ -5619,7 +5800,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -5637,8 +5817,10 @@ packages: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true - /check-error@1.0.2: - resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 dev: true /chokidar@3.5.3: @@ -5653,7 +5835,8 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 + dev: true /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} @@ -5664,8 +5847,8 @@ packages: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} dev: true @@ -5679,8 +5862,8 @@ packages: /class-validator@0.14.0: resolution: {integrity: sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A==} dependencies: - '@types/validator': 13.11.1 - libphonenumber-js: 1.10.41 + '@types/validator': 13.11.5 + libphonenumber-js: 1.10.48 validator: 13.11.0 /clean-stack@2.2.0: @@ -5698,10 +5881,9 @@ packages: resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} engines: {node: '>=6'} - /cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + /cli-spinners@2.9.1: + resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} engines: {node: '>=6'} - dev: true /cli-width@3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} @@ -5718,6 +5900,7 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + dev: true /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} @@ -5744,7 +5927,6 @@ packages: /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - dev: true /cmd-shim@6.0.1: resolution: {integrity: sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q==} @@ -5805,7 +5987,6 @@ packages: dependencies: strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} @@ -5849,6 +6030,10 @@ packages: dot-prop: 5.3.0 dev: true + /component-emitter@1.3.0: + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + dev: true + /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -6002,12 +6187,8 @@ packages: meow: 8.1.2 dev: true - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -6016,13 +6197,17 @@ packages: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} + /cookiejar@2.1.4: + resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} + dev: true + /copy-anything@2.0.6: resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} dependencies: is-what: 3.14.1 dev: true - /copy-webpack-plugin@10.2.4(webpack@5.88.2): + /copy-webpack-plugin@10.2.4(webpack@5.89.0): resolution: {integrity: sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==} engines: {node: '>= 12.20.0'} peerDependencies: @@ -6034,12 +6219,12 @@ packages: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.1 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) - /core-js-compat@3.32.1: - resolution: {integrity: sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==} + /core-js-compat@3.33.0: + resolution: {integrity: sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==} dependencies: - browserslist: 4.21.10 + browserslist: 4.22.1 /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -6055,7 +6240,7 @@ packages: resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} engines: {node: '>= 0.4.0'} - /cosmiconfig-typescript-loader@4.4.0(@types/node@20.4.7)(cosmiconfig@8.2.0)(ts-node@10.9.1)(typescript@5.1.6): + /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.1.6): resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} engines: {node: '>=v14.21.3'} peerDependencies: @@ -6064,9 +6249,9 @@ packages: ts-node: '>=10' typescript: '>=4' dependencies: - '@types/node': 20.4.7 - cosmiconfig: 8.2.0 - ts-node: 10.9.1(@swc/core@1.3.78)(@types/node@20.4.7)(typescript@5.1.6) + '@types/node': 20.5.1 + cosmiconfig: 8.3.6(typescript@5.1.6) + ts-node: 10.9.1(@swc/core@1.3.93)(@types/node@20.5.1)(typescript@5.1.6) typescript: 5.1.6 dev: true @@ -6074,7 +6259,7 @@ packages: resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} engines: {node: '>=8'} dependencies: - '@types/parse-json': 4.0.0 + '@types/parse-json': 4.0.1 import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 @@ -6084,21 +6269,46 @@ packages: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: - '@types/parse-json': 4.0.0 + '@types/parse-json': 4.0.1 import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 yaml: 1.10.2 dev: true - /cosmiconfig@8.2.0: - resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} + /cosmiconfig@8.3.6(typescript@5.1.6): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 + typescript: 5.1.6 + + /create-jest@29.7.0(@types/node@18.14.2)(ts-node@10.9.1): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.14.2)(ts-node@10.9.1) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -6119,33 +6329,33 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /css-declaration-sorter@6.4.1(postcss@8.4.28): + /css-declaration-sorter@6.4.1(postcss@8.4.31): resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 dev: true - /css-loader@6.8.1(webpack@5.88.2): + /css-loader@6.8.1(webpack@5.89.0): resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.28) - postcss: 8.4.28 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.28) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.28) - postcss-modules-scope: 3.0.0(postcss@8.4.28) - postcss-modules-values: 4.0.0(postcss@8.4.28) + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.31) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.31) + postcss-modules-scope: 3.0.0(postcss@8.4.31) + postcss-modules-values: 4.0.0(postcss@8.4.31) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true - /css-minimizer-webpack-plugin@5.0.1(webpack@5.88.2): + /css-minimizer-webpack-plugin@5.0.1(webpack@5.89.0): resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -6170,13 +6380,13 @@ packages: lightningcss: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.19 - cssnano: 6.0.1(postcss@8.4.28) - jest-worker: 29.6.2 - postcss: 8.4.28 + '@jridgewell/trace-mapping': 0.3.20 + cssnano: 6.0.1(postcss@8.4.31) + jest-worker: 29.7.0 + postcss: 8.4.31 schema-utils: 4.2.0 serialize-javascript: 6.0.1 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true /css-select@5.1.0: @@ -6212,62 +6422,62 @@ packages: hasBin: true dev: true - /cssnano-preset-default@6.0.1(postcss@8.4.28): + /cssnano-preset-default@6.0.1(postcss@8.4.31): resolution: {integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.4.1(postcss@8.4.28) - cssnano-utils: 4.0.0(postcss@8.4.28) - postcss: 8.4.28 - postcss-calc: 9.0.1(postcss@8.4.28) - postcss-colormin: 6.0.0(postcss@8.4.28) - postcss-convert-values: 6.0.0(postcss@8.4.28) - postcss-discard-comments: 6.0.0(postcss@8.4.28) - postcss-discard-duplicates: 6.0.0(postcss@8.4.28) - postcss-discard-empty: 6.0.0(postcss@8.4.28) - postcss-discard-overridden: 6.0.0(postcss@8.4.28) - postcss-merge-longhand: 6.0.0(postcss@8.4.28) - postcss-merge-rules: 6.0.1(postcss@8.4.28) - postcss-minify-font-values: 6.0.0(postcss@8.4.28) - postcss-minify-gradients: 6.0.0(postcss@8.4.28) - postcss-minify-params: 6.0.0(postcss@8.4.28) - postcss-minify-selectors: 6.0.0(postcss@8.4.28) - postcss-normalize-charset: 6.0.0(postcss@8.4.28) - postcss-normalize-display-values: 6.0.0(postcss@8.4.28) - postcss-normalize-positions: 6.0.0(postcss@8.4.28) - postcss-normalize-repeat-style: 6.0.0(postcss@8.4.28) - postcss-normalize-string: 6.0.0(postcss@8.4.28) - postcss-normalize-timing-functions: 6.0.0(postcss@8.4.28) - postcss-normalize-unicode: 6.0.0(postcss@8.4.28) - postcss-normalize-url: 6.0.0(postcss@8.4.28) - postcss-normalize-whitespace: 6.0.0(postcss@8.4.28) - postcss-ordered-values: 6.0.0(postcss@8.4.28) - postcss-reduce-initial: 6.0.0(postcss@8.4.28) - postcss-reduce-transforms: 6.0.0(postcss@8.4.28) - postcss-svgo: 6.0.0(postcss@8.4.28) - postcss-unique-selectors: 6.0.0(postcss@8.4.28) - dev: true - - /cssnano-utils@4.0.0(postcss@8.4.28): + css-declaration-sorter: 6.4.1(postcss@8.4.31) + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-calc: 9.0.1(postcss@8.4.31) + postcss-colormin: 6.0.0(postcss@8.4.31) + postcss-convert-values: 6.0.0(postcss@8.4.31) + postcss-discard-comments: 6.0.0(postcss@8.4.31) + postcss-discard-duplicates: 6.0.0(postcss@8.4.31) + postcss-discard-empty: 6.0.0(postcss@8.4.31) + postcss-discard-overridden: 6.0.0(postcss@8.4.31) + postcss-merge-longhand: 6.0.0(postcss@8.4.31) + postcss-merge-rules: 6.0.1(postcss@8.4.31) + postcss-minify-font-values: 6.0.0(postcss@8.4.31) + postcss-minify-gradients: 6.0.0(postcss@8.4.31) + postcss-minify-params: 6.0.0(postcss@8.4.31) + postcss-minify-selectors: 6.0.0(postcss@8.4.31) + postcss-normalize-charset: 6.0.0(postcss@8.4.31) + postcss-normalize-display-values: 6.0.0(postcss@8.4.31) + postcss-normalize-positions: 6.0.0(postcss@8.4.31) + postcss-normalize-repeat-style: 6.0.0(postcss@8.4.31) + postcss-normalize-string: 6.0.0(postcss@8.4.31) + postcss-normalize-timing-functions: 6.0.0(postcss@8.4.31) + postcss-normalize-unicode: 6.0.0(postcss@8.4.31) + postcss-normalize-url: 6.0.0(postcss@8.4.31) + postcss-normalize-whitespace: 6.0.0(postcss@8.4.31) + postcss-ordered-values: 6.0.0(postcss@8.4.31) + postcss-reduce-initial: 6.0.0(postcss@8.4.31) + postcss-reduce-transforms: 6.0.0(postcss@8.4.31) + postcss-svgo: 6.0.0(postcss@8.4.31) + postcss-unique-selectors: 6.0.0(postcss@8.4.31) + dev: true + + /cssnano-utils@4.0.0(postcss@8.4.31): resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 dev: true - /cssnano@6.0.1(postcss@8.4.28): + /cssnano@6.0.1(postcss@8.4.31): resolution: {integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 6.0.1(postcss@8.4.28) + cssnano-preset-default: 6.0.1(postcss@8.4.31) lilconfig: 2.1.0 - postcss: 8.4.28 + postcss: 8.4.31 dev: true /csso@5.0.5: @@ -6291,6 +6501,13 @@ packages: cssom: 0.3.8 dev: true + /cssstyle@3.0.0: + resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} + engines: {node: '>=14'} + dependencies: + rrweb-cssom: 0.6.0 + dev: true + /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} dev: true @@ -6313,6 +6530,15 @@ packages: whatwg-url: 11.0.0 dev: true + /data-urls@4.0.0: + resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} + engines: {node: '>=14'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + dev: true + /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true @@ -6408,7 +6634,7 @@ packages: object-is: 1.1.5 object-keys: 1.1.1 object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 + regexp.prototype.flags: 1.5.1 side-channel: 1.0.4 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 @@ -6433,21 +6659,30 @@ packages: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 - dev: true /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} dev: true + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + dev: true + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: + define-data-property: 1.1.1 has-property-descriptors: 1.0.0 object-keys: 1.1.1 dev: true @@ -6505,11 +6740,17 @@ packages: transitivePeerDependencies: - supports-color - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /dezalgo@1.0.4: + resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} + dependencies: + asap: 2.0.6 + wrappy: 1.0.2 dev: true + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -6524,8 +6765,8 @@ packages: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: true - /dns-packet@5.6.0: - resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==} + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 @@ -6594,16 +6835,15 @@ packages: /dotenv-expand@10.0.0: resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} engines: {node: '>=12'} - dev: false /dotenv@10.0.0: resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} engines: {node: '>=10'} + dev: true - /dotenv@16.1.4: - resolution: {integrity: sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==} + /dotenv@16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} engines: {node: '>=12'} - dev: false /duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -6612,6 +6852,12 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true + /ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + dependencies: + safe-buffer: 5.2.1 + dev: false + /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} @@ -6622,8 +6868,8 @@ packages: dependencies: jake: 10.8.7 - /electron-to-chromium@1.4.496: - resolution: {integrity: sha512-qeXC3Zbykq44RCrBa4kr8v/dWzYJA8rAwpyh9Qd+NKWoJfjG5vvJqy9XOJ9H4P/lqulZBCgUWAYi+FeK5AuJ8g==} + /electron-to-chromium@1.4.559: + resolution: {integrity: sha512-iS7KhLYCSJbdo3rUSkhDTVuFNCV34RKs2UaB9Ecr7VlqzjjWW//0nfsFF5dtDmyXlZQaDYYtID5fjtC/6lpRug==} /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -6704,22 +6950,22 @@ packages: dependencies: is-arrayish: 0.2.1 - /es-abstract@1.22.1: - resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + /es-abstract@1.22.2: + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.1 + arraybuffer.prototype.slice: 1.0.2 available-typed-arrays: 1.0.5 call-bind: 1.0.2 es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 - function.prototype.name: 1.1.5 + function.prototype.name: 1.1.6 get-intrinsic: 1.2.1 get-symbol-description: 1.0.0 globalthis: 1.0.3 gopd: 1.0.1 - has: 1.0.3 + has: 1.0.4 has-property-descriptors: 1.0.0 has-proto: 1.0.1 has-symbols: 1.0.3 @@ -6732,15 +6978,15 @@ packages: is-string: 1.0.7 is-typed-array: 1.1.12 is-weakref: 1.0.2 - object-inspect: 1.12.3 + object-inspect: 1.13.0 object-keys: 1.1.1 object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - safe-array-concat: 1.0.0 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 typed-array-buffer: 1.0.0 typed-array-byte-length: 1.0.0 typed-array-byte-offset: 1.0.0 @@ -6763,22 +7009,22 @@ packages: stop-iteration-iterator: 1.0.0 dev: true - /es-module-lexer@1.3.0: - resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} + /es-module-lexer@1.3.1: + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 - has: 1.0.3 + has: 1.0.4 has-tostringtag: 1.0.0 dev: true /es-shim-unscopables@1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: - has: 1.0.3 + has: 1.0.4 dev: true /es-to-primitive@1.2.1: @@ -6857,7 +7103,7 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-next@13.4.1(eslint@8.15.0)(typescript@5.1.6): + /eslint-config-next@13.4.1(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-ajuxjCkW1hvirr0EQZb3/B/bFH52Z7CT89uCtTcICFL9l30i5c8hN4p0LXvTjdOXNPV5fEDcxBgGHgXdzTj1/A==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -6867,28 +7113,28 @@ packages: optional: true dependencies: '@next/eslint-plugin-next': 13.4.1 - '@rushstack/eslint-patch': 1.3.3 - '@typescript-eslint/parser': 5.62.0(eslint@8.15.0)(typescript@5.1.6) - eslint: 8.15.0 + '@rushstack/eslint-patch': 1.5.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@5.1.6) + eslint: 8.46.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.27.5)(eslint@8.15.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.15.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.15.0) - eslint-plugin-react: 7.32.2(eslint@8.15.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.15.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.27.5)(eslint@8.46.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.46.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.46.0) + eslint-plugin-react: 7.32.2(eslint@8.46.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.46.0) typescript: 5.1.6 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color dev: true - /eslint-config-prettier@8.1.0(eslint@8.15.0): + /eslint-config-prettier@8.1.0(eslint@8.46.0): resolution: {integrity: sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.15.0 + eslint: 8.46.0 dev: true /eslint-import-resolver-node@0.3.9: @@ -6896,13 +7142,13 @@ packages: dependencies: debug: 3.2.7 is-core-module: 2.13.0 - resolve: 1.22.4 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.27.5)(eslint@8.15.0): - resolution: {integrity: sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==} + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.27.5)(eslint@8.46.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -6910,11 +7156,11 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 - eslint: 8.15.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.15.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.15.0) + eslint: 8.46.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.46.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.46.0) fast-glob: 3.3.1 - get-tsconfig: 4.7.0 + get-tsconfig: 4.7.2 is-core-module: 2.13.0 is-glob: 4.0.3 transitivePeerDependencies: @@ -6924,7 +7170,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.15.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.46.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -6945,16 +7191,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.15.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@5.1.6) debug: 3.2.7 - eslint: 8.15.0 + eslint: 8.46.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.27.5)(eslint@8.15.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.27.5)(eslint@8.46.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.15.0): + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.46.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -6964,21 +7210,21 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.15.0)(typescript@5.1.6) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@5.1.6) + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.15.0 + eslint: 8.46.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.15.0) - has: 1.0.3 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.46.0) + has: 1.0.4 is-core-module: 2.13.0 is-glob: 4.0.3 minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.4 + object.values: 1.1.7 + resolve: 1.22.8 semver: 6.3.1 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -6987,62 +7233,62 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.15.0): + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.46.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.2 aria-query: 5.3.0 - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.7 - axe-core: 4.7.2 + axe-core: 4.8.2 axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.15.0 - has: 1.0.3 + eslint: 8.46.0 + has: 1.0.4 jsx-ast-utils: 3.3.5 language-tags: 1.0.5 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 + object.entries: 1.1.7 + object.fromentries: 2.0.7 semver: 6.3.1 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.15.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.46.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.15.0 + eslint: 8.46.0 dev: true - /eslint-plugin-react@7.32.2(eslint@8.15.0): + /eslint-plugin-react@7.32.2(eslint@8.46.0): resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - array.prototype.tosorted: 1.1.1 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 - eslint: 8.15.0 + eslint: 8.46.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 prop-types: 15.8.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.8 + string.prototype.matchall: 4.0.10 dev: true /eslint-scope@5.1.1: @@ -7059,30 +7305,22 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 - /eslint-utils@3.0.0(eslint@8.15.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.15.0 - eslint-visitor-keys: 2.1.0 - - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.15.0: - resolution: {integrity: sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==} + /eslint@8.46.0: + resolution: {integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.4.1 - '@humanwhocodes/config-array': 0.9.5 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + '@eslint-community/regexpp': 4.9.1 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.51.0 + '@humanwhocodes/config-array': 0.11.11 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -7090,20 +7328,20 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 - eslint-utils: 3.0.0(eslint@8.15.0) eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 + find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.21.0 + globals: 13.23.0 + graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 + is-path-inside: 3.0.3 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -7111,11 +7349,8 @@ packages: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 - regexpp: 3.2.0 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 - v8-compile-cache: 2.4.0 transitivePeerDependencies: - supports-color @@ -7189,9 +7424,9 @@ packages: engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 - get-stream: 6.0.1 + get-stream: 6.0.0 human-signals: 2.1.0 - is-stream: 2.0.1 + is-stream: 2.0.0 merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 @@ -7226,16 +7461,15 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expect@29.6.2: - resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 18.14.2 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 dev: true /exponential-backoff@3.1.1: @@ -7354,8 +7588,8 @@ packages: bser: 2.1.1 dev: true - /fflate@0.8.0: - resolution: {integrity: sha512-FAdS4qMuFjsJj6XHbBaZeXOgaypXp8iw/Tpyuq/w3XA41jjLHT8NPA+n7czH/DDhdncq0nAyDZmPeWXh2qmdIg==} + /fflate@0.8.1: + resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==} dev: true /figures@3.2.0: @@ -7368,9 +7602,9 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.1.1 - /file-loader@6.2.0(webpack@5.88.2): + /file-loader@6.2.0(webpack@5.89.0): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -7378,7 +7612,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) /file-type@17.1.6: resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==} @@ -7457,7 +7691,6 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true /find-up@6.3.0: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} @@ -7474,22 +7707,23 @@ packages: semver-regex: 4.0.5 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 + keyv: 4.5.4 rimraf: 3.0.2 /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects@1.15.3: + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -7511,7 +7745,7 @@ packages: signal-exit: 4.1.0 dev: true - /fork-ts-checker-webpack-plugin@7.2.13(typescript@5.1.6)(webpack@5.88.2): + /fork-ts-checker-webpack-plugin@7.2.13(typescript@5.1.6)(webpack@5.89.0): resolution: {integrity: sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -7522,7 +7756,7 @@ packages: vue-template-compiler: optional: true dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 7.1.0 @@ -7535,7 +7769,7 @@ packages: semver: 7.5.4 tapable: 2.2.1 typescript: 5.1.6 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true /form-data@4.0.0: @@ -7546,12 +7780,21 @@ packages: combined-stream: 1.0.8 mime-types: 2.1.35 + /formidable@2.1.2: + resolution: {integrity: sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==} + dependencies: + dezalgo: 1.0.4 + hexoid: 1.0.0 + once: 1.4.0 + qs: 6.11.2 + dev: true + /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - /fraction.js@4.2.1: - resolution: {integrity: sha512-/KxoyCnPM0GwYI4NN0Iag38Tqt+od3/mLuguepLgCAKPn0ZhC544nssAW0tG2/00zXEYl9W+7hwAIpLHo6Oc7Q==} + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: true /fresh@0.5.2: @@ -7598,39 +7841,37 @@ packages: resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 7.0.3 + minipass: 7.0.4 dev: true - /fs-monkey@1.0.4: - resolution: {integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==} + /fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} dev: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true + dev: true optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 functions-have-names: 1.2.3 dev: true - /functional-red-black-tree@1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true @@ -7664,8 +7905,8 @@ packages: /get-intrinsic@1.2.1: resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: - function-bind: 1.1.1 - has: 1.0.3 + function-bind: 1.1.2 + has: 1.0.4 has-proto: 1.0.1 has-symbols: 1.0.3 @@ -7720,8 +7961,8 @@ packages: get-intrinsic: 1.2.1 dev: true - /get-tsconfig@4.7.0: - resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==} + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 dev: true @@ -7799,15 +8040,15 @@ packages: /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - /glob@10.3.3: - resolution: {integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==} + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.3.0 + jackspeak: 2.3.6 minimatch: 9.0.3 - minipass: 7.0.3 + minipass: 7.0.4 path-scurry: 1.10.1 dev: true @@ -7817,7 +8058,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.5 once: 1.4.0 path-is-absolute: 1.0.1 @@ -7874,8 +8115,8 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals@13.21.0: - resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -7884,7 +8125,7 @@ packages: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 dev: true /globby@11.1.0: @@ -7927,7 +8168,7 @@ packages: '@sindresorhus/is': 4.6.0 '@szmarczak/http-timer': 4.0.6 '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.0 + '@types/responselike': 1.0.2 cacheable-lookup: 5.0.4 cacheable-request: 7.0.4 decompress-response: 6.0.0 @@ -7942,7 +8183,6 @@ packages: /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true /handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} @@ -8012,16 +8252,19 @@ packages: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: true - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + /has@1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + /hexoid@1.0.0: + resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} + engines: {node: '>=8'} + dev: true + /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -8047,6 +8290,12 @@ packages: lru-cache: 7.18.3 dev: true + /hosted-git-info@7.0.1: + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + lru-cache: 10.0.1 + /hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} dependencies: @@ -8113,7 +8362,7 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.17): + /http-proxy-middleware@2.0.6(@types/express@4.17.20): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -8122,8 +8371,8 @@ packages: '@types/express': optional: true dependencies: - '@types/express': 4.17.17 - '@types/http-proxy': 1.17.11 + '@types/express': 4.17.20 + '@types/http-proxy': 1.17.13 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -8137,7 +8386,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.15.3 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -8193,8 +8442,8 @@ packages: ms: 2.1.3 dev: true - /husky@8.0.0: - resolution: {integrity: sha512-4qbE/5dzNDNxFEkX9MNRPKl5+omTXQzdILCUWiqG/lWIAioiM5vln265/l6I2Zx8gpW8l1ukZwGQeCFbBZ6+6w==} + /husky@8.0.3: + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} hasBin: true dev: true @@ -8211,13 +8460,13 @@ packages: dependencies: safer-buffer: 2.1.2 - /icss-utils@5.1.0(postcss@8.4.28): + /icss-utils@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 dev: true /identity-obj-proxy@3.0.0: @@ -8256,8 +8505,8 @@ packages: dev: true optional: true - /immutable@4.3.2: - resolution: {integrity: sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==} + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} dev: true /import-fresh@3.3.0: @@ -8346,7 +8595,7 @@ packages: engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.1 - has: 1.0.3 + has: 1.0.4 side-channel: 1.0.4 dev: true @@ -8393,6 +8642,7 @@ packages: engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 + dev: true /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -8411,13 +8661,13 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true dependencies: - ci-info: 3.8.0 + ci-info: 3.9.0 dev: true /is-core-module@2.13.0: resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: - has: 1.0.3 + has: 1.0.4 /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -8453,7 +8703,6 @@ packages: /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dev: true /is-lambda@1.0.1: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} @@ -8484,6 +8733,10 @@ packages: engines: {node: '>=8'} dev: true + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + /is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -8579,7 +8832,6 @@ packages: /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - dev: true /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} @@ -8631,8 +8883,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.22.10 - '@babel/parser': 7.22.10 + '@babel/core': 7.23.2 + '@babel/parser': 7.23.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -8640,6 +8892,19 @@ packages: - supports-color dev: true + /istanbul-lib-instrument@6.0.1: + resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.23.2 + '@babel/parser': 7.23.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + /istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} @@ -8672,8 +8937,8 @@ packages: resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} engines: {node: '>=6'} - /jackspeak@2.3.0: - resolution: {integrity: sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==} + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 @@ -8691,36 +8956,37 @@ packages: filelist: 1.0.4 minimatch: 3.1.2 - /jest-changed-files@29.5.0: - resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==} + /jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 + jest-util: 29.7.0 p-limit: 3.1.0 dev: true - /jest-circus@29.6.2: - resolution: {integrity: sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==} + /jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/expect': 29.6.2 - '@jest/test-result': 29.6.2 - '@jest/types': 29.6.1 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.14.2 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 is-generator-fn: 2.1.0 - jest-each: 29.6.2 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-runtime: 29.6.2 - jest-snapshot: 29.6.2 - jest-util: 29.6.2 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 p-limit: 3.1.0 - pretty-format: 29.6.2 - pure-rand: 6.0.2 + pretty-format: 29.7.0 + pure-rand: 6.0.4 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: @@ -8728,8 +8994,8 @@ packages: - supports-color dev: true - /jest-cli@29.6.2(@types/node@18.14.2)(ts-node@10.9.1): - resolution: {integrity: sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==} + /jest-cli@29.7.0(@types/node@18.14.2)(ts-node@10.9.1): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: @@ -8738,17 +9004,16 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.6.2(ts-node@10.9.1) - '@jest/test-result': 29.6.2 - '@jest/types': 29.6.1 + '@jest/core': 29.7.0(ts-node@10.9.1) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.14.2)(ts-node@10.9.1) exit: 0.1.2 - graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 29.6.2(@types/node@18.14.2)(ts-node@10.9.1) - jest-util: 29.6.2 - jest-validate: 29.6.2 - prompts: 2.4.2 + jest-config: 29.7.0(@types/node@18.14.2)(ts-node@10.9.1) + jest-util: 29.7.0 + jest-validate: 29.7.0 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -8757,8 +9022,8 @@ packages: - ts-node dev: true - /jest-config@29.6.2(@types/node@18.14.2)(ts-node@10.9.1): - resolution: {integrity: sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==} + /jest-config@29.7.0(@types/node@18.14.2)(ts-node@10.9.1): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' @@ -8769,65 +9034,64 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.22.10 - '@jest/test-sequencer': 29.6.2 - '@jest/types': 29.6.1 + '@babel/core': 7.23.2 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.14.2 - babel-jest: 29.6.2(@babel/core@7.22.10) + babel-jest: 29.7.0(@babel/core@7.23.2) chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 29.6.2 - jest-environment-node: 29.6.2 - jest-get-type: 29.4.3 - jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-runner: 29.6.2 - jest-util: 29.6.2 - jest-validate: 29.6.2 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 29.6.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@swc/core@1.3.78)(@types/node@18.14.2)(typescript@5.1.6) + ts-node: 10.9.1(@swc/core@1.3.93)(@types/node@18.14.2)(typescript@5.1.6) transitivePeerDependencies: - babel-plugin-macros - supports-color dev: true - /jest-diff@29.6.2: - resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 - dev: true + chalk: 4.1.0 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 - /jest-docblock@29.4.3: - resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} + /jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 dev: true - /jest-each@29.6.2: - resolution: {integrity: sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==} + /jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 chalk: 4.1.2 - jest-get-type: 29.4.3 - jest-util: 29.6.2 - pretty-format: 29.6.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 dev: true - /jest-environment-jsdom@29.6.2: - resolution: {integrity: sha512-7oa/+266AAEgkzae8i1awNEfTfjwawWKLpiw2XesZmaoVVj9u9t8JOYx18cG29rbPNtkUlZ8V4b5Jb36y/VxoQ==} + /jest-environment-jsdom@29.7.0: + resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: canvas: ^2.5.0 @@ -8835,13 +9099,13 @@ packages: canvas: optional: true dependencies: - '@jest/environment': 29.6.2 - '@jest/fake-timers': 29.6.2 - '@jest/types': 29.6.1 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 '@types/node': 18.14.2 - jest-mock: 29.6.2 - jest-util: 29.6.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 jsdom: 20.0.3 transitivePeerDependencies: - bufferutil @@ -8849,85 +9113,84 @@ packages: - utf-8-validate dev: true - /jest-environment-node@29.6.2: - resolution: {integrity: sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==} + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/fake-timers': 29.6.2 - '@jest/types': 29.6.1 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.14.2 - jest-mock: 29.6.2 - jest-util: 29.6.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-haste-map@29.6.2: - resolution: {integrity: sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==} + /jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/graceful-fs': 4.1.6 + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.8 '@types/node': 18.14.2 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 29.4.3 - jest-util: 29.6.2 - jest-worker: 29.6.2 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /jest-leak-detector@29.6.2: - resolution: {integrity: sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==} + /jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-matcher-utils@29.6.2: - resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-message-util@29.6.2: - resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 + '@babel/code-frame': 7.22.13 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.2 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 - pretty-format: 29.6.2 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 dev: true - /jest-mock@29.6.2: - resolution: {integrity: sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==} + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/node': 18.14.2 - jest-util: 29.6.2 + jest-util: 29.7.0 dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@29.6.2): + /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -8936,161 +9199,161 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 29.6.2 + jest-resolve: 29.7.0 dev: true - /jest-regex-util@29.4.3: - resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies@29.6.2: - resolution: {integrity: sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==} + /jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-regex-util: 29.4.3 - jest-snapshot: 29.6.2 + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color dev: true - /jest-resolve@29.6.2: - resolution: {integrity: sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==} + /jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-pnp-resolver: 1.2.3(jest-resolve@29.6.2) - jest-util: 29.6.2 - jest-validate: 29.6.2 - resolve: 1.22.4 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 dev: true - /jest-runner@29.6.2: - resolution: {integrity: sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==} + /jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.6.2 - '@jest/environment': 29.6.2 - '@jest/test-result': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.14.2 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 - jest-docblock: 29.4.3 - jest-environment-node: 29.6.2 - jest-haste-map: 29.6.2 - jest-leak-detector: 29.6.2 - jest-message-util: 29.6.2 - jest-resolve: 29.6.2 - jest-runtime: 29.6.2 - jest-util: 29.6.2 - jest-watcher: 29.6.2 - jest-worker: 29.6.2 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color dev: true - /jest-runtime@29.6.2: - resolution: {integrity: sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==} + /jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/fake-timers': 29.6.2 - '@jest/globals': 29.6.2 - '@jest/source-map': 29.6.0 - '@jest/test-result': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.14.2 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-message-util: 29.6.2 - jest-mock: 29.6.2 - jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-snapshot: 29.6.2 - jest-util: 29.6.2 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /jest-snapshot@29.6.2: - resolution: {integrity: sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==} + /jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) - '@babel/types': 7.22.10 - '@jest/expect-utils': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10) + '@babel/core': 7.23.2 + '@babel/generator': 7.23.0 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2) + '@babel/types': 7.23.0 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.2) chalk: 4.1.2 - expect: 29.6.2 + expect: 29.7.0 graceful-fs: 4.2.11 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 natural-compare: 1.4.0 - pretty-format: 29.6.2 + pretty-format: 29.7.0 semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/node': 18.14.2 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: true - /jest-validate@29.6.2: - resolution: {integrity: sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==} + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 camelcase: 6.3.0 chalk: 4.1.2 - jest-get-type: 29.4.3 + jest-get-type: 29.6.3 leven: 3.1.0 - pretty-format: 29.6.2 + pretty-format: 29.7.0 dev: true - /jest-watcher@29.6.2: - resolution: {integrity: sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==} + /jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.6.2 - '@jest/types': 29.6.1 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.14.2 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 - jest-util: 29.6.2 + jest-util: 29.7.0 string-length: 4.0.2 dev: true @@ -9102,18 +9365,18 @@ packages: merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@29.6.2: - resolution: {integrity: sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==} + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/node': 18.14.2 - jest-util: 29.6.2 + jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.6.2(@types/node@18.14.2)(ts-node@10.9.1): - resolution: {integrity: sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==} + /jest@29.7.0(@types/node@18.14.2)(ts-node@10.9.1): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: @@ -9122,10 +9385,10 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.6.2(ts-node@10.9.1) - '@jest/types': 29.6.1 + '@jest/core': 29.7.0(ts-node@10.9.1) + '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.6.2(@types/node@18.14.2)(ts-node@10.9.1) + jest-cli: 29.7.0(@types/node@18.14.2)(ts-node@10.9.1) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -9186,7 +9449,45 @@ packages: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.13.0 + ws: 8.14.2 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jsdom@22.1.0: + resolution: {integrity: sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==} + engines: {node: '>=16'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + cssstyle: 3.0.0 + data-urls: 4.0.0 + decimal.js: 10.4.3 + domexception: 4.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.7 + parse5: 7.1.2 + rrweb-cssom: 0.6.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.3 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + ws: 8.14.2 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -9205,7 +9506,6 @@ packages: /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true /json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} @@ -9275,21 +9575,61 @@ packages: engines: {'0': node >= 0.2.0} dev: true + /jsonwebtoken@9.0.0: + resolution: {integrity: sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==} + engines: {node: '>=12', npm: '>=6'} + dependencies: + jws: 3.2.2 + lodash: 4.17.21 + ms: 2.1.3 + semver: 7.5.4 + dev: false + + /jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + engines: {node: '>=12', npm: '>=6'} + dependencies: + jws: 3.2.2 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 + ms: 2.1.3 + semver: 7.5.4 + dev: false + /jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 object.assign: 4.1.4 - object.values: 1.1.6 + object.values: 1.1.7 dev: true - /keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + /jwa@1.4.1: + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + dev: false + + /jws@3.2.2: + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + dependencies: + jwa: 1.4.1 + safe-buffer: 5.2.1 + dev: false + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 - dev: true /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} @@ -9319,22 +9659,22 @@ packages: language-subtag-registry: 0.3.22 dev: true - /launch-editor@2.6.0: - resolution: {integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==} + /launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} dependencies: picocolors: 1.0.0 shell-quote: 1.8.1 dev: true - /lerna@7.1.5(@swc/core@1.3.78): + /lerna@7.1.5(@swc/core@1.3.93): resolution: {integrity: sha512-5bvfmoIH4Czk5mdoLaRPYkM3M63Ei6+TOuXs3MgXmvqD8vs+vQpHuBVmiYFp5Mwsck3FkidJ+eTxfucltA2Lmw==} engines: {node: ^14.17.0 || >=16.0.0} hasBin: true dependencies: '@lerna/child-process': 7.1.5 - '@lerna/create': 7.1.5(@swc/core@1.3.78) + '@lerna/create': 7.1.5(@swc/core@1.3.93)(typescript@5.1.6) '@npmcli/run-script': 6.0.2 - '@nx/devkit': 16.6.0(nx@16.6.0) + '@nx/devkit': 16.10.0(nx@16.10.0) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11 byte-size: 8.1.1 @@ -9345,7 +9685,7 @@ packages: conventional-changelog-angular: 6.0.0 conventional-changelog-core: 5.0.1 conventional-recommended-bump: 7.0.1 - cosmiconfig: 8.2.0 + cosmiconfig: 8.3.6(typescript@5.1.6) dedent: 0.7.0 envinfo: 7.8.1 execa: 5.0.0 @@ -9363,7 +9703,7 @@ packages: inquirer: 8.2.6 is-ci: 3.0.1 is-stream: 2.0.0 - jest-diff: 29.6.2 + jest-diff: 29.7.0 js-yaml: 4.1.0 libnpmaccess: 7.0.2 libnpmpublish: 7.3.0 @@ -9377,7 +9717,7 @@ packages: npm-packlist: 5.1.1 npm-registry-fetch: 14.0.5 npmlog: 6.0.2 - nx: 16.6.0(@swc/core@1.3.78) + nx: 16.10.0(@swc/core@1.3.93) p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -9399,7 +9739,7 @@ packages: temp-dir: 1.0.0 typescript: 5.1.6 upath: 2.0.1 - uuid: 9.0.0 + uuid: 9.0.1 validate-npm-package-license: 3.0.4 validate-npm-package-name: 5.0.0 write-file-atomic: 5.0.1 @@ -9415,7 +9755,7 @@ packages: - supports-color dev: true - /less-loader@11.1.0(less@4.1.3)(webpack@5.88.2): + /less-loader@11.1.0(less@4.1.3)(webpack@5.89.0): resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -9424,7 +9764,7 @@ packages: dependencies: klona: 2.0.6 less: 4.1.3 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true /less@4.1.3: @@ -9473,7 +9813,7 @@ packages: resolution: {integrity: sha512-fHUxw5VJhZCNSls0KLNEG0mCD2PN1i14gH5elGOgiVnU3VgTcRahagYP2LKI1m0tFCJ+XrAm0zVYyF5RCbXzcg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - ci-info: 3.8.0 + ci-info: 3.9.0 normalize-package-data: 5.0.0 npm-package-arg: 10.1.0 npm-registry-fetch: 14.0.5 @@ -9485,10 +9825,10 @@ packages: - supports-color dev: true - /libphonenumber-js@1.10.41: - resolution: {integrity: sha512-4rmmF4u4vD3eGNuuCGjCPwRwO+fIuu1WWcS7VwbPTiMFkJd8F02v8o5pY5tlYuMR+xOvJ88mtOHpkm0Tnu2LcQ==} + /libphonenumber-js@1.10.48: + resolution: {integrity: sha512-Vvcgt4+o8+puIBJZLdMshPYx9nRN3/kTT7HPtOyfYrSQuN9PGBF1KUv0g07fjNzt4E4GuA7FnsLb+WeAMzyRQg==} - /license-webpack-plugin@4.0.2(webpack@5.88.2): + /license-webpack-plugin@4.0.2(webpack@5.89.0): resolution: {integrity: sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==} peerDependencies: webpack: '*' @@ -9498,7 +9838,7 @@ packages: webpack-sources: optional: true dependencies: - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) webpack-sources: 3.2.3 dev: true @@ -9534,6 +9874,11 @@ packages: type-fest: 0.6.0 dev: true + /load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -9571,7 +9916,6 @@ packages: engines: {node: '>=10'} dependencies: p-locate: 5.0.0 - dev: true /locate-path@7.2.0: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} @@ -9591,6 +9935,14 @@ packages: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: true + /lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + dev: false + + /lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + dev: false + /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} dev: true @@ -9599,13 +9951,24 @@ packages: resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} dev: true + /lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + dev: false + /lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} dev: true + /lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + dev: false + /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true + + /lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + dev: false /lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} @@ -9622,6 +9985,10 @@ packages: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} dev: true + /lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: false + /lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} dev: true @@ -9647,7 +10014,6 @@ packages: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} @@ -9655,8 +10021,8 @@ packages: dependencies: js-tokens: 4.0.0 - /loupe@2.3.6: - resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 dev: true @@ -9674,7 +10040,6 @@ packages: /lru-cache@10.0.1: resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} engines: {node: 14 || >=16.14} - dev: true /lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} @@ -9718,8 +10083,8 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /magic-string@0.30.2: - resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -9728,7 +10093,6 @@ packages: /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} - requiresBuild: true dependencies: pify: 4.0.1 semver: 5.7.2 @@ -9804,14 +10168,14 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} dependencies: - fs-monkey: 1.0.4 + fs-monkey: 1.0.5 dev: true /meow@8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} dependencies: - '@types/minimist': 1.2.2 + '@types/minimist': 1.2.4 camelcase-keys: 6.2.2 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 @@ -9860,6 +10224,12 @@ packages: engines: {node: '>=4'} hasBin: true + /mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + dev: true + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -9879,14 +10249,14 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.4.7(webpack@5.88.2): + /mini-css-extract-plugin@2.4.7(webpack@5.89.0): resolution: {integrity: sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true /minimalistic-assert@1.0.1: @@ -9953,7 +10323,7 @@ packages: resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 7.0.3 + minipass: 7.0.4 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: @@ -10005,8 +10375,8 @@ packages: engines: {node: '>=8'} dev: true - /minipass@7.0.3: - resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} dev: true @@ -10036,13 +10406,13 @@ packages: hasBin: true dev: true - /mlly@1.4.0: - resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.10.0 pathe: 1.1.1 pkg-types: 1.0.3 - ufo: 1.2.0 + ufo: 1.3.1 dev: true /modify-values@1.0.1: @@ -10080,7 +10450,7 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: - dns-packet: 5.6.0 + dns-packet: 5.6.1 thunky: 1.1.0 dev: true @@ -10092,7 +10462,7 @@ packages: array-differ: 3.0.0 array-union: 2.1.0 arrify: 2.0.1 - minimatch: 3.1.2 + minimatch: 3.0.5 dev: true /mute-stream@0.0.8: @@ -10124,7 +10494,7 @@ packages: dependencies: debug: 3.2.7 iconv-lite: 0.6.3 - sax: 1.2.4 + sax: 1.3.0 transitivePeerDependencies: - supports-color dev: true @@ -10137,7 +10507,7 @@ packages: /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - /next@13.4.1(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0): + /next@13.4.1(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-JBw2kAIyhKDpjhEWvNVoFeIzNp9xNxg8wrthDOtMctfn3EpqGCmW0FSviNyGgOSOSn6zDaX48pmvbdf6X2W9xA==} engines: {node: '>=16.8.0'} hasBin: true @@ -10161,11 +10531,11 @@ packages: '@next/env': 13.4.1 '@swc/helpers': 0.5.1 busboy: 1.6.0 - caniuse-lite: 1.0.30001522 + caniuse-lite: 1.0.30001551 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.22.10)(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.23.2)(react@18.2.0) zod: 3.21.4 optionalDependencies: '@next/swc-darwin-arm64': 13.4.1 @@ -10195,8 +10565,8 @@ packages: /node-addon-api@3.2.1: resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - /node-fetch@2.6.13: - resolution: {integrity: sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==} + /node-fetch@2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -10205,9 +10575,10 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 + dev: true - /node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -10216,15 +10587,14 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 - dev: true /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} dev: true - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-gyp-build@4.6.1: + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true /node-gyp@9.4.0: @@ -10269,7 +10639,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.4 + resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -10321,8 +10691,8 @@ packages: npm-normalize-package-bin: 3.0.1 dev: true - /npm-install-checks@6.2.0: - resolution: {integrity: sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==} + /npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: semver: 7.5.4 @@ -10347,6 +10717,15 @@ packages: validate-npm-package-name: 5.0.0 dev: true + /npm-package-arg@11.0.1: + resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + proc-log: 3.0.0 + semver: 7.5.3 + validate-npm-package-name: 5.0.0 + /npm-package-arg@8.1.1: resolution: {integrity: sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==} engines: {node: '>=10'} @@ -10378,7 +10757,7 @@ packages: resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-install-checks: 6.2.0 + npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 semver: 7.5.4 @@ -10431,11 +10810,11 @@ packages: resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} dev: true - /nx-cloud@16.3.0: - resolution: {integrity: sha512-hmNgpeLO4v4WDSWa8YhwX+q+9ohIyY8iqxlWyIKixWzQH2XfRgYFjOLH4IDLGOlKa3hg7MB6+4+75cK9CfSmKw==} + /nx-cloud@16.5.2: + resolution: {integrity: sha512-1t1Ii9gojl8r/8hFGaZ/ZyYR0Cb0hzvXLCsaFuvg+EJEFdvua3P4cfNya/0bdRrm+7Eb/ITUOskbvYq4TSlyGg==} hasBin: true dependencies: - '@nrwl/nx-cloud': 16.3.0 + '@nrwl/nx-cloud': 16.5.2 axios: 1.1.3 chalk: 4.1.2 dotenv: 10.0.0 @@ -10449,38 +10828,39 @@ packages: - debug dev: true - /nx@16.6.0(@swc/core@1.3.78): - resolution: {integrity: sha512-4UaS9nRakpZs45VOossA7hzSQY2dsr035EoPRGOc81yoMFW6Sqn1Rgq4hiLbHZOY8MnWNsLMkgolNMz1jC8YUQ==} + /nx@16.10.0(@swc/core@1.3.93): + resolution: {integrity: sha512-gZl4iCC0Hx0Qe1VWmO4Bkeul2nttuXdPpfnlcDKSACGu3ZIo+uySqwOF8yBAxSTIf8xe2JRhgzJN1aFkuezEBg==} hasBin: true requiresBuild: true peerDependencies: - '@swc-node/register': ^1.4.2 - '@swc/core': ^1.2.173 + '@swc-node/register': ^1.6.7 + '@swc/core': ^1.3.85 peerDependenciesMeta: '@swc-node/register': optional: true '@swc/core': optional: true dependencies: - '@nrwl/tao': 16.6.0(@swc/core@1.3.78) + '@nrwl/tao': 16.10.0(@swc/core@1.3.93) '@parcel/watcher': 2.0.4 - '@swc/core': 1.3.78(@swc/helpers@0.5.1) + '@swc/core': 1.3.93(@swc/helpers@0.5.3) '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 - axios: 1.4.0 + axios: 1.5.1 chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 - cliui: 7.0.4 - dotenv: 10.0.0 + cliui: 8.0.1 + dotenv: 16.3.1 + dotenv-expand: 10.0.0 enquirer: 2.3.6 - fast-glob: 3.2.7 figures: 3.2.0 flat: 5.0.2 fs-extra: 11.1.1 glob: 7.1.4 ignore: 5.2.4 + jest-diff: 29.7.0 js-yaml: 4.1.0 jsonc-parser: 3.2.0 lines-and-columns: 2.0.3 @@ -10499,16 +10879,16 @@ packages: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 16.6.0 - '@nx/nx-darwin-x64': 16.6.0 - '@nx/nx-freebsd-x64': 16.6.0 - '@nx/nx-linux-arm-gnueabihf': 16.6.0 - '@nx/nx-linux-arm64-gnu': 16.6.0 - '@nx/nx-linux-arm64-musl': 16.6.0 - '@nx/nx-linux-x64-gnu': 16.6.0 - '@nx/nx-linux-x64-musl': 16.6.0 - '@nx/nx-win32-arm64-msvc': 16.6.0 - '@nx/nx-win32-x64-msvc': 16.6.0 + '@nx/nx-darwin-arm64': 16.10.0 + '@nx/nx-darwin-x64': 16.10.0 + '@nx/nx-freebsd-x64': 16.10.0 + '@nx/nx-linux-arm-gnueabihf': 16.10.0 + '@nx/nx-linux-arm64-gnu': 16.10.0 + '@nx/nx-linux-arm64-musl': 16.10.0 + '@nx/nx-linux-x64-gnu': 16.10.0 + '@nx/nx-linux-x64-musl': 16.10.0 + '@nx/nx-win32-arm64-msvc': 16.10.0 + '@nx/nx-win32-x64-msvc': 16.10.0 transitivePeerDependencies: - debug @@ -10516,15 +10896,15 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect@1.13.0: + resolution: {integrity: sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==} /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 dev: true /object-keys@1.1.1: @@ -10537,43 +10917,43 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 dev: true - /object.entries@1.1.6: - resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + /object.entries@1.1.7: + resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true - /object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true - /object.hasown@1.1.2: - resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + /object.hasown@1.1.3: + resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true /obuf@1.1.2: @@ -10625,6 +11005,19 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 + /ora@5.3.0: + resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.1 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + /ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -10632,7 +11025,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.0 + cli-spinners: 2.9.1 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -10681,7 +11074,6 @@ packages: engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - dev: true /p-limit@4.0.0: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} @@ -10709,7 +11101,6 @@ packages: engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - dev: true /p-locate@6.0.0: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} @@ -10826,7 +11217,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.22.13 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -10862,6 +11253,27 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + /passport-jwt@4.0.1: + resolution: {integrity: sha512-UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ==} + dependencies: + jsonwebtoken: 9.0.2 + passport-strategy: 1.0.0 + dev: false + + /passport-strategy@1.0.0: + resolution: {integrity: sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==} + engines: {node: '>= 0.4.0'} + dev: false + + /passport@0.6.0: + resolution: {integrity: sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==} + engines: {node: '>= 0.4.0'} + dependencies: + passport-strategy: 1.0.0 + pause: 0.0.1 + utils-merge: 1.0.1 + dev: false + /path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: true @@ -10874,7 +11286,6 @@ packages: /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - dev: true /path-exists@5.0.0: resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} @@ -10902,7 +11313,7 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.0.1 - minipass: 7.0.3 + minipass: 7.0.4 dev: true /path-to-regexp@0.1.7: @@ -10930,6 +11341,10 @@ packages: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true + /pause@0.0.1: + resolution: {integrity: sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==} + dev: false + /peek-readable@5.0.0: resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} engines: {node: '>=14.16'} @@ -10955,7 +11370,6 @@ packages: /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - requiresBuild: true dev: true /pify@5.0.0: @@ -10986,7 +11400,7 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.4.0 + mlly: 1.4.2 pathe: 1.1.1 dev: true @@ -11005,90 +11419,90 @@ packages: transitivePeerDependencies: - supports-color - /postcss-calc@9.0.1(postcss@8.4.28): + /postcss-calc@9.0.1(postcss@8.4.31): resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: true - /postcss-colormin@6.0.0(postcss@8.4.28): + /postcss-colormin@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 + browserslist: 4.22.1 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-convert-values@6.0.0(postcss@8.4.28): + /postcss-convert-values@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 - postcss: 8.4.28 + browserslist: 4.22.1 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-discard-comments@6.0.0(postcss@8.4.28): + /postcss-discard-comments@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 dev: true - /postcss-discard-duplicates@6.0.0(postcss@8.4.28): + /postcss-discard-duplicates@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 dev: true - /postcss-discard-empty@6.0.0(postcss@8.4.28): + /postcss-discard-empty@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 dev: true - /postcss-discard-overridden@6.0.0(postcss@8.4.28): + /postcss-discard-overridden@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 dev: true - /postcss-import@14.1.0(postcss@8.4.28): + /postcss-import@14.1.0(postcss@8.4.31): resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.4 + resolve: 1.22.8 dev: true - /postcss-loader@6.2.1(postcss@8.4.28)(webpack@5.88.2): + /postcss-loader@6.2.1(postcss@8.4.31)(webpack@5.89.0): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -11097,239 +11511,239 @@ packages: dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 - postcss: 8.4.28 + postcss: 8.4.31 semver: 7.5.4 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true - /postcss-merge-longhand@6.0.0(postcss@8.4.28): + /postcss-merge-longhand@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 - stylehacks: 6.0.0(postcss@8.4.28) + stylehacks: 6.0.0(postcss@8.4.31) dev: true - /postcss-merge-rules@6.0.1(postcss@8.4.28): + /postcss-merge-rules@6.0.1(postcss@8.4.31): resolution: {integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 + browserslist: 4.22.1 caniuse-api: 3.0.0 - cssnano-utils: 4.0.0(postcss@8.4.28) - postcss: 8.4.28 + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: true - /postcss-minify-font-values@6.0.0(postcss@8.4.28): + /postcss-minify-font-values@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-gradients@6.0.0(postcss@8.4.28): + /postcss-minify-gradients@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.3 - cssnano-utils: 4.0.0(postcss@8.4.28) - postcss: 8.4.28 + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-params@6.0.0(postcss@8.4.28): + /postcss-minify-params@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 - cssnano-utils: 4.0.0(postcss@8.4.28) - postcss: 8.4.28 + browserslist: 4.22.1 + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-selectors@6.0.0(postcss@8.4.28): + /postcss-minify-selectors@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.28): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.31): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 dev: true - /postcss-modules-local-by-default@4.0.3(postcss@8.4.28): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.31): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.28) - postcss: 8.4.28 + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.28): + /postcss-modules-scope@3.0.0(postcss@8.4.31): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.28): + /postcss-modules-values@4.0.0(postcss@8.4.31): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.28) - postcss: 8.4.28 + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 dev: true - /postcss-normalize-charset@6.0.0(postcss@8.4.28): + /postcss-normalize-charset@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 dev: true - /postcss-normalize-display-values@6.0.0(postcss@8.4.28): + /postcss-normalize-display-values@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-positions@6.0.0(postcss@8.4.28): + /postcss-normalize-positions@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-repeat-style@6.0.0(postcss@8.4.28): + /postcss-normalize-repeat-style@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-string@6.0.0(postcss@8.4.28): + /postcss-normalize-string@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-timing-functions@6.0.0(postcss@8.4.28): + /postcss-normalize-timing-functions@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-unicode@6.0.0(postcss@8.4.28): + /postcss-normalize-unicode@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 - postcss: 8.4.28 + browserslist: 4.22.1 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-url@6.0.0(postcss@8.4.28): + /postcss-normalize-url@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-whitespace@6.0.0(postcss@8.4.28): + /postcss-normalize-whitespace@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-ordered-values@6.0.0(postcss@8.4.28): + /postcss-ordered-values@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 4.0.0(postcss@8.4.28) - postcss: 8.4.28 + cssnano-utils: 4.0.0(postcss@8.4.31) + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /postcss-reduce-initial@6.0.0(postcss@8.4.28): + /postcss-reduce-initial@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 + browserslist: 4.22.1 caniuse-api: 3.0.0 - postcss: 8.4.28 + postcss: 8.4.31 dev: true - /postcss-reduce-transforms@6.0.0(postcss@8.4.28): + /postcss-reduce-transforms@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true @@ -11341,24 +11755,24 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-svgo@6.0.0(postcss@8.4.28): + /postcss-svgo@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-value-parser: 4.2.0 svgo: 3.0.2 dev: true - /postcss-unique-selectors@6.0.0(postcss@8.4.28): + /postcss-unique-selectors@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.28 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: true @@ -11375,8 +11789,8 @@ packages: source-map-js: 1.0.2 dev: false - /postcss@8.4.28: - resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -11403,19 +11817,25 @@ packages: react-is: 17.0.2 dev: true - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true + + /prisma@5.4.2: + resolution: {integrity: sha512-GDMZwZy7mysB2oXU+angQqJ90iaPFdD0rHaZNkn+dio5NRkGLmMqmXs31//tg/qXT3iB0cTQwnGGQNuirhSTZg==} + engines: {node: '>=16.13'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': 5.4.2 /proc-log@3.0.0: resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -11499,8 +11919,8 @@ packages: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - /pure-rand@6.0.2: - resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} + /pure-rand@6.0.4: + resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} dev: true /qs@6.11.0: @@ -11578,6 +11998,10 @@ packages: /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + /react-refresh@0.14.0: + resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + engines: {node: '>=0.10.0'} dev: true /react@18.2.0: @@ -11609,7 +12033,7 @@ packages: resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 10.3.3 + glob: 10.3.10 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 npm-normalize-package-bin: 3.0.1 @@ -11645,7 +12069,7 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.3 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -11689,6 +12113,7 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 + dev: true /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} @@ -11701,8 +12126,8 @@ packages: /reflect-metadata@0.1.13: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} - /regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -11716,28 +12141,24 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.2 - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 + define-properties: 1.2.1 + set-function-name: 2.0.1 dev: true - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - /regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 + regenerate-unicode-properties: 10.1.1 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 @@ -11812,16 +12233,16 @@ packages: path-parse: 1.0.7 dev: true - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: is-core-module: 2.13.0 @@ -11870,12 +12291,16 @@ packages: glob: 9.3.5 dev: true - /rollup@3.28.0: - resolution: {integrity: sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==} + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 + dev: true + + /rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true /run-async@2.4.1: @@ -11893,8 +12318,8 @@ packages: dependencies: tslib: 2.6.2 - /safe-array-concat@1.0.0: - resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.2 @@ -11920,7 +12345,7 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass-loader@12.6.0(sass@1.66.1)(webpack@5.88.2): + /sass-loader@12.6.0(sass@1.69.4)(webpack@5.89.0): resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -11941,17 +12366,17 @@ packages: dependencies: klona: 2.0.6 neo-async: 2.6.2 - sass: 1.66.1 - webpack: 5.88.2(@swc/core@1.3.78) + sass: 1.69.4 + webpack: 5.89.0(@swc/core@1.3.93) dev: true - /sass@1.66.1: - resolution: {integrity: sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA==} + /sass@1.69.4: + resolution: {integrity: sha512-+qEreVhqAy8o++aQfCJwp0sklr2xyEzkm9Pp/Igu9wNPoe7EZEQ8X/MBvvXggI2ql607cxKg/RKOwDj6pp2XDA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3 - immutable: 4.3.2 + immutable: 4.3.4 source-map-js: 1.0.2 dev: true @@ -11959,6 +12384,12 @@ packages: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} dev: true + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + requiresBuild: true + dev: true + optional: true + /saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} @@ -11975,7 +12406,7 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.14 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) @@ -11983,7 +12414,7 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.14 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) @@ -12017,7 +12448,6 @@ packages: /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true - requiresBuild: true dev: true /semver@6.3.1: @@ -12037,7 +12467,6 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 - dev: true /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -12094,6 +12523,15 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.0 + dev: true + /setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} dev: true @@ -12138,7 +12576,7 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 - object-inspect: 1.12.3 + object-inspect: 1.13.0 /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -12170,7 +12608,7 @@ packages: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.21 + '@polka/url': 1.0.0-next.23 mrmime: 1.0.1 totalist: 3.0.1 dev: true @@ -12251,7 +12689,7 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map-loader@3.0.2(webpack@5.88.2): + /source-map-loader@3.0.2(webpack@5.89.0): resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -12260,7 +12698,7 @@ packages: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.0.2 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true /source-map-support@0.5.13: @@ -12295,7 +12733,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 dev: true /spdx-exceptions@2.3.0: @@ -12306,11 +12744,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 dev: true - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} dev: true /spdy-transport@3.0.0: @@ -12358,7 +12796,7 @@ packages: resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 7.0.3 + minipass: 7.0.4 dev: true /ssri@9.0.1: @@ -12388,8 +12826,8 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - /std-env@3.4.0: - resolution: {integrity: sha512-YqHeQIIQ8r1VtUZOTOyjsAXAsjr369SplZ5rlQaiJTBsvodvPSCME7vuz8pnQltbQ0Cw0lyFo5Q8uyNwYQ58Xw==} + /std-env@3.4.3: + resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} dev: true /stop-iteration-iterator@1.0.0: @@ -12433,42 +12871,43 @@ packages: strip-ansi: 7.1.0 dev: true - /string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 has-symbols: 1.0.3 internal-slot: 1.0.5 - regexp.prototype.flags: 1.5.0 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 side-channel: 1.0.4 dev: true - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.2 dev: true /string_decoder@1.1.1: @@ -12552,16 +12991,16 @@ packages: peek-readable: 5.0.0 dev: true - /style-loader@3.3.3(webpack@5.88.2): + /style-loader@3.3.3(webpack@5.89.0): resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true - /styled-jsx@5.1.1(@babel/core@7.22.10)(react@18.2.0): + /styled-jsx@5.1.1(@babel/core@7.23.2)(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -12574,23 +13013,23 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.2 client-only: 0.0.1 react: 18.2.0 dev: false - /stylehacks@6.0.0(postcss@8.4.28): + /stylehacks@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 - postcss: 8.4.28 + browserslist: 4.22.1 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: true - /stylus-loader@7.1.3(stylus@0.59.0)(webpack@5.88.2): + /stylus-loader@7.1.3(stylus@0.59.0)(webpack@5.89.0): resolution: {integrity: sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -12600,7 +13039,7 @@ packages: fast-glob: 3.3.1 normalize-path: 3.0.0 stylus: 0.59.0 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true /stylus@0.59.0: @@ -12616,6 +13055,34 @@ packages: - supports-color dev: true + /superagent@8.1.2: + resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} + engines: {node: '>=6.4.0 <13 || >=14'} + dependencies: + component-emitter: 1.3.0 + cookiejar: 2.1.4 + debug: 4.3.4 + fast-safe-stringify: 2.1.1 + form-data: 4.0.0 + formidable: 2.1.2 + methods: 1.1.2 + mime: 2.6.0 + qs: 6.11.2 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /supertest@6.3.3: + resolution: {integrity: sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==} + engines: {node: '>=6.4.0'} + dependencies: + methods: 1.1.2 + superagent: 8.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -12653,8 +13120,8 @@ packages: csso: 5.0.5 picocolors: 1.0.0 - /swagger-ui-dist@5.3.1: - resolution: {integrity: sha512-El78OvXp9zMasfPrshtkW1CRx8AugAKoZuGGOTW+8llJzOV1RtDJYqQRz/6+2OakjeWWnZuRlN2Qj1Y0ilux3w==} + /swagger-ui-dist@5.9.0: + resolution: {integrity: sha512-NUHSYoe5XRTk/Are8jPJ6phzBh3l9l33nEyXosM17QInoV95/jng8+PuSGtbD407QoPf93MH3Bkh773OgesJpA==} dev: false /symbol-tree@3.2.4: @@ -12692,7 +13159,7 @@ packages: engines: {node: '>=4'} dev: true - /terser-webpack-plugin@5.3.9(@swc/core@1.3.78)(webpack@5.88.2): + /terser-webpack-plugin@5.3.9(@swc/core@1.3.93)(webpack@5.89.0): resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -12708,16 +13175,16 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.19 - '@swc/core': 1.3.78(@swc/helpers@0.5.1) + '@jridgewell/trace-mapping': 0.3.20 + '@swc/core': 1.3.93(@swc/helpers@0.5.3) jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.19.2 - webpack: 5.88.2(@swc/core@1.3.78) + terser: 5.22.0 + webpack: 5.89.0(@swc/core@1.3.93) - /terser@5.19.2: - resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} + /terser@5.22.0: + resolution: {integrity: sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -12763,8 +13230,8 @@ packages: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} dev: true - /tinybench@2.5.0: - resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} + /tinybench@2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true /tinypool@0.5.0: @@ -12772,8 +13239,8 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tinyspy@2.1.1: - resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} + /tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} engines: {node: '>=14.0.0'} dev: true @@ -12841,6 +13308,13 @@ packages: punycode: 2.3.0 dev: true + /tr46@4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} + dependencies: + punycode: 2.3.0 + dev: true + /trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -12853,7 +13327,7 @@ packages: escape-string-regexp: 5.0.0 dev: true - /ts-jest@29.1.1(@babel/core@7.22.10)(babel-jest@29.6.2)(jest@29.6.2)(typescript@5.1.6): + /ts-jest@29.1.1(@babel/core@7.23.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.1.6): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -12874,12 +13348,12 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.22.10 - babel-jest: 29.6.2(@babel/core@7.22.10) + '@babel/core': 7.23.2 + babel-jest: 29.7.0(@babel/core@7.23.2) bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.6.2(@types/node@18.14.2)(ts-node@10.9.1) - jest-util: 29.6.2 + jest: 29.7.0(@types/node@18.14.2)(ts-node@10.9.1) + jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 @@ -12888,8 +13362,8 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-loader@9.4.4(typescript@5.1.6)(webpack@5.88.2): - resolution: {integrity: sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==} + /ts-loader@9.5.0(typescript@5.1.6)(webpack@5.89.0): + resolution: {integrity: sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==} engines: {node: '>=12.0.0'} peerDependencies: typescript: '*' @@ -12899,8 +13373,9 @@ packages: enhanced-resolve: 5.15.0 micromatch: 4.0.5 semver: 7.5.4 + source-map: 0.7.4 typescript: 5.1.6 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true /ts-morph@18.0.0: @@ -12910,7 +13385,7 @@ packages: code-block-writer: 12.0.0 dev: true - /ts-node@10.9.1(@swc/core@1.3.78)(@types/node@18.14.2)(typescript@5.1.6): + /ts-node@10.9.1(@swc/core@1.3.93)(@types/node@18.14.2)(typescript@5.1.6): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12925,7 +13400,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.3.78(@swc/helpers@0.5.1) + '@swc/core': 1.3.93(@swc/helpers@0.5.3) '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -12941,7 +13416,7 @@ packages: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - /ts-node@10.9.1(@swc/core@1.3.78)(@types/node@20.4.7)(typescript@5.1.6): + /ts-node@10.9.1(@swc/core@1.3.93)(@types/node@20.5.1)(typescript@5.1.6): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12956,12 +13431,12 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.3.78(@swc/helpers@0.5.1) + '@swc/core': 1.3.93(@swc/helpers@0.5.3) '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.4.7 + '@types/node': 20.5.1 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -13016,9 +13491,6 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.6.1: - resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} - /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} @@ -13146,8 +13618,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ufo@1.2.0: - resolution: {integrity: sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==} + /ufo@1.3.1: + resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} dev: true /uglify-js@3.17.4: @@ -13234,18 +13706,40 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + /unplugin-swc@1.4.3(@swc/core@1.3.93): + resolution: {integrity: sha512-diQ2C7cpQcnAiKYnI6HTw8IlPPl6jAo/3Y59W133ZkdO1t0dDFiPDEmqtfhv5Y/odzS7sT3oEcy2iFwlcajYAg==} + peerDependencies: + '@swc/core': ^1.2.108 + dependencies: + '@rollup/pluginutils': 5.0.5 + '@swc/core': 1.3.93(@swc/helpers@0.5.3) + load-tsconfig: 0.2.5 + unplugin: 1.5.0 + transitivePeerDependencies: + - rollup + dev: true + + /unplugin@1.5.0: + resolution: {integrity: sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==} + dependencies: + acorn: 8.10.0 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + dev: true + /upath@2.0.1: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} dev: true - /update-browserslist-db@1.0.11(browserslist@4.21.10): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + /update-browserslist-db@1.0.13(browserslist@4.22.1): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.10 + browserslist: 4.22.1 escalade: 3.1.1 picocolors: 1.0.0 @@ -13257,7 +13751,7 @@ packages: /url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} - /url-loader@4.1.1(webpack@5.88.2): + /url-loader@4.1.1(webpack@5.89.0): resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -13270,7 +13764,7 @@ packages: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: false /url-parse@1.5.10: @@ -13295,6 +13789,12 @@ packages: /uuid@9.0.0: resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} hasBin: true + dev: false + + /uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + dev: true /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -13302,16 +13802,13 @@ packages: /v8-compile-cache@2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - /v8-compile-cache@2.4.0: - resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} - - /v8-to-istanbul@9.1.0: - resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + /v8-to-istanbul@9.1.3: + resolution: {integrity: sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.19 - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 + '@jridgewell/trace-mapping': 0.3.20 + '@types/istanbul-lib-coverage': 2.0.5 + convert-source-map: 2.0.0 dev: true /validate-npm-package-license@3.0.4: @@ -13332,7 +13829,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: builtins: 5.0.1 - dev: true /validator@13.11.0: resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} @@ -13349,7 +13845,7 @@ packages: dependencies: cac: 6.7.14 debug: 4.3.4 - mlly: 1.4.0 + mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 vite: 4.3.9(@types/node@18.14.2)(less@4.1.3)(stylus@0.59.0) @@ -13369,10 +13865,10 @@ packages: peerDependencies: vite: '>=2.9.0' dependencies: - '@babel/parser': 7.22.10 - '@microsoft/api-extractor': 7.36.4(@types/node@18.14.2) - '@rollup/pluginutils': 5.0.3 - '@rushstack/node-core-library': 3.59.7(@types/node@18.14.2) + '@babel/parser': 7.23.0 + '@microsoft/api-extractor': 7.38.0(@types/node@18.14.2) + '@rollup/pluginutils': 5.0.5 + '@rushstack/node-core-library': 3.61.0(@types/node@18.14.2) debug: 4.3.4 fast-glob: 3.3.1 fs-extra: 10.1.0 @@ -13386,8 +13882,8 @@ packages: - supports-color dev: true - /vite-tsconfig-paths@4.2.0(typescript@5.1.6)(vite@4.3.9): - resolution: {integrity: sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==} + /vite-tsconfig-paths@4.2.1(typescript@5.1.6)(vite@4.3.9): + resolution: {integrity: sha512-GNUI6ZgPqT3oervkvzU+qtys83+75N/OuDaQl7HmOqFTb0pjZsuARrRipsyJhJ3enqV8beI1xhGbToR4o78nSQ==} peerDependencies: vite: '*' peerDependenciesMeta: @@ -13431,14 +13927,14 @@ packages: '@types/node': 18.14.2 esbuild: 0.17.19 less: 4.1.3 - postcss: 8.4.28 - rollup: 3.28.0 + postcss: 8.4.31 + rollup: 3.29.4 stylus: 0.59.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /vitest@0.32.4(@vitest/ui@0.32.4)(less@4.1.3)(stylus@0.59.0): + /vitest@0.32.4(@vitest/ui@0.32.4)(jsdom@22.1.0)(less@4.1.3)(stylus@0.59.0): resolution: {integrity: sha512-3czFm8RnrsWwIzVDu/Ca48Y/M+qh3vOnF16czJm98Q/AN1y3B6PBsyV8Re91Ty5s7txKNjEhpgtGPcfdbh2MZg==} engines: {node: '>=v14.18.0'} hasBin: true @@ -13469,8 +13965,8 @@ packages: webdriverio: optional: true dependencies: - '@types/chai': 4.3.5 - '@types/chai-subset': 1.3.3 + '@types/chai': 4.3.9 + '@types/chai-subset': 1.3.4 '@types/node': 18.14.2 '@vitest/expect': 0.32.4 '@vitest/runner': 0.32.4 @@ -13481,15 +13977,16 @@ packages: acorn: 8.10.0 acorn-walk: 8.2.0 cac: 6.7.14 - chai: 4.3.7 + chai: 4.3.10 debug: 4.3.4 + jsdom: 22.1.0 local-pkg: 0.4.3 - magic-string: 0.30.2 + magic-string: 0.30.5 pathe: 1.1.1 picocolors: 1.0.0 - std-env: 3.4.0 + std-env: 3.4.3 strip-literal: 1.3.0 - tinybench: 2.5.0 + tinybench: 2.5.1 tinypool: 0.5.0 vite: 4.3.9(@types/node@18.14.2)(less@4.1.3)(stylus@0.59.0) vite-node: 0.32.4(@types/node@18.14.2)(less@4.1.3)(stylus@0.59.0) @@ -13533,7 +14030,6 @@ packages: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 - dev: true /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -13543,7 +14039,7 @@ packages: engines: {node: '>=12'} dev: true - /webpack-dev-middleware@5.3.3(webpack@5.88.2): + /webpack-dev-middleware@5.3.3(webpack@5.89.0): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -13554,10 +14050,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) dev: true - /webpack-dev-server@4.15.1(webpack@5.88.2): + /webpack-dev-server@4.15.1(webpack@5.89.0): resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} engines: {node: '>= 12.13.0'} hasBin: true @@ -13570,13 +14066,13 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.5.0 - '@types/express': 4.17.17 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.2 - '@types/sockjs': 0.3.33 - '@types/ws': 8.5.5 + '@types/bonjour': 3.5.12 + '@types/connect-history-api-fallback': 1.5.2 + '@types/express': 4.17.20 + '@types/serve-index': 1.9.3 + '@types/serve-static': 1.15.4 + '@types/sockjs': 0.3.35 + '@types/ws': 8.5.8 ansi-html-community: 0.0.8 bonjour-service: 1.1.1 chokidar: 3.5.3 @@ -13587,9 +14083,9 @@ packages: express: 4.18.2 graceful-fs: 4.2.11 html-entities: 2.4.0 - http-proxy-middleware: 2.0.6(@types/express@4.17.17) + http-proxy-middleware: 2.0.6(@types/express@4.17.20) ipaddr.js: 2.1.0 - launch-editor: 2.6.0 + launch-editor: 2.6.1 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 @@ -13598,9 +14094,9 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.88.2(@swc/core@1.3.78) - webpack-dev-middleware: 5.3.3(webpack@5.88.2) - ws: 8.13.0 + webpack: 5.89.0(@swc/core@1.3.93) + webpack-dev-middleware: 5.3.3(webpack@5.89.0) + ws: 8.14.2 transitivePeerDependencies: - bufferutil - debug @@ -13608,11 +14104,12 @@ packages: - utf-8-validate dev: true - /webpack-merge@5.9.0: - resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==} + /webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} engines: {node: '>=10.0.0'} dependencies: clone-deep: 4.0.1 + flat: 5.0.2 wildcard: 2.0.1 dev: false @@ -13625,7 +14122,7 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - /webpack-subresource-integrity@5.1.0(webpack@5.88.2): + /webpack-subresource-integrity@5.1.0(webpack@5.89.0): resolution: {integrity: sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==} engines: {node: '>= 12'} peerDependencies: @@ -13636,11 +14133,15 @@ packages: optional: true dependencies: typed-assert: 1.0.9 - webpack: 5.88.2(@swc/core@1.3.78) + webpack: 5.89.0(@swc/core@1.3.93) + dev: true + + /webpack-virtual-modules@0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} dev: true - /webpack@5.88.2(@swc/core@1.3.78): - resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} + /webpack@5.89.0(@swc/core@1.3.93): + resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -13649,17 +14150,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 1.0.1 + '@types/eslint-scope': 3.7.6 + '@types/estree': 1.0.3 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.10.0 acorn-import-assertions: 1.9.0(acorn@8.10.0) - browserslist: 4.21.10 + browserslist: 4.22.1 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 - es-module-lexer: 1.3.0 + es-module-lexer: 1.3.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -13670,7 +14171,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(@swc/core@1.3.78)(webpack@5.88.2) + terser-webpack-plugin: 5.3.9(@swc/core@1.3.93)(webpack@5.89.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -13711,6 +14212,14 @@ packages: webidl-conversions: 7.0.0 dev: true + /whatwg-url@12.0.1: + resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} + engines: {node: '>=14'} + dependencies: + tr46: 4.1.1 + webidl-conversions: 7.0.0 + dev: true + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -13866,8 +14375,8 @@ packages: write-json-file: 3.2.0 dev: true - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -13951,7 +14460,6 @@ packages: /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - dev: true /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} @@ -13970,6 +14478,19 @@ packages: commander: 9.5.0 dev: true + /zod-validation-error@1.5.0(zod@3.22.4): + resolution: {integrity: sha512-/7eFkAI4qV0tcxMBB/3+d2c1P6jzzZYdYSlBuAklzMuCrJu5bzJfHS0yVAS87dRHVlhftd6RFJDIvv03JgkSbw==} + engines: {node: '>=16.0.0'} + peerDependencies: + zod: ^3.18.0 + dependencies: + zod: 3.22.4 + dev: false + /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false diff --git a/tsconfig.base.json b/tsconfig.base.json index da4ef8c..ec608a5 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -9,22 +9,22 @@ "experimentalDecorators": true, "resolveJsonModule": true, "importHelpers": true, - "target": "es2015", + "target": "es2022", "module": "esnext", - "lib": ["es2020", "dom"], + "lib": ["es2023", "dom"], "skipLibCheck": true, "skipDefaultLibCheck": true, "baseUrl": ".", "useUnknownInCatchVariables": true, + "esModuleInterop": true, "paths": { "@clinicControl/core-rest-api/adapters/src/*": [ "libs/core-rest-api/adapters/src/*" ], - "@clinicControl/core-rest-api/core/src/*": [ - "libs/core-rest-api/core/src/*" - ], + "@clinicControl/core-rest-api/core/src/*": ["libs/core-rest-api/core/src/*"], "@clinicControl/root/*": ["./*"] } }, - "exclude": ["node_modules", "tmp"] + "exclude": ["node_modules", "tmp"], + "types": ["vitest/globals"] }